From f6a03475fa096b01a4b01747bba789e2b1d67360 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Fri, 7 Dec 2012 15:59:46 +0100 Subject: build: Improve the build * configure.ac: Mention dependencies as executable/library-specific PKG_CHECK_MODULES() calls, instead of having one PKG_CHECK_MODULE() call for each dependency and then listing those depdendencies' CFLAGS and LIBS individually in each Makefile.am. Also define the _VALAFLAGS in the same place, keeping things consistent. * common.am: Clean this up, using more obvious variable names. * various Makefile.am: Use the new structure. Do not use AM_CFLAGS, instead specifying the CFLAGS, LIBS and VALAFLAGS for each executable/library. As well as being cleaner, this would allow us to convert to a non-recursive autotools build sometime in the future. https://bugzilla.gnome.org/show_bug.cgi?id=689960 --- common.am | 101 ++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 59 insertions(+), 42 deletions(-) (limited to 'common.am') diff --git a/common.am b/common.am index d2638f58..42332a48 100644 --- a/common.am +++ b/common.am @@ -23,71 +23,88 @@ endif smallicondir = $(shareddir)/icons/48x48 bigicondir = $(shareddir)/icons/120x120 -rygeldir = $(top_srcdir)/src/rygel librygelcoredir = $(top_srcdir)/src/librygel-core librygelserverdir = $(top_srcdir)/src/librygel-server librygelrendererdir = $(top_srcdir)/src/librygel-renderer MAINTAINERCLEANFILES = Makefile.in -AM_CFLAGS = \ - $(LIBGUPNP_CFLAGS) \ - $(LIBGUPNP_AV_CFLAGS) \ - $(GEE_CFLAGS) \ - $(UUID_CFLAGS) \ - $(COVERAGE_CFLAGS) \ - -I$(rygeldir) \ - -I$(librygelcoredir) \ - -I$(librygelserverdir) \ - -I$(librygelrendererdir) \ - -DDATA_DIR='"$(shareddir)"' -DSYS_CONFIG_DIR='"$(sysconfigdir)"'\ - -DPLUGIN_DIR='"$(plugindir)"' -DDESKTOP_DIR='"$(desktopdir)"'\ - -DPRESET_DIR='"$(presetdir)"' -DENGINE_DIR='"$(enginedir)"' \ +RYGEL_COMMON_DEFINES_CFLAGS = \ + -DDATA_DIR='"$(shareddir)"' \ -include config.h -RYGEL_BASE_LIBS = \ - $(LIBGUPNP_LIBS) \ - $(GEE_LIBS) \ - $(COVERAGE_LIBS) -RYGEL_COMMON_LIBS = \ - $(RYGEL_BASE_LIBS) \ - $(LIBGUPNP_AV_LIBS) \ +RYGEL_COMMON_LIBRYGEL_CORE_VALAFLAGS = \ + --vapidir=$(librygelcoredir) \ + --pkg rygel-core-2.0 \ + --pkg uuid + +RYGEL_COMMON_LIBRYGEL_CORE_CFLAGS = \ + $(RYGEL_COMMON_DEFINES_CFLAGS) \ + -I$(top_builddir)/src/librygel-core \ + -I$(top_srcdir)/src/librygel-core + +RYGEL_COMMON_LIBRYGEL_CORE_LIBS = \ $(top_builddir)/src/librygel-core/librygel-core-2.0.la -RYGEL_COMMON_SERVER_LIBS = \ - $(top_builddir)/src/librygel-server/librygel-server-2.0.la \ - $(RYGEL_COMMON_LIBS) -RYGEL_COMMON_RENDERER_LIBS = \ - $(top_builddir)/src/librygel-renderer/librygel-renderer-2.0.la \ - $(RYGEL_COMMON_LIBS) +RYGEL_COMMON_LIBRYGEL_RENDERER_VALAFLAGS = \ + --vapidir=$(top_builddir)/src/librygel-renderer \ + --pkg rygel-renderer-2.0 \ + $(RYGEL_COMMON_LIBRYGEL_CORE_VALAFLAGS) -# Note: the -g needs to be at the end of VALAFLAGS to not break make dist -RYGEL_COMMON_PLUGIN_VALAFLAGS = \ - --pkg rygel-core-2.0 \ - $(RYGEL_COMMON_VALAFLAGS) +RYGEL_COMMON_LIBRYGEL_RENDERER_CFLAGS = \ + $(RYGEL_COMMON_LIBRYGEL_CORE_CFLAGS) \ + -I$(top_builddir)/src/librygel-renderer \ + -I$(top_srcdir)/src/librygel-renderer -RYGEL_COMMON_SERVER_PLUGIN_VALAFLAGS = \ - --pkg rygel-server-2.0 \ +RYGEL_COMMON_LIBRYGEL_RENDERER_LIBS = \ + $(RYGEL_COMMON_LIBRYGEL_CORE_LIBS) \ + $(top_builddir)/src/librygel-renderer/librygel-renderer-2.0.la + + +RYGEL_COMMON_LIBRYGEL_RENDERER_GST_VALAFLAGS = \ + --vapidir=$(top_builddir)/src/librygel-renderer-gst \ + --pkg rygel-renderer-gst-2.0 \ + $(RYGEL_COMMON_LIBRYGEL_RENDERER_VALAFLAGS) + +RYGEL_COMMON_LIBRYGEL_RENDERER_GST_CFLAGS = \ + $(RYGEL_COMMON_LIBRYGEL_RENDERER_CFLAGS) \ + -I$(top_builddir)/src/librygel-renderer-gst \ + -I$(top_srcdir)/src/librygel-renderer-gst + +RYGEL_COMMON_LIBRYGEL_RENDERER_GST_LIBS = \ + $(RYGEL_COMMON_LIBRYGEL_RENDERER_LIBS) \ + $(top_builddir)/src/librygel-renderer-gst/librygel-renderer-gst-2.0.la + + +RYGEL_COMMON_LIBRYGEL_SERVER_VALAFLAGS = \ --vapidir=$(top_builddir)/src/librygel-server \ - $(RYGEL_COMMON_PLUGIN_VALAFLAGS) + --pkg rygel-server-2.0 \ + $(RYGEL_COMMON_LIBRYGEL_CORE_VALAFLAGS) -RYGEL_COMMON_RENDERER_PLUGIN_VALAFLAGS = \ - --pkg rygel-renderer-2.0 \ - --vapidir=$(top_builddir)/src/librygel-renderer \ - $(RYGEL_COMMON_PLUGIN_VALAFLAGS) +RYGEL_COMMON_LIBRYGEL_SERVER_CFLAGS = \ + $(RYGEL_COMMON_LIBRYGEL_CORE_CFLAGS) \ + -I$(top_builddir)/src/librygel-server \ + -I$(top_srcdir)/src/librygel-server -RYGEL_COMMON_VALAFLAGS_PKG = --pkg gupnp-1.0 --pkg gupnp-av-1.0 --pkg gee-0.8 +RYGEL_COMMON_LIBRYGEL_SERVER_LIBS = \ + $(RYGEL_COMMON_LIBRYGEL_CORE_LIBS) \ + $(top_builddir)/src/librygel-server/librygel-server-2.0.la -RYGEL_COMMON_VALAFLAGS = \ - --pkg rygel-build-config \ - --vapidir=$(rygeldir) \ +RYGEL_COMMON_BUILD_CONFIG_VALAFLAGS = \ --vapidir=$(librygelcoredir) \ + --pkg rygel-build-config + +# Note: This must always be the last one in *_VALAFLAGS, +# because the -g needs to be at the end of VALAFLAGS to not break make dist. +RYGEL_COMMON_VALAFLAGS = \ + $(RYGEL_COMMON_BUILD_CONFIG_VALAFLAGS) $(RYGEL_COMMON_VALAFLAGS_PKG) \ $(RYGEL_DEBUG_VALAFLAGS) \ $(COVERAGE_VALAFLAGS) + RYGEL_PLUGIN_LINKER_FLAGS = -shared -fPIC -module -avoid-version vala-clean: -- cgit v1.2.1