From: Walter Doekes Date: Fri, 14 Feb 2014 13:25:24 +0000 (+0000) Subject: buildsystem: Don't force main to depend on everything else. X-Git-Tag: 1.8.27.0-rc1~48 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b78a146975850f489810177de8efb796a7c19225;p=thirdparty%2Fasterisk.git buildsystem: Don't force main to depend on everything else. 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/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@408083 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/Makefile b/Makefile index 69867c2024..5f610f7536 100644 --- a/Makefile +++ b/Makefile @@ -95,6 +95,9 @@ ifneq ($(wildcard makeopts),) include makeopts endif +# we want the MENUSELECT_EMBED var +-include menuselect.makeopts + # start the primary CFLAGS and LDFLAGS with any that were provided # to the configure script _ASTCFLAGS:=$(CONFIG_CFLAGS) @@ -327,12 +330,16 @@ makeopts.embed_rules: menuselect.makeopts $(SUBDIRS): main/version.c include/asterisk/version.h 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