2980cc310d99658b583c0b2b156faa4f488608b9
[mesa.git] / src / gallium / targets / vdpau / Makefile.am
1 include $(top_srcdir)/src/gallium/Automake.inc
2
3 AM_CFLAGS = \
4 $(GALLIUM_TARGET_CFLAGS)
5
6 vdpaudir = $(VDPAU_LIB_INSTALL_DIR)
7 vdpau_LTLIBRARIES = libvdpau_gallium.la
8
9 nodist_EXTRA_libvdpau_gallium_la_SOURCES = dummy.cpp
10 libvdpau_gallium_la_SOURCES =
11
12 libvdpau_gallium_la_LDFLAGS = \
13 -shared \
14 -module \
15 -no-undefined \
16 -version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \
17 $(GC_SECTIONS) \
18 $(LD_NO_UNDEFINED)
19
20 if HAVE_LD_VERSION_SCRIPT
21 libvdpau_gallium_la_LDFLAGS += \
22 -Wl,--version-script=$(top_srcdir)/src/gallium/targets/vdpau/vdpau.sym
23 endif # HAVE_LD_VERSION_SCRIPT
24
25 if HAVE_LD_DYNAMIC_LIST
26 libvdpau_gallium_la_LDFLAGS += \
27 -Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
28 endif # HAVE_LD_DYNAMIC_LIST
29
30 # NOTE: libvdpau_gallium does not use(link against) libvdpau
31 libvdpau_gallium_la_LIBADD = \
32 $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \
33 $(top_builddir)/src/gallium/auxiliary/libgalliumvl.la \
34 $(top_builddir)/src/gallium/auxiliary/libgallium.la \
35 $(top_builddir)/src/util/libmesautil.la \
36 $(VL_LIBS) \
37 $(LIBDRM_LIBS) \
38 $(GALLIUM_COMMON_LIB_DEPS)
39
40 EXTRA_libvdpau_gallium_la_DEPENDENCIES = \
41 vdpau.sym \
42 $(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
43 EXTRA_DIST = \
44 vdpau.sym \
45 $(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
46
47 TARGET_DRIVERS =
48 TARGET_CPPFLAGS =
49 TARGET_LIB_DEPS = $(top_builddir)/src/loader/libloader.la
50
51 include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
52
53 include $(top_srcdir)/src/gallium/drivers/r300/Automake.inc
54 include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc
55 include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc
56
57 if HAVE_GALLIUM_STATIC_TARGETS
58
59 libvdpau_gallium_la_SOURCES += target.c
60 libvdpau_gallium_la_CPPFLAGS = $(TARGET_CPPFLAGS)
61 libvdpau_gallium_la_LIBADD += $(TARGET_LIB_DEPS) \
62 $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON)
63
64 else # HAVE_GALLIUM_STATIC_TARGETS
65
66 libvdpau_gallium_la_LIBADD += \
67 $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
68 $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \
69 $(GALLIUM_PIPE_LOADER_LIBS)
70
71 endif # HAVE_GALLIUM_STATIC_TARGETS
72
73 if HAVE_MESA_LLVM
74 libvdpau_gallium_la_LIBADD += $(LLVM_LIBS)
75 libvdpau_gallium_la_LDFLAGS += $(LLVM_LDFLAGS)
76 endif
77
78 if HAVE_COMPAT_SYMLINKS
79 # Add a link to allow setting VDPAU_DRIVER_PATH to /lib/gallium of the build tree.
80 all-local: $(vdpau_LTLIBRARIES)
81 $(AM_V_GEN)link_dir=$(top_builddir)/$(LIB_DIR)/gallium; \
82 $(MKDIR_P) $${link_dir}; \
83 for i in $(TARGET_DRIVERS); do \
84 j=libvdpau_gallium.$(LIB_EXT); \
85 k=libvdpau_$${i}.$(LIB_EXT); \
86 l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
87 ln -f .libs/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
88 $${link_dir}/$${l}; \
89 ln -sf $${l} \
90 $${link_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
91 ln -sf $${l} \
92 $${link_dir}/$${k}.$(VDPAU_MAJOR); \
93 ln -sf $${l} \
94 $${link_dir}/$${k}; \
95 done
96
97 clean-local:
98 $(AM_V_GEN)link_dir=$(top_builddir)/$(LIB_DIR)/gallium; \
99 $(AM_V_GEN)for i in $(TARGET_DRIVERS); do \
100 $(RM) $${link_dir}/libvdpau_$${i}.so{,.$(VDPAU_MAJOR){,.$(VDPAU_MINOR){,.0}}}; \
101 done;
102 endif
103
104 # hardlink each megadriver instance, but don't actually have
105 # libvdpau_gallium.so in the set of final installed files.
106 install-data-hook:
107 $(AM_V_GEN)dest_dir=$(DESTDIR)/$(vdpaudir); \
108 for i in $(TARGET_DRIVERS); do \
109 j=libvdpau_gallium.$(LIB_EXT); \
110 k=libvdpau_$${i}.$(LIB_EXT); \
111 l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
112 ln -f $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
113 $${dest_dir}/$${l}; \
114 ln -sf $${l} \
115 $${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
116 ln -sf $${l} \
117 $${dest_dir}/$${k}.$(VDPAU_MAJOR); \
118 ln -sf $${l} \
119 $${dest_dir}/$${k}; \
120 done; \
121 $(RM) $${dest_dir}/libvdpau_gallium.*
122
123 uninstall-hook:
124 for i in $(TARGET_DRIVERS); do \
125 $(RM) $(DESTDIR)$(vdpaudir)/libvdpau_$${i}.so{,.$(VDPAU_MAJOR){,.$(VDPAU_MINOR){,.0}}}; \
126 done;