a8ccd6fe8a7c4f9a4db6aca6ee332ed84bbf5b2e
[platform/upstream/gstreamer-vaapi.git] / gst-libs / gst / vaapi / Makefile.am
1 lib_LTLIBRARIES = libgstvaapi-@GST_API_VERSION@.la
2
3 if USE_DRM
4 lib_LTLIBRARIES += libgstvaapi-drm-@GST_API_VERSION@.la
5 endif
6
7 if USE_X11
8 lib_LTLIBRARIES += libgstvaapi-x11-@GST_API_VERSION@.la
9 endif
10
11 if USE_GLX
12 lib_LTLIBRARIES += libgstvaapi-glx-@GST_API_VERSION@.la
13 endif
14
15 if USE_WAYLAND
16 lib_LTLIBRARIES += libgstvaapi-wayland-@GST_API_VERSION@.la
17 endif
18
19 libgstvaapi_includedir = \
20         $(includedir)/gstreamer-$(GST_API_VERSION)/gst/vaapi
21
22 libgstvaapi_cflags =                            \
23         -DGST_VAAPI_CORE                        \
24         -DGST_USE_UNSTABLE_API                  \
25         -I$(top_srcdir)/gst-libs                \
26         -I$(top_builddir)/gst-libs              \
27         $(GST_BASE_CFLAGS)                      \
28         $(GST_BASEVIDEO_CFLAGS)                 \
29         $(GST_VIDEO_CFLAGS)                     \
30         $(GST_CFLAGS)                           \
31         $(GST_CODEC_PARSERS_CFLAGS)             \
32         $(LIBVA_CFLAGS)                         \
33         $(NULL)
34
35 libgstvaapi_libs =                              \
36         $(GST_BASE_LIBS)                        \
37         $(GST_BASEVIDEO_LIBS)                   \
38         $(GST_LIBS)                             \
39         $(GST_VIDEO_LIBS)                       \
40         $(GST_CODEC_PARSERS_LIBS)               \
41         $(LIBVA_LIBS)                           \
42         $(top_builddir)/gst-libs/gst/video/libgstvaapi-videoutils.la \
43         $(top_builddir)/gst-libs/gst/codecparsers/libgstvaapi-codecparsers.la
44
45 libgstvaapi_source_c =                          \
46         gstvaapicodec_objects.c                 \
47         gstvaapicontext.c                       \
48         gstvaapidecoder.c                       \
49         gstvaapidecoder_dpb.c                   \
50         gstvaapidecoder_h264.c                  \
51         gstvaapidecoder_mpeg2.c                 \
52         gstvaapidecoder_mpeg4.c                 \
53         gstvaapidecoder_objects.c               \
54         gstvaapidecoder_unit.c                  \
55         gstvaapidecoder_vc1.c                   \
56         gstvaapidisplay.c                       \
57         gstvaapidisplaycache.c                  \
58         gstvaapiimage.c                         \
59         gstvaapiimagepool.c                     \
60         gstvaapiminiobject.c                    \
61         gstvaapiobject.c                        \
62         gstvaapiparser_frame.c                  \
63         gstvaapipixmap.c                        \
64         gstvaapiprofile.c                       \
65         gstvaapisubpicture.c                    \
66         gstvaapisurface.c                       \
67         gstvaapisurfacepool.c                   \
68         gstvaapisurfaceproxy.c                  \
69         gstvaapiutils.c                         \
70         gstvaapivalue.c                         \
71         gstvaapivideopool.c                     \
72         gstvaapiwindow.c                        \
73         video-format.c                          \
74         $(NULL)
75
76 libgstvaapi_source_h =                          \
77         gstvaapicontext.h                       \
78         gstvaapidecoder.h                       \
79         gstvaapidecoder_h264.h                  \
80         gstvaapidecoder_mpeg2.h                 \
81         gstvaapidecoder_mpeg4.h                 \
82         gstvaapidecoder_vc1.h                   \
83         gstvaapidisplay.h                       \
84         gstvaapidisplaycache.h                  \
85         gstvaapiimage.h                         \
86         gstvaapiimagepool.h                     \
87         gstvaapiobject.h                        \
88         gstvaapipixmap.h                        \
89         gstvaapiprofile.h                       \
90         gstvaapisubpicture.h                    \
91         gstvaapisurface.h                       \
92         gstvaapisurfacepool.h                   \
93         gstvaapisurfaceproxy.h                  \
94         gstvaapitypes.h                         \
95         gstvaapivalue.h                         \
96         gstvaapivideopool.h                     \
97         gstvaapiwindow.h                        \
98         video-format.h                          \
99         $(NULL)
100
101 libgstvaapi_source_priv_h =                     \
102         glibcompat.h                            \
103         gstcompat.h                             \
104         gstvaapicodec_objects.h                 \
105         gstvaapicompat.h                        \
106         gstvaapidebug.h                         \
107         gstvaapidecoder_dpb.h                   \
108         gstvaapidecoder_objects.h               \
109         gstvaapidecoder_priv.h                  \
110         gstvaapidecoder_unit.h                  \
111         gstvaapidisplay_priv.h                  \
112         gstvaapiimage_priv.h                    \
113         gstvaapiminiobject.h                    \
114         gstvaapiobject_priv.h                   \
115         gstvaapiparser_frame.h                  \
116         gstvaapipixmap_priv.h                   \
117         gstvaapisurface_priv.h                  \
118         gstvaapisurfaceproxy_priv.h             \
119         gstvaapiutils.h                         \
120         gstvaapiversion.h                       \
121         gstvaapivideopool_priv.h                \
122         gstvaapiwindow_priv.h                   \
123         gstvaapiworkarounds.h                   \
124         sysdeps.h                               \
125         $(NULL)
126
127 libgstvaapi_jpegdec_source_c = gstvaapidecoder_jpeg.c
128 libgstvaapi_jpegdec_source_h = gstvaapidecoder_jpeg.h
129 if USE_JPEG_DECODER
130 libgstvaapi_source_c += $(libgstvaapi_jpegdec_source_c)
131 libgstvaapi_source_h += $(libgstvaapi_jpegdec_source_h)
132 endif
133
134 libgstvaapi_drm_source_c =                      \
135         gstvaapidisplay_drm.c                   \
136         gstvaapiwindow_drm.c                    \
137         gstvaapiutils.c                         \
138         $(NULL)
139
140 libgstvaapi_drm_source_h =                      \
141         gstvaapidisplay_drm.h                   \
142         gstvaapiwindow_drm.h                    \
143         $(NULL)
144
145 libgstvaapi_drm_source_priv_h =                 \
146         gstvaapicompat.h                        \
147         gstvaapidisplay_drm_priv.h              \
148         gstvaapiutils.h                         \
149         $(NULL)
150
151 libgstvaapi_x11_source_c =                      \
152         gstvaapidisplay_x11.c                   \
153         gstvaapipixmap_x11.c                    \
154         gstvaapiutils.c                         \
155         gstvaapiutils_x11.c                     \
156         gstvaapiwindow_x11.c                    \
157         $(NULL)
158
159 libgstvaapi_x11_source_h =                      \
160         gstvaapidisplay_x11.h                   \
161         gstvaapipixmap_x11.h                    \
162         gstvaapiwindow_x11.h                    \
163         $(NULL)
164
165 libgstvaapi_x11_source_priv_h =                 \
166         gstvaapicompat.h                        \
167         gstvaapidisplay_x11_priv.h              \
168         gstvaapiutils.h                         \
169         gstvaapiutils_x11.h                     \
170         gstvaapiwindow_x11_priv.h               \
171         $(NULL)
172
173 libgstvaapi_glx_source_c =                      \
174         gstvaapidisplay_glx.c                   \
175         gstvaapitexture.c                       \
176         gstvaapiutils.c                         \
177         gstvaapiutils_glx.c                     \
178         gstvaapiutils_x11.c                     \
179         gstvaapiwindow_glx.c                    \
180         $(NULL)
181
182 libgstvaapi_glx_source_h =                      \
183         gstvaapidisplay_glx.h                   \
184         gstvaapitexture.h                       \
185         gstvaapiwindow_glx.h                    \
186         $(NULL)
187
188 libgstvaapi_glx_source_priv_h =                 \
189         gstvaapicompat.h                        \
190         gstvaapidisplay_glx_priv.h              \
191         gstvaapiutils.h                         \
192         gstvaapiutils_glx.h                     \
193         gstvaapiutils_x11.h                     \
194         $(NULL)
195
196 libgstvaapi_wayland_source_c =                  \
197         gstvaapidisplay_wayland.c               \
198         gstvaapiutils.c                         \
199         gstvaapiwindow_wayland.c                \
200         $(NULL)
201
202 libgstvaapi_wayland_source_h =                  \
203         gstvaapidisplay_wayland.h               \
204         gstvaapiwindow_wayland.h                \
205         $(NULL)
206
207 libgstvaapi_wayland_source_priv_h =             \
208         gstvaapicompat.h                        \
209         gstvaapidisplay_wayland_priv.h          \
210         gstvaapiutils.h                         \
211         $(NULL)
212
213 libgstvaapi_@GST_API_VERSION@_la_SOURCES =      \
214         $(libgstvaapi_source_c)                 \
215         $(libgstvaapi_source_priv_h)            \
216         $(NULL)
217
218 libgstvaapi_@GST_API_VERSION@include_HEADERS =  \
219         $(libgstvaapi_source_h)                 \
220         $(NULL)
221
222 libgstvaapi_@GST_API_VERSION@includedir =       \
223         $(libgstvaapi_includedir)
224
225 libgstvaapi_@GST_API_VERSION@_la_CFLAGS =       \
226         $(libgstvaapi_cflags)                   \
227         $(NULL)
228
229 libgstvaapi_@GST_API_VERSION@_la_LIBADD =       \
230         $(libgstvaapi_libs)                     \
231         $(NULL)
232
233 libgstvaapi_@GST_API_VERSION@_la_LDFLAGS =      \
234         $(GST_ALL_LDFLAGS)                      \
235         $(GST_VAAPI_LT_LDFLAGS)                 \
236         -export-symbols-regex "^gst_.*vaapi.*"  \
237         $(NULL)
238
239 libgstvaapi_drm_@GST_API_VERSION@_la_SOURCES =  \
240         $(libgstvaapi_drm_source_c)             \
241         $(libgstvaapi_drm_source_priv_h)        \
242         $(NULL)
243
244 libgstvaapi_drm_@GST_API_VERSION@include_HEADERS = \
245         $(libgstvaapi_drm_source_h)             \
246         $(NULL)
247
248 libgstvaapi_drm_@GST_API_VERSION@includedir =   \
249         $(libgstvaapi_includedir)
250
251 libgstvaapi_drm_@GST_API_VERSION@_la_CFLAGS =   \
252         -DGST_USE_UNSTABLE_API                  \
253         -I$(top_srcdir)/gst-libs                \
254         $(GLIB_CFLAGS)                          \
255         $(GST_BASE_CFLAGS)                      \
256         $(UDEV_CFLAGS)                          \
257         $(DRM_CFLAGS)                           \
258         $(LIBVA_DRM_CFLAGS)                     \
259         $(NULL)
260
261 libgstvaapi_drm_@GST_API_VERSION@_la_LIBADD =   \
262         $(GLIB_LIBS)                            \
263         $(UDEV_LIBS)                            \
264         $(DRM_LIBS)                             \
265         $(LIBVA_DRM_LIBS)                       \
266         libgstvaapi-$(GST_API_VERSION).la       \
267         $(NULL)
268
269 libgstvaapi_drm_@GST_API_VERSION@_la_LDFLAGS =  \
270         $(GST_ALL_LDFLAGS)                      \
271         $(GST_VAAPI_LT_LDFLAGS)                 \
272         $(NULL)
273
274 libgstvaapi_x11_@GST_API_VERSION@_la_SOURCES =  \
275         $(libgstvaapi_x11_source_c)             \
276         $(libgstvaapi_x11_source_priv_h)        \
277         $(NULL)
278
279 libgstvaapi_x11_@GST_API_VERSION@include_HEADERS = \
280         $(libgstvaapi_x11_source_h)             \
281         $(NULL)
282
283 libgstvaapi_x11_@GST_API_VERSION@includedir =   \
284         $(libgstvaapi_includedir)
285
286 libgstvaapi_x11_@GST_API_VERSION@_la_CFLAGS =   \
287         -DGST_USE_UNSTABLE_API                  \
288         -I$(top_srcdir)/gst-libs                \
289         $(GLIB_CFLAGS)                          \
290         $(GST_BASE_CFLAGS)                      \
291         $(X11_CFLAGS)                           \
292         $(XRANDR_CFLAGS)                        \
293         $(XRENDER_CFLAGS)                       \
294         $(LIBVA_X11_CFLAGS)                     \
295         $(NULL)
296
297 libgstvaapi_x11_@GST_API_VERSION@_la_LIBADD =   \
298         $(GLIB_LIBS)                            \
299         $(X11_LIBS)                             \
300         $(XRANDR_LIBS)                          \
301         $(XRENDER_LIBS)                         \
302         $(LIBVA_X11_LIBS)                       \
303         libgstvaapi-$(GST_API_VERSION).la       \
304         $(NULL)
305
306 libgstvaapi_x11_@GST_API_VERSION@_la_LDFLAGS =  \
307         $(GST_ALL_LDFLAGS)                      \
308         $(GST_VAAPI_LT_LDFLAGS)                 \
309         $(NULL)
310
311 libgstvaapi_glx_@GST_API_VERSION@_la_SOURCES =  \
312         $(libgstvaapi_glx_source_c)             \
313         $(libgstvaapi_glx_source_priv_h)        \
314         $(NULL)
315
316 libgstvaapi_glx_@GST_API_VERSION@include_HEADERS = \
317         $(libgstvaapi_glx_source_h)             \
318         $(NULL)
319
320 libgstvaapi_glx_@GST_API_VERSION@includedir =   \
321         $(libgstvaapi_includedir)
322
323 libgstvaapi_glx_@GST_API_VERSION@_la_CFLAGS =   \
324         -DGST_USE_UNSTABLE_API                  \
325         -I$(top_srcdir)/gst-libs                \
326         $(GLIB_CFLAGS)                          \
327         $(GST_BASE_CFLAGS)                      \
328         $(GST_VIDEO_CFLAGS)                     \
329         $(GL_CFLAGS)                            \
330         $(LIBVA_GLX_CFLAGS)                     \
331         $(NULL)
332
333 libgstvaapi_glx_@GST_API_VERSION@_la_LIBADD =   \
334         $(GLIB_LIBS)                            \
335         $(GST_BASE_LIBS)                        \
336         $(GST_VIDEO_LIBS)                       \
337         $(GL_LIBS)                              \
338         $(LIBVA_GLX_LIBS)                       \
339         libgstvaapi-x11-$(GST_API_VERSION).la   \
340         $(DLOPEN_LIBS)                          \
341         $(NULL)
342
343 libgstvaapi_glx_@GST_API_VERSION@_la_LDFLAGS =  \
344         $(GST_ALL_LDFLAGS)                      \
345         $(GST_VAAPI_LT_LDFLAGS)                 \
346         $(NULL)
347
348 libgstvaapi_wayland_@GST_API_VERSION@_la_SOURCES = \
349         $(libgstvaapi_wayland_source_c)         \
350         $(libgstvaapi_wayland_source_priv_h)    \
351         $(NULL)
352
353 libgstvaapi_wayland_@GST_API_VERSION@include_HEADERS = \
354         $(libgstvaapi_wayland_source_h)         \
355         $(NULL)
356
357 libgstvaapi_wayland_@GST_API_VERSION@includedir = \
358         $(libgstvaapi_includedir)
359
360 libgstvaapi_wayland_@GST_API_VERSION@_la_CFLAGS = \
361         -DGST_USE_UNSTABLE_API                  \
362         -I$(top_srcdir)/gst-libs                \
363         $(GLIB_CFLAGS)                          \
364         $(GST_BASE_CFLAGS)                      \
365         $(WAYLAND_CFLAGS)                       \
366         $(LIBVA_WAYLAND_CFLAGS)                 \
367         $(NULL)
368
369 libgstvaapi_wayland_@GST_API_VERSION@_la_LIBADD = \
370         $(GLIB_LIBS)                            \
371         $(WAYLAND_LIBS)                         \
372         $(LIBVA_WAYLAND_LIBS)                   \
373         libgstvaapi-$(GST_API_VERSION).la       \
374         $(NULL)
375
376 libgstvaapi_wayland_@GST_API_VERSION@_la_LDFLAGS = \
377         $(GST_ALL_LDFLAGS)                      \
378         $(GST_VAAPI_LT_LDFLAGS)                 \
379         $(NULL)
380
381 VERSION_FILE            = .VERSION
382 OLD_VERSION_FILE        = $(VERSION_FILE).old
383 NEW_VERSION_FILE        = $(VERSION_FILE).new
384 PKG_VERSION_FILE        = $(VERSION_FILE).pkg
385
386 gstvaapiversion.h: gen-version
387         $(AM_V_GEN)                                                         \
388         OV=`[ -f $(OLD_VERSION_FILE) ] && cat $(OLD_VERSION_FILE) || :`;    \
389         NV=`cat $(NEW_VERSION_FILE)`;                                       \
390         if [ "$$OV" != "$$NV" -o ! -f gstvaapiversion.h ]; then             \
391                 cp -f $(NEW_VERSION_FILE) $(OLD_VERSION_FILE);              \
392                 $(SED) -e "s|\@GST_VAAPI_VERSION_ID\@|$${NV}|"              \
393                         $(srcdir)/gstvaapiversion.h.in > gstvaapiversion.h; \
394         fi
395
396 gen-version:
397         @echo $(VERSION) > $(NEW_VERSION_FILE)
398 if HAVE_GIT
399         @[ -d $(top_srcdir)/.git ] && \
400         (cd $(top_srcdir) && $(GIT) describe --tags) > $(NEW_VERSION_FILE) || :
401 endif
402         @[ -f $(srcdir)/$(PKG_VERSION_FILE) ] && \
403         cp -f $(srcdir)/$(PKG_VERSION_FILE) $(NEW_VERSION_FILE) || :
404
405 $(PKG_VERSION_FILE): $(NEW_VERSION_FILE)
406         @cp -f $< $@
407
408 BUILT_SOURCES   = gstvaapiversion.h
409 EXTRA_DIST      = gstvaapiversion.h.in $(PKG_VERSION_FILE)
410
411 EXTRA_DIST += \
412         $(libgstvaapi_jpegdec_source_c) \
413         $(libgstvaapi_jpegdec_source_h) \
414         $(NULL)
415
416 CLEANFILES = \
417         $(OLD_VERSION_FILE)     \
418         $(NEW_VERSION_FILE)     \
419         $(PKG_VERSION_FILE)     \
420         $(NULL)
421
422 # Extra clean files so that maintainer-clean removes *everything*
423 MAINTAINERCLEANFILES = Makefile.in