proper -j support for the module builds

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4897 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2007-04-09 14:40:03 +00:00
parent dc064af5eb
commit 5f053e183a
3 changed files with 38 additions and 93 deletions

View File

@ -14,6 +14,9 @@ if CRASHPROT
AM_CFLAGS += -DCRASH_PROT
endif
.DEFAULT:
@cd src/mod && $(MAKE) $(AM_MAKEFLAGS) $@
libfreeswitch_la_SOURCES = \
src/switch_apr.c \
src/switch_buffer.c \
@ -90,8 +93,6 @@ libs/libteletone/src/libteletone_detect.h\
libs/libteletone/src/libteletone_generate.h\
libs/libteletone/src/libteletone.h
CORE_CFLAGS = `$(switch_srcdir)/libs/apr/apr-1-config --cflags --cppflags --includes`
CORE_CFLAGS += `$(switch_srcdir)/libs/apr-util/apu-1-config --includes`
CORE_CFLAGS += -I$(switch_srcdir)/libs/sqlite
@ -244,15 +245,10 @@ 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 $@ ;fi
./$(DEPDIR)/modules.targets: modules.conf
mods=`cat modules.conf | sed -e 's|^.*/||'`; echo MODULE_TARGETS=\"$$mods\" > ./$(DEPDIR)/modules.targets
$(MODULE_TARGETS):
$(OUR_MODULES):
@set fnord $$MAKEFLAGS; amf=$$2; \
(cd src/mod && $(MAKE) $(AM_MAKEFLAGS) $@) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \

View File

@ -340,9 +340,20 @@ AM_CONDITIONAL(IS64BITLINUX, [test `uname -m` = x86_64])
#LIBS+=> core.log || error="yes";if test -n "$(VERBOSE)" -o "$$error" = "yes";then cat core.log;fi;if test "$$error" = "yes";then exit 1;fi
LIBTOOL='`if test -z "$(VERBOSE)" ; then echo $(SHELL) $(switch_builddir)/quiet_libtool ;else echo $(switch_builddir)/libtool; fi;`'
TOUCH_TARGET='if test -f "$@";then touch "$@";fi;'
AM_MAKEFLAGS='`test -n "$(VERBOSE)" || echo -s`'
CONF_MODULES='\`grep -v "\#" $(switch_builddir)/modules.conf | sed -e "s|^.*/||" \`'
OUR_MODS='`if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods=\`for i in $$tmp_mods ; do echo $$i-all ; done \`; echo $$mods `'
OUR_CLEAN_MODS='`if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods=\`for i in $$tmp_mods ; do echo $$i-clean ; done \`; echo $$mods `'
OUR_INSTALL_MODS='`if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods=\`for i in $$tmp_mods ; do echo $$i-install ; done\`; echo $$mods `'
OUR_UNINSTALL_MODS='`if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods=\`for i in $$tmp_mods ; do echo $$i-uninstall ; done\`; echo $$mods `'
AM_MAKEFLAGS='"OUR_MODULES=$(OUR_MODS)" "OUR_CLEAN_MODULES=$(OUR_CLEAN_MODS)" "OUR_INSTALL_MODULES=$(OUR_INSTALL_MODS)" "OUR_UNINSTALL_MODULES=$(OUR_UNINSTALL_MODS)" `test -n "$(VERBOSE)" || echo -s`'
#AM_MAKEFLAGS='`test -n "$(VERBOSE)" || echo -s`'
AC_SUBST(LIBTOOL)
AC_SUBST(TOUCH_TARGET)
AC_SUBST(CONF_MODULES)
AC_SUBST(OUR_MODS)
AC_SUBST(OUR_CLEAN_MODS)
AC_SUBST(OUR_INSTALL_MODS)
AC_SUBST(OUR_UNINSTALL_MODS)
AC_SUBST(AM_MAKEFLAGS)
# Run configure in all the subdirs

View File

@ -1,90 +1,28 @@
CONF_MODULES=if test ! -f $(switch_builddir)/modules.conf ; then cp $(switch_builddir)/build/modules.conf.in $(switch_builddir)/modules.conf ; fi ; conf_modules=`grep -v "\#" $(switch_builddir)/modules.conf` ;
FOUND_MODULES=found_modules=`find . -type d -name mod_\* | sed -e 's|^\./||'` ;
OUR_MODULES=if test -z "$(MODULES)" ; then our_modules=$$conf_modules ; else our_modules="$(MODULES)" ; fi ;
OUR_CLEAN_MODULES=if test -z "$(MODULES)" ; then tmp_clean_modules=`echo $$conf_modules $$found_modules`; \
our_clean_modules=`for i in $$tmp_clean_modules ; do echo $$i ; done | sort | uniq` ; \
else our_clean_modules="$(MODULES)" ; fi ;
MOD_NAME=`echo $$i | sed -e 's|^.*/||'`
MOD_DIR=`if test -d $(switch_srcdir)/src/mod/$$i ; then echo $(switch_srcdir)/src/mod/$$i ; else echo $$i ; fi;`
all: $(OUR_MODULES)
clean: $(OUR_CLEAN_MODULES)
install: $(OUR_INSTALL_MODULES)
uninstall: $(OUR_UNINSTALL_MODULES)
all:
@$(CONF_MODULES) \
$(OUR_MODULES) \
echo ;\
echo making modules ; \
for i in $$our_modules ; do \
echo ;\
echo making $$i ; \
moddir=$(MOD_DIR); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) || exit 1; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) -f $(switch_builddir)/build/modmake.rules || exit 1; \
fi; \
done
@echo
@echo done making modules
clean:
@$(CONF_MODULES) \
$(FOUND_MODULES) \
$(OUR_CLEAN_MODULES) \
echo ;\
echo making clean modules ; \
for i in $$our_clean_modules ; do \
echo ;\
echo making clean $$i ; \
moddir=$(MOD_DIR); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) clean || exit 1; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) -f $(switch_builddir)/build/modmake.rules clean || exit 1; \
fi; \
done
@echo
@echo done making clean modules
install:
@$(CONF_MODULES) \
$(OUR_MODULES) \
echo ;\
echo Installing Modules ; \
for i in $$our_modules ; do \
echo ;\
echo making install $$i ; \
moddir=$(MOD_DIR); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) install || exit 1; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) -f $(switch_builddir)/build/modmake.rules install || exit 1; \
fi; \
done
@echo
@echo done Installing Modules
uninstall:
@$(CONF_MODULES) \
$(OUR_MODULES) \
echo ;\
echo Uninstalling Modules ; \
for i in $$our_modules ; do \
echo ;\
echo making uninstall $$i ; \
moddir=$(MOD_DIR); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) uninstall || exit 1; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) -f $(switch_builddir)/build/modmake.rules uninstall || exit 1; \
fi; \
done
@echo
@echo done Uninstalling Modules
@am__include@ @am__quote@$(switch_builddir)/$(DEPDIR)/modules.targets@am__quote@
$(MODULE_TARGETS):
$(OUR_MODULES) $(OUR_CLEAN_MODULES) $(OUR_INSTALL_MODULES) $(OUR_UNINSTALL_MODULES):
@set fnord $$MAKEFLAGS; amf=$$2; \
moddir=`grep $@ $(switch_builddir)/modules.conf | sed -e 's|#||'` ; \
target=`echo $@ | sed -e 's|^.*-||'`; \
modname=`echo $@ | sed -e 's|-.*||'`; \
confmoddir=`cat $(switch_builddir)/modules.conf | grep $$modname | sed -e 's|#||' `; \
if test -z "$$confmoddir" ; then moddir=$@ ; else \
if test -d "$(switch_srcdir)/src/mod/$$confmoddir" ; then \
moddir="$(switch_srcdir)/src/mod/$$confmoddir" ; else \
moddir="$$confmoddir" ; \
fi ; \
fi ; \
if test -z "$$target" ; then target="all" ; fi ; \
echo ;\
echo making $$target $$modname ;\
(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;\
cd $$moddir && MODNAME=$$modname BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) $$target; else\
cd $$moddir && MODNAME=$$modname BASE=$(switch_builddir) $(MAKE) $(AM_MAKEFLAGS) -f $(switch_builddir)/build/modmake.rules $$target ;\
fi;)\
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
test -z "$$fail"
.DEFAULT:
@if test -z "`echo $@ | grep all`"; then $(MAKE) $(AM_MAKEFLAGS) $@-all ; else echo Unknown target `echo $@ | sed -e 's|-all||'`; exit 1; fi