gallium/nouveau: add automake target 'template'
[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 $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c
12
13 libvdpau_gallium_la_LDFLAGS = \
14 -shared \
15 -module \
16 -no-undefined \
17 -version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \
18 $(GC_SECTIONS) \
19 $(LD_NO_UNDEFINED)
20
21 if HAVE_LD_VERSION_SCRIPT
22 libvdpau_gallium_la_LDFLAGS += \
23 -Wl,--version-script=$(top_srcdir)/src/gallium/targets/vdpau/vdpau.sym
24 endif # HAVE_LD_VERSION_SCRIPT
25
26 if HAVE_LD_DYNAMIC_LIST
27 libvdpau_gallium_la_LDFLAGS += \
28 -Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
29 endif # HAVE_LD_DYNAMIC_LIST
30
31 libvdpau_gallium_la_LIBADD = \
32 $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \
33 $(top_builddir)/src/gallium/auxiliary/libgallium.la \
34 $(top_builddir)/src/util/libmesautil.la \
35 $(VDPAU_LIBS) \
36 $(LIBDRM_LIBS) \
37 $(GALLIUM_COMMON_LIB_DEPS)
38
39
40 MEGADRIVERS =
41 STATIC_TARGET_CPPFLAGS = -DGALLIUM_STATIC_TARGETS=1
42 STATIC_TARGET_LIB_DEPS = \
43 $(top_builddir)/src/loader/libloader.la
44
45 TARGET_DRIVERS =
46 TARGET_CPPFLAGS =
47 TARGET_LIB_DEPS =
48
49 include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
50
51 # Radeon winsys chaos
52 if HAVE_GALLIUM_R600
53 STATIC_TARGET_LIB_DEPS += \
54 $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
55 else
56 if HAVE_GALLIUM_RADEONSI
57 STATIC_TARGET_LIB_DEPS += \
58 $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la
59 endif
60 endif
61
62 if HAVE_GALLIUM_RADEON_COMMON
63 STATIC_TARGET_LIB_DEPS += \
64 $(top_builddir)/src/gallium/drivers/radeon/libradeon.la
65 endif
66
67 if HAVE_GALLIUM_R600
68 MEGADRIVERS += r600
69 STATIC_TARGET_CPPFLAGS += -DGALLIUM_R600
70 STATIC_TARGET_LIB_DEPS += \
71 $(top_builddir)/src/gallium/drivers/r600/libr600.la \
72 $(RADEON_LIBS)
73 endif
74
75 if HAVE_GALLIUM_RADEONSI
76 MEGADRIVERS += radeonsi
77 STATIC_TARGET_CPPFLAGS += -DGALLIUM_RADEONSI
78 STATIC_TARGET_LIB_DEPS += \
79 $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
80 $(RADEON_LIBS)
81 endif
82
83 if HAVE_GALLIUM_STATIC_TARGETS
84
85 libvdpau_gallium_la_SOURCES += target.c
86 libvdpau_gallium_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
87 libvdpau_gallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
88
89 else # HAVE_GALLIUM_STATIC_TARGETS
90
91 libvdpau_gallium_la_CPPFLAGS = \
92 $(GALLIUM_PIPE_LOADER_DEFINES) \
93 -DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\"
94
95 libvdpau_gallium_la_LIBADD += \
96 $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
97 $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \
98 $(GALLIUM_PIPE_LOADER_LIBS)
99
100 endif # HAVE_GALLIUM_STATIC_TARGETS
101
102 if HAVE_MESA_LLVM
103 libvdpau_gallium_la_LIBADD += $(LLVM_LIBS)
104 libvdpau_gallium_la_LDFLAGS += $(LLVM_LDFLAGS)
105 endif
106
107 if HAVE_COMPAT_SYMLINKS
108 # Add a link to allow setting VDPAU_DRIVER_PATH to /lib/gallium of the build tree.
109 all-local: $(vdpau_LTLIBRARIES)
110 $(AM_V_GEN)link_dir=$(top_builddir)/$(LIB_DIR)/gallium; \
111 $(MKDIR_P) $${link_dir}; \
112 for i in $(MEGADRIVERS) $(TARGET_DRIVERS); do \
113 j=libvdpau_gallium.$(LIB_EXT); \
114 k=libvdpau_$${i}.$(LIB_EXT); \
115 l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
116 ln -f .libs/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
117 $${link_dir}/$${l}; \
118 ln -sf $${l} \
119 $${link_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
120 ln -sf $${l} \
121 $${link_dir}/$${k}.$(VDPAU_MAJOR); \
122 ln -sf $${l} \
123 $${link_dir}/$${k}; \
124 done
125 endif
126
127 # hardlink each megadriver instance, but don't actually have
128 # libvdpau_gallium.so in the set of final installed files.
129 install-data-hook:
130 $(AM_V_GEN)dest_dir=$(DESTDIR)/$(vdpaudir); \
131 for i in $(MEGADRIVERS) $(TARGET_DRIVERS); do \
132 j=libvdpau_gallium.$(LIB_EXT); \
133 k=libvdpau_$${i}.$(LIB_EXT); \
134 l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
135 ln -f $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
136 $${dest_dir}/$${l}; \
137 ln -sf $${l} \
138 $${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
139 ln -sf $${l} \
140 $${dest_dir}/$${k}.$(VDPAU_MAJOR); \
141 ln -sf $${l} \
142 $${dest_dir}/$${k}; \
143 done; \
144 $(RM) -f $${dest_dir}/libvdpau_gallium.*