From a7d2f5d8bed1526314a7fefdd88117be5df85fd6 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Tue, 3 Apr 2007 10:53:47 +0000 Subject: [PATCH] add auto generated mod_* targets (generated from modules.conf. A step towards make -j support for the module builds. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4840 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- Makefile.am | 17 +++++++++++++++-- src/mod/Makefile.am | 12 ++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index 13f8375d13..c22d4b3b3b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -113,7 +113,7 @@ nodist_libfreeswitch_la_SOURCES = src/include/switch_version.h MOD_LINK = $(BASE)/libfreeswitch.la CLEANFILES = src/include/switch_version.h -BUILT_SOURCES = src/include/switch_version.h +BUILT_SOURCES = src/include/switch_version.h ./$(DEPDIR)/modules.targets bin_PROGRAMS = freeswitch freeswitch_SOURCES = src/switch.c @@ -122,7 +122,7 @@ freeswitch_CFLAGS = $(AM_CFLAGS) freeswitch_LDFLAGS = $(AM_LDFLAGS) -rpath $(libdir) freeswitch_LDADD = libfreeswitch.la libs/apr/libapr-1.la -$(libfreeswitch_la_SOURCES): $(CORE_LIBS) $(switch_builddir)/quiet_libtool +$(libfreeswitch_la_SOURCES): $(CORE_LIBS) $(switch_builddir)/quiet_libtool modules.conf $(switch_builddir)/quiet_libtool: $(switch_builddir)/libtool @cat libtool | sed -e 's|$$show "$$command"|if test -z "$$suppress_output" ; then $$show "Compiling $$srcfile ..." ; fi|' > quiet_libtool @@ -239,6 +239,19 @@ eclean: clean megaclean: eclean modclean rm -f `find ./libs -name \*.la` +@am__include@ @am__quote@./$(DEPDIR)/modules.targets@am__quote@ + +modules.conf: + if test -f $@; then touch $@; else cp build/modules.conf.in $@ + +./$(DEPDIR)/modules.targets: modules.conf + mods=`cat modules.conf | sed -e 's|^.*/||'`; echo MODULE_TARGETS=\"$$mods\" > ./$(DEPDIR)/modules.targets + +$(MODULE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + (cd src/mod && $(MAKE) $(AM_MAKEFLAGS) $@) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + test -z "$$fail" # Special targets diff --git a/src/mod/Makefile.am b/src/mod/Makefile.am index 4cca14281f..43a72e155b 100644 --- a/src/mod/Makefile.am +++ b/src/mod/Makefile.am @@ -76,3 +76,15 @@ uninstall: @echo @echo done Uninstalling Modules + +@am__include@ @am__quote@$(switch_builddir)/$(DEPDIR)/modules.targets@am__quote@ + +$(MODULE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + moddir=`grep $@ $(switch_builddir)/modules.conf | sed -e 's|#||'` ; \ + (if test -f $$moddir/Makefile ; then \ + cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS); else\ + cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) -f $(switch_builddir)/build/modmake.rules;\ + fi;)\ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + test -z "$$fail"