markerlist: implement GESMarkerList
[platform/upstream/gst-editing-services.git] / ges / Makefile.am
1 built_header_make =
2 built_source_make =
3
4 lib_LTLIBRARIES = libges-@GST_API_VERSION@.la
5
6
7 EXTRA_libges_@GST_API_VERSION@_la_SOURCES = gesmarshal.list
8
9 EXTRA_DIST=parse.l
10
11 CLEANFILES = $(BUILT_SOURCES) $(built_header_make) $(built_source_make) *.gcno *.gcda *.gcov *.gcov.out
12
13 nodist_libges_@GST_API_VERSION@_la_SOURCES = lex.priv_ges_parse_yy.c ges-parse-lex.h
14
15
16 libges_@GST_API_VERSION@_la_SOURCES =           \
17         $(built_source_make)                    \
18         ges.c                                   \
19         ges-enums.c                             \
20         ges-meta-container.c        \
21         ges-timeline.c                          \
22         ges-layer.c                     \
23         ges-clip.c                      \
24         ges-pipeline.c                  \
25         ges-source-clip.c                       \
26         ges-base-effect-clip.c          \
27         ges-effect-clip.c               \
28         ges-uri-clip.c          \
29         ges-operation-clip.c            \
30         ges-base-transition-clip.c              \
31         ges-transition-clip.c   \
32         ges-test-clip.c         \
33         ges-title-clip.c                \
34         ges-overlay-clip.c                      \
35         ges-text-overlay-clip.c         \
36         ges-track.c                             \
37         ges-audio-track.c \
38         ges-video-track.c \
39         ges-track-element.c                     \
40         ges-source.c                    \
41         ges-operation.c                 \
42         ges-video-source.c \
43         ges-audio-source.c \
44         ges-video-uri-source.c                  \
45         ges-audio-uri-source.c  \
46         ges-image-source.c              \
47         ges-multi-file-source.c         \
48         ges-transition.c                        \
49         ges-audio-transition.c          \
50         ges-video-transition.c          \
51         ges-video-test-source.c         \
52         ges-audio-test-source.c         \
53         ges-title-source.c              \
54         ges-text-overlay.c              \
55         ges-base-effect.c               \
56         ges-effect.c            \
57         ges-screenshot.c                        \
58         ges-formatter.c                         \
59         ges-pitivi-formatter.c                  \
60         ges-asset.c \
61         ges-uri-asset.c \
62         ges-clip-asset.c \
63         ges-track-element-asset.c \
64         ges-extractable.c \
65         ges-project.c \
66         ges-base-xml-formatter.c \
67         ges-xml-formatter.c \
68         ges-command-line-formatter.c \
69         ges-auto-transition.c \
70         ges-timeline-element.c \
71         ges-timeline-tree.c \
72         ges-container.c \
73         ges-effect-asset.c \
74         ges-smart-adder.c \
75         ges-smart-video-mixer.c \
76         ges-utils.c \
77         ges-group.c \
78         ges-validate.c \
79         ges-structured-interface.c \
80         ges-structure-parser.c \
81         ges-marker-list.c \
82         gstframepositioner.c
83
84 libges_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/ges/
85 libges_@GST_API_VERSION@include_HEADERS =       \
86         $(built_header_make)                    \
87         ges-types.h                             \
88         ges.h                                   \
89         ges-prelude.h                           \
90         ges-enums.h                             \
91         ges-gerror.h                            \
92         ges-meta-container.h        \
93         ges-timeline.h                          \
94         ges-layer.h                     \
95         ges-clip.h                      \
96         ges-pipeline.h                  \
97         ges-source-clip.h                       \
98         ges-uri-clip.h          \
99         ges-base-effect-clip.h          \
100         ges-effect-clip.h               \
101         ges-operation-clip.h            \
102         ges-base-transition-clip.h              \
103         ges-transition-clip.h   \
104         ges-test-clip.h         \
105         ges-title-clip.h                \
106         ges-overlay-clip.h                      \
107         ges-text-overlay-clip.h         \
108         ges-base-effect.h               \
109         ges-effect.h            \
110         ges-track.h                             \
111         ges-audio-track.h \
112         ges-video-track.h \
113         ges-track-element.h                     \
114         ges-source.h                    \
115         ges-operation.h                 \
116         ges-video-source.h \
117         ges-audio-source.h \
118         ges-video-uri-source.h                  \
119         ges-audio-uri-source.h                  \
120         ges-image-source.h              \
121         ges-multi-file-source.h         \
122         ges-transition.h                        \
123         ges-audio-transition.h          \
124         ges-video-transition.h          \
125         ges-video-test-source.h         \
126         ges-audio-test-source.h         \
127         ges-title-source.h              \
128         ges-text-overlay.h              \
129         ges-screenshot.h                        \
130         ges-formatter.h                         \
131         ges-pitivi-formatter.h                  \
132         ges-asset.h \
133         ges-uri-asset.h \
134         ges-clip-asset.h \
135         ges-track-element-asset.h \
136         ges-extractable.h \
137         ges-project.h \
138         ges-base-xml-formatter.h \
139         ges-xml-formatter.h \
140         ges-command-line-formatter.h \
141         ges-timeline-element.h \
142         ges-container.h \
143         ges-effect-asset.h \
144         ges-utils.h \
145         ges-group.h \
146         ges-marker-list.h \
147         ges-version.h
148
149 noinst_HEADERS = \
150         ges-internal.h \
151         ges-auto-transition.h \
152         ges-structured-interface.h \
153         ges-structure-parser.h \
154         ges-smart-video-mixer.h \
155         ges-smart-adder.h \
156         ges-timeline-tree.h \
157         gstframepositioner.h
158
159 libges_@GST_API_VERSION@_la_CFLAGS = -I$(top_srcdir) $(GST_PBUTILS_CFLAGS) \
160                 $(GST_VIDEO_CFLAGS) $(GST_CONTROLLER_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
161                 $(GST_CFLAGS) $(XML_CFLAGS) $(GIO_CFLAGS) $(GST_VALIDATE_CFLAGS) \
162                 -DG_LOG_DOMAIN=\"GES\" -DBUILDING_GES
163 libges_@GST_API_VERSION@_la_LIBADD = $(GST_PBUTILS_LIBS) \
164                 $(GST_VIDEO_LIBS) $(GST_CONTROLLER_LIBS) $(GST_PLUGINS_BASE_LIBS) \
165                 $(GST_BASE_LIBS) $(GST_LIBS) $(XML_LIBS) $(GIO_LIBS) $(GST_VALIDATE_LIBS)
166 libges_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) \
167                 $(GST_LT_LDFLAGS) $(GIO_CFLAGS) $(GST_VALIDATE_CFLAGS)
168
169 DISTCLEANFILE = $(CLEANFILES)
170
171 #files built on make all/check/instal
172 BUILT_SOURCES =                 \
173         $(built_header_make)    \
174         $(built_source_make)    \
175         lex.priv_ges_parse_yy.c \
176         ges-parse-lex.h
177
178 include $(top_srcdir)/common/gst-glib-gen.mak
179
180 if HAVE_INTROSPECTION
181 BUILT_GIRSOURCES = GES-@GST_API_VERSION@.gir
182
183 gir_headers_temp=$(patsubst %,$(srcdir)/%, $(libges_@GST_API_VERSION@include_HEADERS))
184 gir_headers=$(subst $(srcdir)/ges-version.h,$(builddir)/ges-version.h,$(gir_headers_temp))
185 gir_sources=$(patsubst %,$(srcdir)/%, $(libges_@GST_API_VERSION@_la_SOURCES))
186
187 GES-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libges-@GST_API_VERSION@.la
188         $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
189                 CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
190                 $(INTROSPECTION_SCANNER) -v --namespace GES \
191                 --nsversion=@GST_API_VERSION@ \
192                 --identifier-prefix=GES \
193                 --symbol-prefix=ges \
194                 --warn-all \
195                 --c-include='ges/ges.h' \
196                 -I$(top_srcdir) \
197                 -I$(top_builddir) \
198                 --add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
199                 --add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-pbutils-@GST_API_VERSION@` \
200                 --add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-audio-@GST_API_VERSION@` \
201                 --add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \
202                 --add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-tag-@GST_API_VERSION@` \
203                 --add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
204                 --add-include-path=`$(PKG_CONFIG) --variable=girdir gio-2.0` \
205                 --library=libges-@GST_API_VERSION@.la \
206                 --include=Gst-@GST_API_VERSION@ \
207                 --include=GstVideo-@GST_API_VERSION@ \
208                 --include=GstPbutils-@GST_API_VERSION@ \
209                 --include=Gio-2.0 \
210                 --libtool="$(top_builddir)/libtool" \
211                 --pkg gstreamer-@GST_API_VERSION@ \
212                 --pkg gstreamer-pbutils-@GST_API_VERSION@ \
213                 --pkg gstreamer-controller-@GST_API_VERSION@ \
214                 --pkg gio-2.0 \
215                 --pkg-export gst-editing-services-@GST_API_VERSION@ \
216                 --add-init-section="$(INTROSPECTION_INIT)" \
217                 --add-init-section="extern gboolean ges_init(void); ges_init();" \
218                 --output $@ \
219                 $(gir_headers) \
220                 $(gir_sources)
221
222 # INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
223 # install anything - we need to install inside our prefix.
224 girdir = $(datadir)/gir-1.0
225 gir_DATA = $(BUILT_GIRSOURCES)
226
227 typelibsdir = $(libdir)/girepository-1.0/
228
229 typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
230
231 %.typelib: %.gir $(INTROSPECTION_COMPILER)
232         $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
233                 $(INTROSPECTION_COMPILER) \
234                 --includedir=$(srcdir) \
235                 --includedir=$(srcdir)/../video \
236                 --includedir=$(builddir) \
237                 --includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
238                 --includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-pbutils-@GST_API_VERSION@` \
239                 --includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-audio-@GST_API_VERSION@` \
240                 --includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \
241                 --includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-tag-@GST_API_VERSION@` \
242                 --includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
243                 --includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-controller-@GST_API_VERSION@` \
244                 --includedir=`$(PKG_CONFIG) --variable=girdir gio-2.0` \
245                 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
246
247 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
248 endif
249
250 %.c.gcov: .libs/libges_@GST_API_VERSION@_la-%.gcda %.c
251         $(GCOV) -b -f -o $^ > $@.out
252
253 gcov: $(libges_@GST_API_VERSION@_la_SOURCES:=.gcov)
254
255 lex.priv_ges_parse_yy.c ges-parse-lex.h: parse.l
256         $(AM_V_GEN)$(FLEX_PATH) --header-file=ges-parse-lex.h -Ppriv_ges_parse_yy $^