instead of using a for loop to call make on each subdirectory, use a target for
authorRussell Bryant <russell@russellbryant.com>
Thu, 22 Jun 2006 12:14:29 +0000 (12:14 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 22 Jun 2006 12:14:29 +0000 (12:14 +0000)
each subdirectory.
 - the shell code in the for loop doesn't have a manually catch errors from
   make on a subdirectory
 - you can now run something like "make apps" or "make channels" from the root
   source directory
 - This should allow for better support for parallel instances of make (the -j
   option) since make can work on each subdirectory target in parallel

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35436 65c4cc65-6c06-0410-ace0-fbb531ad65f3

Makefile

index ef40302..0f6abca 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -368,7 +368,7 @@ _all: all
        @echo " +               make install                +"  
        @echo " +-------------------------------------------+"  
 
-all: cleantest config.status menuselect.makeopts depend asterisk subdirs
+all: cleantest config.status menuselect.makeopts depend asterisk $(SUBDIRS)
 
 config.status: configure
        @CFLAGS="" ./configure
@@ -480,10 +480,11 @@ asterisk: include/asterisk/buildopts.h editline/libedit.a db1-ast/libdb1.a $(OBJ
 muted: muted.o
        $(CC) $(AUDIO_LIBS) -o muted muted.o
 
-subdirs: 
-       @for x in $(MOD_SUBDIRS); do CFLAGS="$(MOD_SUBDIR_CFLAGS)$(ASTCFLAGS)" $(MAKE) -C $$x || exit 1 ; done
-       @CFLAGS="$(OTHER_SUBDIR_CFLAGS)$(ASTCFLAGS)" $(MAKE) -C utils
-       @CFLAGS="$(OTHER_SUBDIR_CFLAGS)$(ASTCFLAGS)" $(MAKE) -C agi
+$(MOD_SUBDIRS): FORCE
+       @CFLAGS="$(MOD_SUBDIR_CFLAGS)$(ASTCFLAGS)" $(MAKE) -C $@
+
+$(OTHER_SUBDIRS): FORCE 
+       @CFLAGS="$(OTHER_SUBDIR_CFLAGS)$(ASTCFLAGS)" $(MAKE) -C $@
 
 clean-depend:
        @for x in $(SUBDIRS); do $(MAKE) -C $$x clean-depend || exit 1 ; done