ges: Add an internal GstStructure based interface
[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 CLEANFILES = $(BUILT_SOURCES) $(built_header_make) $(built_source_make) *.gcno *.gcda *.gcov *.gcov.out
10
11 libges_@GST_API_VERSION@_la_SOURCES =           \
12         $(built_source_make)                    \
13         nle/nleobject.c         \
14         nle/nlecomposition.c    \
15         nle/nleghostpad.c               \
16         nle/nleoperation.c              \
17         nle/nlesource.c         \
18         nle/nleurisource.c  \
19         ges.c                                   \
20         ges-enums.c                             \
21         ges-meta-container.c        \
22         ges-timeline.c                          \
23         ges-layer.c                     \
24         ges-clip.c                      \
25         ges-pipeline.c                  \
26         ges-source-clip.c                       \
27         ges-base-effect-clip.c          \
28         ges-effect-clip.c               \
29         ges-uri-clip.c          \
30         ges-operation-clip.c            \
31         ges-base-transition-clip.c              \
32         ges-transition-clip.c   \
33         ges-test-clip.c         \
34         ges-title-clip.c                \
35         ges-overlay-clip.c                      \
36         ges-text-overlay-clip.c         \
37         ges-track.c                             \
38         ges-audio-track.c \
39         ges-video-track.c \
40         ges-track-element.c                     \
41         ges-source.c                    \
42         ges-operation.c                 \
43         ges-video-source.c \
44         ges-audio-source.c \
45         ges-video-uri-source.c                  \
46         ges-audio-uri-source.c  \
47         ges-image-source.c              \
48         ges-multi-file-source.c         \
49         ges-transition.c                        \
50         ges-audio-transition.c          \
51         ges-video-transition.c          \
52         ges-video-test-source.c         \
53         ges-audio-test-source.c         \
54         ges-title-source.c              \
55         ges-text-overlay.c              \
56         ges-base-effect.c               \
57         ges-effect.c            \
58         ges-screenshot.c                        \
59         ges-formatter.c                         \
60         ges-pitivi-formatter.c                  \
61         ges-asset.c \
62         ges-uri-asset.c \
63         ges-clip-asset.c \
64         ges-track-element-asset.c \
65         ges-extractable.c \
66         ges-project.c \
67         ges-base-xml-formatter.c \
68         ges-xml-formatter.c \
69         ges-auto-transition.c \
70         ges-timeline-element.c \
71         ges-container.c \
72         ges-effect-asset.c \
73         ges-smart-adder.c \
74         ges-smart-video-mixer.c \
75         ges-utils.c \
76         ges-group.c \
77         ges-validate.c \
78         ges-structured-interface.c \
79         gstframepositionner.c
80
81 libges_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/ges/
82 libges_@GST_API_VERSION@include_HEADERS =       \
83         $(built_header_make)                    \
84         ges-types.h                             \
85         ges.h                                   \
86         ges-enums.h                             \
87         ges-gerror.h                            \
88         ges-meta-container.h        \
89         ges-timeline.h                          \
90         ges-layer.h                     \
91         ges-clip.h                      \
92         ges-pipeline.h                  \
93         ges-source-clip.h                       \
94         ges-uri-clip.h          \
95         ges-base-effect-clip.h          \
96         ges-effect-clip.h               \
97         ges-operation-clip.h            \
98         ges-base-transition-clip.h              \
99         ges-transition-clip.h   \
100         ges-test-clip.h         \
101         ges-title-clip.h                \
102         ges-overlay-clip.h                      \
103         ges-text-overlay-clip.h         \
104         ges-base-effect.h               \
105         ges-effect.h            \
106         ges-track.h                             \
107         ges-audio-track.h \
108         ges-video-track.h \
109         ges-track-element.h                     \
110         ges-source.h                    \
111         ges-operation.h                 \
112         ges-video-source.h \
113         ges-audio-source.h \
114         ges-video-uri-source.h                  \
115         ges-audio-uri-source.h                  \
116         ges-image-source.h              \
117         ges-multi-file-source.h         \
118         ges-transition.h                        \
119         ges-audio-transition.h          \
120         ges-video-transition.h          \
121         ges-video-test-source.h         \
122         ges-audio-test-source.h         \
123         ges-title-source.h              \
124         ges-text-overlay.h              \
125         ges-screenshot.h                        \
126         ges-formatter.h                         \
127         ges-pitivi-formatter.h                  \
128         ges-asset.h \
129         ges-uri-asset.h \
130         ges-clip-asset.h \
131         ges-track-element-asset.h \
132         ges-extractable.h \
133         ges-project.h \
134         ges-base-xml-formatter.h \
135         ges-xml-formatter.h \
136         ges-timeline-element.h \
137         ges-container.h \
138         ges-effect-asset.h \
139         ges-smart-adder.h \
140         ges-smart-video-mixer.h \
141         ges-utils.h \
142         ges-group.h \
143         ges-version.h
144
145 noinst_HEADERS = \
146         nle/nle.h                       \
147         nle/nleobject.h         \
148         nle/nlecomposition.h    \
149         nle/nletypes.h          \
150         nle/nleghostpad.h               \
151         nle/nleoperation.h              \
152         nle/nlesource.h         \
153         nle/nletypes.h          \
154         nle/nleurisource.h \
155         ges-internal.h \
156         ges-auto-transition.h \
157         ges-structured-interface.h \
158         gstframepositionner.h
159
160 libges_@GST_API_VERSION@_la_CFLAGS = -I$(top_srcdir) $(GST_PBUTILS_CFLAGS) \
161                 $(GST_VIDEO_CFLAGS) $(GST_CONTROLLER_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
162                 $(GST_CFLAGS) $(XML_CFLAGS) $(GIO_CFLAGS) $(GST_VALIDATE_CFLAGS)
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
176 include $(top_srcdir)/common/gst-glib-gen.mak
177
178 if HAVE_INTROSPECTION
179 BUILT_GIRSOURCES = GES-@GST_API_VERSION@.gir
180
181 gir_headers=$(patsubst %,$(srcdir)/%, $(libges_@GST_API_VERSION@include_HEADERS))
182 gir_headers+=$(patsubst %,$(builddir)/%, $(nodist_libges_@GST_API_VERSION@include_HEADERS))
183 gir_sources=$(patsubst %,$(srcdir)/%, $(libges_@GST_API_VERSION@_la_SOURCES))
184 gir_sources+=$(patsubst %,$(builddir)/%, $(nodist_libges_@GST_API_VERSION@_la_SOURCES))
185 gir_cincludes=$(patsubst %,--c-include='ges/%',$(libges_@GST_API_VERSION@include_HEADERS))
186 gir_cincludes+=$(patsubst %,--c-include='ges/%',$(nodist_libges_@GST_API_VERSION@include_HEADERS))
187
188 GES-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libges-@GST_API_VERSION@.la
189         $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
190                 $(INTROSPECTION_SCANNER) -v --namespace GES \
191                 --nsversion=@GST_API_VERSION@ \
192                 --identifier-prefix=GES \
193                 --symbol-prefix=ges \
194                 --warn-all \
195                 $(gir_cincludes) \
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 ges-@GST_API_VERSION@ \
216                 --add-init-section="gst_init(NULL, NULL);" \
217                 --add-init-section="ges_init(NULL, NULL);" \
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 Android.mk: Makefile.am $(BUILT_SOURCES)
256         androgenizer -:PROJECT libges -:SHARED libges-@GST_API_VERSION@ \
257          -:TAGS eng debug \
258          -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
259          -:SOURCES $(libges_@GST_API_VERSION@_la_SOURCES) \
260                    $(nodist_libges_@GST_API_VERSION@_la_SOURCES) \
261          -:CFLAGS $(DEFS) $(libges_@GST_API_VERSION@_la_CFLAGS) \
262          -:LDFLAGS $(libges_@GST_API_VERSION@_la_LDFLAGS) \
263                    $(libges_@GST_API_VERSION@_la_LIBADD) \
264                    -ldl \
265          -:HEADER_TARGET gstreamer-@GST_API_VERSION@/gst/interfaces \
266          -:HEADERS $(libges_@GST_API_VERSION@include_HEADERS) \
267                    $(nodist_libges_@GST_API_VERSION@include_HEADERS) \
268          -:PASSTHROUGH LOCAL_ARM_MODE:=arm \
269         > $@