57e49c1ed09e308d9eee2728562e98a78a5abf77
[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         gstvaapiminiobject.h                    \
113         gstvaapiobject_priv.h                   \
114         gstvaapiparser_frame.h                  \
115         gstvaapipixmap_priv.h                   \
116         gstvaapisurface_priv.h                  \
117         gstvaapisurfaceproxy_priv.h             \
118         gstvaapiutils.h                         \
119         gstvaapiversion.h                       \
120         gstvaapivideopool_priv.h                \
121         gstvaapiwindow_priv.h                   \
122         gstvaapiworkarounds.h                   \
123         sysdeps.h                               \
124         $(NULL)
125
126 libgstvaapi_jpegdec_source_c = gstvaapidecoder_jpeg.c
127 libgstvaapi_jpegdec_source_h = gstvaapidecoder_jpeg.h
128 if USE_JPEG_DECODER
129 libgstvaapi_source_c += $(libgstvaapi_jpegdec_source_c)
130 libgstvaapi_source_h += $(libgstvaapi_jpegdec_source_h)
131 endif
132
133 libgstvaapi_drm_source_c =                      \
134         gstvaapidisplay_drm.c                   \
135         gstvaapiwindow_drm.c                    \
136         gstvaapiutils.c                         \
137         $(NULL)
138
139 libgstvaapi_drm_source_h =                      \
140         gstvaapidisplay_drm.h                   \
141         gstvaapiwindow_drm.h                    \
142         $(NULL)
143
144 libgstvaapi_drm_source_priv_h =                 \
145         gstvaapicompat.h                        \
146         gstvaapidisplay_drm_priv.h              \
147         gstvaapiutils.h                         \
148         $(NULL)
149
150 libgstvaapi_x11_source_c =                      \
151         gstvaapidisplay_x11.c                   \
152         gstvaapiutils.c                         \
153         gstvaapiutils_x11.c                     \
154         gstvaapiwindow_x11.c                    \
155         $(NULL)
156
157 libgstvaapi_x11_source_h =                      \
158         gstvaapidisplay_x11.h                   \
159         gstvaapiwindow_x11.h                    \
160         $(NULL)
161
162 libgstvaapi_x11_source_priv_h =                 \
163         gstvaapicompat.h                        \
164         gstvaapidisplay_x11_priv.h              \
165         gstvaapiutils.h                         \
166         gstvaapiutils_x11.h                     \
167         gstvaapiwindow_x11_priv.h               \
168         $(NULL)
169
170 libgstvaapi_glx_source_c =                      \
171         gstvaapidisplay_glx.c                   \
172         gstvaapitexture.c                       \
173         gstvaapiutils.c                         \
174         gstvaapiutils_glx.c                     \
175         gstvaapiutils_x11.c                     \
176         gstvaapiwindow_glx.c                    \
177         $(NULL)
178
179 libgstvaapi_glx_source_h =                      \
180         gstvaapidisplay_glx.h                   \
181         gstvaapitexture.h                       \
182         gstvaapiwindow_glx.h                    \
183         $(NULL)
184
185 libgstvaapi_glx_source_priv_h =                 \
186         gstvaapicompat.h                        \
187         gstvaapidisplay_glx_priv.h              \
188         gstvaapiutils.h                         \
189         gstvaapiutils_glx.h                     \
190         gstvaapiutils_x11.h                     \
191         $(NULL)
192
193 libgstvaapi_wayland_source_c =                  \
194         gstvaapidisplay_wayland.c               \
195         gstvaapiutils.c                         \
196         gstvaapiwindow_wayland.c                \
197         $(NULL)
198
199 libgstvaapi_wayland_source_h =                  \
200         gstvaapidisplay_wayland.h               \
201         gstvaapiwindow_wayland.h                \
202         $(NULL)
203
204 libgstvaapi_wayland_source_priv_h =             \
205         gstvaapicompat.h                        \
206         gstvaapidisplay_wayland_priv.h          \
207         gstvaapiutils.h                         \
208         $(NULL)
209
210 libgstvaapi_@GST_API_VERSION@_la_SOURCES =      \
211         $(libgstvaapi_source_c)                 \
212         $(libgstvaapi_source_priv_h)            \
213         $(NULL)
214
215 libgstvaapi_@GST_API_VERSION@include_HEADERS =  \
216         $(libgstvaapi_source_h)                 \
217         $(NULL)
218
219 libgstvaapi_@GST_API_VERSION@includedir =       \
220         $(libgstvaapi_includedir)
221
222 libgstvaapi_@GST_API_VERSION@_la_CFLAGS =       \
223         $(libgstvaapi_cflags)                   \
224         $(NULL)
225
226 libgstvaapi_@GST_API_VERSION@_la_LIBADD =       \
227         $(libgstvaapi_libs)                     \
228         $(NULL)
229
230 libgstvaapi_@GST_API_VERSION@_la_LDFLAGS =      \
231         $(GST_ALL_LDFLAGS)                      \
232         $(GST_VAAPI_LT_LDFLAGS)                 \
233         -export-symbols-regex "^gst_.*vaapi.*"  \
234         $(NULL)
235
236 libgstvaapi_drm_@GST_API_VERSION@_la_SOURCES =  \
237         $(libgstvaapi_drm_source_c)             \
238         $(libgstvaapi_drm_source_priv_h)        \
239         $(NULL)
240
241 libgstvaapi_drm_@GST_API_VERSION@include_HEADERS = \
242         $(libgstvaapi_drm_source_h)             \
243         $(NULL)
244
245 libgstvaapi_drm_@GST_API_VERSION@includedir =   \
246         $(libgstvaapi_includedir)
247
248 libgstvaapi_drm_@GST_API_VERSION@_la_CFLAGS =   \
249         -DGST_USE_UNSTABLE_API                  \
250         -I$(top_srcdir)/gst-libs                \
251         $(GLIB_CFLAGS)                          \
252         $(GST_BASE_CFLAGS)                      \
253         $(UDEV_CFLAGS)                          \
254         $(DRM_CFLAGS)                           \
255         $(LIBVA_DRM_CFLAGS)                     \
256         $(NULL)
257
258 libgstvaapi_drm_@GST_API_VERSION@_la_LIBADD =   \
259         $(GLIB_LIBS)                            \
260         $(UDEV_LIBS)                            \
261         $(DRM_LIBS)                             \
262         $(LIBVA_DRM_LIBS)                       \
263         libgstvaapi-$(GST_API_VERSION).la       \
264         $(NULL)
265
266 libgstvaapi_drm_@GST_API_VERSION@_la_LDFLAGS =  \
267         $(GST_ALL_LDFLAGS)                      \
268         $(GST_VAAPI_LT_LDFLAGS)                 \
269         $(NULL)
270
271 libgstvaapi_x11_@GST_API_VERSION@_la_SOURCES =  \
272         $(libgstvaapi_x11_source_c)             \
273         $(libgstvaapi_x11_source_priv_h)        \
274         $(NULL)
275
276 libgstvaapi_x11_@GST_API_VERSION@include_HEADERS = \
277         $(libgstvaapi_x11_source_h)             \
278         $(NULL)
279
280 libgstvaapi_x11_@GST_API_VERSION@includedir =   \
281         $(libgstvaapi_includedir)
282
283 libgstvaapi_x11_@GST_API_VERSION@_la_CFLAGS =   \
284         -DGST_USE_UNSTABLE_API                  \
285         -I$(top_srcdir)/gst-libs                \
286         $(GLIB_CFLAGS)                          \
287         $(GST_BASE_CFLAGS)                      \
288         $(X11_CFLAGS)                           \
289         $(XRANDR_CFLAGS)                        \
290         $(LIBVA_X11_CFLAGS)                     \
291         $(NULL)
292
293 libgstvaapi_x11_@GST_API_VERSION@_la_LIBADD =   \
294         $(GLIB_LIBS)                            \
295         $(X11_LIBS)                             \
296         $(XRANDR_LIBS)                          \
297         $(LIBVA_X11_LIBS)                       \
298         libgstvaapi-$(GST_API_VERSION).la       \
299         $(NULL)
300
301 libgstvaapi_x11_@GST_API_VERSION@_la_LDFLAGS =  \
302         $(GST_ALL_LDFLAGS)                      \
303         $(GST_VAAPI_LT_LDFLAGS)                 \
304         $(NULL)
305
306 libgstvaapi_glx_@GST_API_VERSION@_la_SOURCES =  \
307         $(libgstvaapi_glx_source_c)             \
308         $(libgstvaapi_glx_source_priv_h)        \
309         $(NULL)
310
311 libgstvaapi_glx_@GST_API_VERSION@include_HEADERS = \
312         $(libgstvaapi_glx_source_h)             \
313         $(NULL)
314
315 libgstvaapi_glx_@GST_API_VERSION@includedir =   \
316         $(libgstvaapi_includedir)
317
318 libgstvaapi_glx_@GST_API_VERSION@_la_CFLAGS =   \
319         -DGST_USE_UNSTABLE_API                  \
320         -I$(top_srcdir)/gst-libs                \
321         $(GLIB_CFLAGS)                          \
322         $(GST_BASE_CFLAGS)                      \
323         $(GST_VIDEO_CFLAGS)                     \
324         $(GL_CFLAGS)                            \
325         $(LIBVA_GLX_CFLAGS)                     \
326         $(NULL)
327
328 libgstvaapi_glx_@GST_API_VERSION@_la_LIBADD =   \
329         $(GLIB_LIBS)                            \
330         $(GST_BASE_LIBS)                        \
331         $(GST_VIDEO_LIBS)                       \
332         $(GL_LIBS)                              \
333         $(LIBVA_GLX_LIBS)                       \
334         libgstvaapi-x11-$(GST_API_VERSION).la   \
335         $(DLOPEN_LIBS)                          \
336         $(NULL)
337
338 libgstvaapi_glx_@GST_API_VERSION@_la_LDFLAGS =  \
339         $(GST_ALL_LDFLAGS)                      \
340         $(GST_VAAPI_LT_LDFLAGS)                 \
341         $(NULL)
342
343 libgstvaapi_wayland_@GST_API_VERSION@_la_SOURCES = \
344         $(libgstvaapi_wayland_source_c)         \
345         $(libgstvaapi_wayland_source_priv_h)    \
346         $(NULL)
347
348 libgstvaapi_wayland_@GST_API_VERSION@include_HEADERS = \
349         $(libgstvaapi_wayland_source_h)         \
350         $(NULL)
351
352 libgstvaapi_wayland_@GST_API_VERSION@includedir = \
353         $(libgstvaapi_includedir)
354
355 libgstvaapi_wayland_@GST_API_VERSION@_la_CFLAGS = \
356         -DGST_USE_UNSTABLE_API                  \
357         -I$(top_srcdir)/gst-libs                \
358         $(GLIB_CFLAGS)                          \
359         $(GST_BASE_CFLAGS)                      \
360         $(WAYLAND_CFLAGS)                       \
361         $(LIBVA_WAYLAND_CFLAGS)                 \
362         $(NULL)
363
364 libgstvaapi_wayland_@GST_API_VERSION@_la_LIBADD = \
365         $(GLIB_LIBS)                            \
366         $(WAYLAND_LIBS)                         \
367         $(LIBVA_WAYLAND_LIBS)                   \
368         libgstvaapi-$(GST_API_VERSION).la       \
369         $(NULL)
370
371 libgstvaapi_wayland_@GST_API_VERSION@_la_LDFLAGS = \
372         $(GST_ALL_LDFLAGS)                      \
373         $(GST_VAAPI_LT_LDFLAGS)                 \
374         $(NULL)
375
376 VERSION_FILE            = .VERSION
377 OLD_VERSION_FILE        = $(VERSION_FILE).old
378 NEW_VERSION_FILE        = $(VERSION_FILE).new
379 PKG_VERSION_FILE        = $(VERSION_FILE).pkg
380
381 gstvaapiversion.h: gen-version
382         $(AM_V_GEN)                                                         \
383         OV=`[ -f $(OLD_VERSION_FILE) ] && cat $(OLD_VERSION_FILE) || :`;    \
384         NV=`cat $(NEW_VERSION_FILE)`;                                       \
385         if [ "$$OV" != "$$NV" -o ! -f gstvaapiversion.h ]; then             \
386                 cp -f $(NEW_VERSION_FILE) $(OLD_VERSION_FILE);              \
387                 $(SED) -e "s|\@GST_VAAPI_VERSION_ID\@|$${NV}|"              \
388                         $(srcdir)/gstvaapiversion.h.in > gstvaapiversion.h; \
389         fi
390
391 gen-version:
392         @echo $(VERSION) > $(NEW_VERSION_FILE)
393 if HAVE_GIT
394         @[ -d $(top_srcdir)/.git ] && \
395         (cd $(top_srcdir) && $(GIT) describe --tags) > $(NEW_VERSION_FILE) || :
396 endif
397         @[ -f $(srcdir)/$(PKG_VERSION_FILE) ] && \
398         cp -f $(srcdir)/$(PKG_VERSION_FILE) $(NEW_VERSION_FILE) || :
399
400 $(PKG_VERSION_FILE): $(NEW_VERSION_FILE)
401         @cp -f $< $@
402
403 BUILT_SOURCES   = gstvaapiversion.h
404 EXTRA_DIST      = gstvaapiversion.h.in $(PKG_VERSION_FILE)
405
406 EXTRA_DIST += \
407         $(libgstvaapi_jpegdec_source_c) \
408         $(libgstvaapi_jpegdec_source_h) \
409         $(NULL)
410
411 CLEANFILES = \
412         $(OLD_VERSION_FILE)     \
413         $(NEW_VERSION_FILE)     \
414         $(PKG_VERSION_FILE)     \
415         $(NULL)
416
417 # Extra clean files so that maintainer-clean removes *everything*
418 MAINTAINERCLEANFILES = Makefile.in