buildsystem: Don't force main to depend on everything else.
authorWalter Doekes <walter+asterisk@wjd.nu>
Fri, 14 Feb 2014 13:31:48 +0000 (13:31 +0000)
committerWalter Doekes <walter+asterisk@wjd.nu>
Fri, 14 Feb 2014 13:31:48 +0000 (13:31 +0000)
Directory 'main' only needs to depend on embedded modules. If no
module embedding is selected, the dependency is dropped.

Review: https://reviewboard.asterisk.org/r/3212/
........

Merged revisions 408083 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 408084 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 408085 from http://svn.asterisk.org/svn/asterisk/branches/12

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

Makefile

index 8285bca..0ef81e2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -101,6 +101,8 @@ export LDCONFIG_FLAGS
 export PYTHON
 
 -include makeopts
+# we want the MENUSELECT_EMBED var
+-include menuselect.makeopts
 
 # start the primary CFLAGS and LDFLAGS with any that were provided
 # to the configure script
@@ -359,12 +361,16 @@ makeopts.embed_rules: menuselect.makeopts
 $(SUBDIRS): makeopts .lastclean main/version.c include/asterisk/build.h include/asterisk/buildopts.h defaults.h makeopts.embed_rules
 
 ifeq ($(findstring $(OSARCH), mingw32 cygwin ),)
+  ifneq ($(MENUSELECT_EMBED),)
     # Non-windows:
     # ensure that all module subdirectories are processed before 'main' during
     # a parallel build, since if there are modules selected to be embedded the
     # directories containing them must be completed before the main Asterisk
-    # binary can be built
+    # binary can be built.
+    # If MENUSELECT_EMBED is empty, we don't need this and allow 'main' to be
+    # be built without building all dependencies first.
 main: $(filter-out main,$(MOD_SUBDIRS))
+  endif
 else
     # Windows: we need to build main (i.e. the asterisk dll) first,
     # followed by res, followed by the other directories, because