[Mesa-dev] [PATCH 07/17] gallium/nouveau: add automake target 'template'

Emil Velikov emil.l.velikov at gmail.com
Sun Sep 21 16:44:04 PDT 2014


Rather than duplicating the libdeps, extra define... all over the
targets, define them only once and use when applicable.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
 src/gallium/drivers/nouveau/Automake.inc   | 11 +++++++++++
 src/gallium/targets/dri/Makefile.am        | 21 +++++++++------------
 src/gallium/targets/egl-static/Makefile.am | 15 ++++++++-------
 src/gallium/targets/gbm/Makefile.am        | 16 +++++++---------
 src/gallium/targets/omx/Makefile.am        | 16 +++++++---------
 src/gallium/targets/vdpau/Makefile.am      | 21 +++++++++------------
 src/gallium/targets/xa/Makefile.am         | 16 +++++++---------
 src/gallium/targets/xvmc/Makefile.am       | 19 ++++++++-----------
 8 files changed, 66 insertions(+), 69 deletions(-)
 create mode 100644 src/gallium/drivers/nouveau/Automake.inc

diff --git a/src/gallium/drivers/nouveau/Automake.inc b/src/gallium/drivers/nouveau/Automake.inc
new file mode 100644
index 0000000..1d383fc
--- /dev/null
+++ b/src/gallium/drivers/nouveau/Automake.inc
@@ -0,0 +1,11 @@
+if HAVE_GALLIUM_NOUVEAU
+
+TARGET_DRIVERS += nouveau
+TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
+TARGET_LIB_DEPS += \
+	$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
+	$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
+	$(NOUVEAU_LIBS) \
+	$(LIBDRM_LIBS)
+
+endif
diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am
index 7c1bcf0..b75d7b0 100644
--- a/src/gallium/targets/dri/Makefile.am
+++ b/src/gallium/targets/dri/Makefile.am
@@ -64,6 +64,10 @@ STATIC_TARGET_CPPFLAGS =
 STATIC_TARGET_LIB_DEPS = \
 	$(top_builddir)/src/loader/libloader.la
 
+TARGET_DRIVERS =
+TARGET_CPPFLAGS =
+TARGET_LIB_DEPS =
+
 if HAVE_GALLIUM_I915
 MEGADRIVERS += i915
 STATIC_TARGET_CPPFLAGS += -DGALLIUM_I915
@@ -82,14 +86,7 @@ STATIC_TARGET_LIB_DEPS += \
 	$(INTEL_LIBS)
 endif
 
-if HAVE_GALLIUM_NOUVEAU
-MEGADRIVERS += nouveau
-STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
-STATIC_TARGET_LIB_DEPS += \
-	$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
-	$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
-	$(NOUVEAU_LIBS)
-endif
+include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
 
 if NEED_RADEON_DRM_WINSYS
 STATIC_TARGET_LIB_DEPS += \
@@ -178,8 +175,8 @@ endif
 if HAVE_GALLIUM_STATIC_TARGETS
 
 gallium_dri_la_SOURCES += target.c
-AM_CPPFLAGS += $(STATIC_TARGET_CPPFLAGS)
-gallium_dri_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
+AM_CPPFLAGS += $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
+gallium_dri_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
 
 else # HAVE_GALLIUM_STATIC_TARGETS
 
@@ -200,7 +197,7 @@ if HAVE_COMPAT_SYMLINKS
 all-local: $(dri_LTLIBRARIES)
 	$(AM_V_GEN)link_dir=$(top_builddir)/$(LIB_DIR)/gallium;         \
 	$(MKDIR_P) $${link_dir};                                        \
-	for i in $(MEGADRIVERS); do                                     \
+	for i in $(MEGADRIVERS) $(TARGET_DRIVERS); do                   \
 		j=gallium_dri.so;                                       \
 		k=$${i}_dri.so;                                         \
 		ln -f .libs/$${j}                                       \
@@ -212,7 +209,7 @@ endif
 # gallium_dri.so in the set of final installed files.
 install-data-hook:
 	$(AM_V_GEN)dest_dir=$(DESTDIR)/$(dridir);                       \
-	for i in $(MEGADRIVERS); do                                     \
+	for i in $(MEGADRIVERS) $(TARGET_DRIVERS); do                   \
 		j=gallium_dri.so;                                       \
 		k=$${i}_dri.so;                                         \
 		ln -f $${dest_dir}/$${j}                                \
diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am
index 84f3338..85d2005 100644
--- a/src/gallium/targets/egl-static/Makefile.am
+++ b/src/gallium/targets/egl-static/Makefile.am
@@ -157,6 +157,10 @@ endif
 egl_gallium_la_LDFLAGS = $(AM_LDFLAGS)
 egl_gallium_la_CPPFLAGS = $(AM_CPPFLAGS)
 
+TARGET_DRIVERS =
+TARGET_CPPFLAGS =
+TARGET_LIB_DEPS =
+
 if HAVE_GALLIUM_I915
 egl_gallium_la_CPPFLAGS += -DGALLIUM_I915
 egl_gallium_la_LIBADD += \
@@ -173,13 +177,7 @@ egl_gallium_la_LIBADD += \
 	$(INTEL_LIBS)
 endif
 
-if HAVE_GALLIUM_NOUVEAU
-egl_gallium_la_CPPFLAGS += -DGALLIUM_NOUVEAU
-egl_gallium_la_LIBADD += \
-	$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
-	$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
-	$(NOUVEAU_LIBS)
-endif
+include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
 
 if NEED_RADEON_DRM_WINSYS
 egl_gallium_la_LIBADD += \
@@ -245,6 +243,9 @@ egl_gallium_la_LIBADD += \
 	$(top_builddir)/src/gallium/drivers/llvmpipe/libllvmpipe.la
 endif
 
+egl_gallium_la_CPPFLAGS += $(TARGET_CPPFLAGS)
+egl_gallium_la_LIBADD += $(TARGET_LIB_DEPS)
+
 #else # HAVE_GALLIUM_STATIC_TARGETS
 
 #egl_gallium_la_LIBADD += \
diff --git a/src/gallium/targets/gbm/Makefile.am b/src/gallium/targets/gbm/Makefile.am
index 42ea04f..7b40cc1 100644
--- a/src/gallium/targets/gbm/Makefile.am
+++ b/src/gallium/targets/gbm/Makefile.am
@@ -56,6 +56,10 @@ STATIC_TARGET_CPPFLAGS =
 STATIC_TARGET_LIB_DEPS = \
 	$(top_builddir)/src/loader/libloader.la
 
+TARGET_DRIVERS =
+TARGET_CPPFLAGS =
+TARGET_LIB_DEPS =
+
 if HAVE_GALLIUM_I915
 STATIC_TARGET_CPPFLAGS += -DGALLIUM_I915
 STATIC_TARGET_LIB_DEPS += \
@@ -72,13 +76,7 @@ STATIC_TARGET_LIB_DEPS += \
 	$(INTEL_LIBS)
 endif
 
-if HAVE_GALLIUM_NOUVEAU
-STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
-STATIC_TARGET_LIB_DEPS += \
-	$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
-	$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
-	$(NOUVEAU_LIBS)
-endif
+include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
 
 if NEED_RADEON_DRM_WINSYS
 STATIC_TARGET_LIB_DEPS += \
@@ -129,8 +127,8 @@ STATIC_TARGET_LIB_DEPS += \
 endif
 
 gbm_gallium_drm_la_SOURCES += target.c
-gbm_gallium_drm_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS)
-gbm_gallium_drm_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
+gbm_gallium_drm_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
+gbm_gallium_drm_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
 
 else # HAVE_GALLIUM_STATIC_TARGETS
 gbm_gallium_drm_la_LIBADD += \
diff --git a/src/gallium/targets/omx/Makefile.am b/src/gallium/targets/omx/Makefile.am
index 75adc74..e906ce1 100644
--- a/src/gallium/targets/omx/Makefile.am
+++ b/src/gallium/targets/omx/Makefile.am
@@ -38,13 +38,11 @@ STATIC_TARGET_CPPFLAGS =
 STATIC_TARGET_LIB_DEPS = \
 	$(top_builddir)/src/loader/libloader.la
 
-if HAVE_GALLIUM_NOUVEAU
-STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
-STATIC_TARGET_LIB_DEPS += \
-	$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
-	$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
-	$(NOUVEAU_LIBS)
-endif
+TARGET_DRIVERS =
+TARGET_CPPFLAGS =
+TARGET_LIB_DEPS =
+
+include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
 
 # Radeon winsys chaos
 if HAVE_GALLIUM_R600
@@ -77,8 +75,8 @@ STATIC_TARGET_LIB_DEPS += \
 endif
 
 libomx_mesa_la_SOURCES += target.c
-libomx_mesa_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS)
-libomx_mesa_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
+libomx_mesa_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
+libomx_mesa_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
 
 else # HAVE_GALLIUM_STATIC_TARGETS
 
diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am
index f673d2c..3b39108 100644
--- a/src/gallium/targets/vdpau/Makefile.am
+++ b/src/gallium/targets/vdpau/Makefile.am
@@ -43,14 +43,11 @@ STATIC_TARGET_CPPFLAGS =
 STATIC_TARGET_LIB_DEPS = \
 	$(top_builddir)/src/loader/libloader.la
 
-if HAVE_GALLIUM_NOUVEAU
-MEGADRIVERS += nouveau
-STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
-STATIC_TARGET_LIB_DEPS += \
-	$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
-	$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
-	$(NOUVEAU_LIBS)
-endif
+TARGET_DRIVERS =
+TARGET_CPPFLAGS =
+TARGET_LIB_DEPS =
+
+include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
 
 # Radeon winsys chaos
 if HAVE_GALLIUM_R600
@@ -87,8 +84,8 @@ endif
 if HAVE_GALLIUM_STATIC_TARGETS
 
 libvdpau_gallium_la_SOURCES += target.c
-libvdpau_gallium_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS)
-libvdpau_gallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
+libvdpau_gallium_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
+libvdpau_gallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
 
 else # HAVE_GALLIUM_STATIC_TARGETS
 
@@ -109,7 +106,7 @@ if HAVE_COMPAT_SYMLINKS
 all-local: $(vdpau_LTLIBRARIES)
 	$(AM_V_GEN)link_dir=$(top_builddir)/$(LIB_DIR)/gallium;		\
 	$(MKDIR_P) $${link_dir};					\
-	for i in $(MEGADRIVERS); do					\
+	for i in $(MEGADRIVERS) $(TARGET_DRIVERS); do			\
 		j=libvdpau_gallium.$(LIB_EXT);				\
 		k=libvdpau_$${i}.$(LIB_EXT);				\
 		l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0;		\
@@ -128,7 +125,7 @@ endif
 # libvdpau_gallium.so in the set of final installed files.
 install-data-hook:
 	$(AM_V_GEN)dest_dir=$(DESTDIR)/$(vdpaudir);			\
-	for i in $(MEGADRIVERS); do					\
+	for i in $(MEGADRIVERS) $(TARGET_DRIVERS); do			\
 		j=libvdpau_gallium.$(LIB_EXT);				\
 		k=libvdpau_$${i}.$(LIB_EXT);				\
 		l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0;		\
diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am
index 1a37b9a..4cd820b 100644
--- a/src/gallium/targets/xa/Makefile.am
+++ b/src/gallium/targets/xa/Makefile.am
@@ -57,6 +57,10 @@ STATIC_TARGET_CPPFLAGS =
 STATIC_TARGET_LIB_DEPS = \
 	$(top_builddir)/src/loader/libloader.la
 
+TARGET_DRIVERS =
+TARGET_CPPFLAGS =
+TARGET_LIB_DEPS =
+
 if HAVE_GALLIUM_I915
 STATIC_TARGET_CPPFLAGS += -DGALLIUM_I915
 STATIC_TARGET_LIB_DEPS += \
@@ -73,13 +77,7 @@ STATIC_TARGET_LIB_DEPS += \
 	$(INTEL_LIBS)
 endif
 
-if HAVE_GALLIUM_NOUVEAU
-STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
-STATIC_TARGET_LIB_DEPS += \
-	$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
-	$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
-	$(NOUVEAU_LIBS)
-endif
+include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
 
 if HAVE_GALLIUM_SVGA
 STATIC_TARGET_CPPFLAGS += -DGALLIUM_VMWGFX
@@ -98,8 +96,8 @@ STATIC_TARGET_LIB_DEPS += \
 endif
 
 libxatracker_la_SOURCES += target.c
-libxatracker_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS)
-libxatracker_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
+libxatracker_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
+libxatracker_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
 
 else # HAVE_GALLIUM_STATIC_TARGETS
 
diff --git a/src/gallium/targets/xvmc/Makefile.am b/src/gallium/targets/xvmc/Makefile.am
index 9e04f73..e8bf6c4 100644
--- a/src/gallium/targets/xvmc/Makefile.am
+++ b/src/gallium/targets/xvmc/Makefile.am
@@ -38,14 +38,11 @@ STATIC_TARGET_CPPFLAGS =
 STATIC_TARGET_LIB_DEPS = \
 	$(top_builddir)/src/loader/libloader.la
 
-if HAVE_GALLIUM_NOUVEAU
-MEGADRIVERS += nouveau
-STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
-STATIC_TARGET_LIB_DEPS += \
-	$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
-	$(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
-	$(NOUVEAU_LIBS)
-endif
+TARGET_DRIVERS =
+TARGET_CPPFLAGS =
+TARGET_LIB_DEPS =
+
+include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc
 
 if HAVE_GALLIUM_R600
 MEGADRIVERS += r600
@@ -60,8 +57,8 @@ endif
 if HAVE_GALLIUM_STATIC_TARGETS
 
 libXvMCgallium_la_SOURCES += target.c
-libXvMCgallium_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS)
-libXvMCgallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
+libXvMCgallium_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) $(TARGET_CPPFLAGS)
+libXvMCgallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS) $(TARGET_LIB_DEPS)
 
 else # HAVE_GALLIUM_STATIC_TARGETS
 
@@ -82,7 +79,7 @@ endif
 # libXvMCgallium.so in the set of final installed files.
 install-data-hook:
 	$(AM_V_GEN)dest_dir=$(DESTDIR)/$(xvmcdir);			\
-	for i in $(MEGADRIVERS); do					\
+	for i in $(MEGADRIVERS) $(TARGET_DRIVERS); do			\
 		j=libXvMCgallium.$(LIB_EXT);				\
 		k=libXvMC$${i}.$(LIB_EXT);				\
 		l=$${k}.$(XVMC_MAJOR).$(XVMC_MINOR).0;			\
-- 
2.1.0



More information about the mesa-dev mailing list