mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 20:20:07 +00:00
Don't unnecessarily rebuild things on every run of 'make'.
Review: https://reviewboard.asterisk.org/r/2449/ ........ Merged revisions 385745 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 385768 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
36
Makefile
36
Makefile
@@ -356,7 +356,7 @@ makeopts.embed_rules: menuselect.makeopts
|
|||||||
+@$(SUBMAKE) $(MOD_SUBDIRS_EMBED_LDFLAGS)
|
+@$(SUBMAKE) $(MOD_SUBDIRS_EMBED_LDFLAGS)
|
||||||
+@$(SUBMAKE) $(MOD_SUBDIRS_EMBED_LIBS)
|
+@$(SUBMAKE) $(MOD_SUBDIRS_EMBED_LIBS)
|
||||||
|
|
||||||
$(SUBDIRS): makeopts cleantest main/version.c include/asterisk/build.h include/asterisk/buildopts.h defaults.h makeopts.embed_rules
|
$(SUBDIRS): makeopts .lastclean main/version.c include/asterisk/build.h include/asterisk/buildopts.h defaults.h makeopts.embed_rules
|
||||||
|
|
||||||
ifeq ($(findstring $(OSARCH), mingw32 cygwin ),)
|
ifeq ($(findstring $(OSARCH), mingw32 cygwin ),)
|
||||||
# Non-windows:
|
# Non-windows:
|
||||||
@@ -382,26 +382,25 @@ $(MOD_SUBDIRS): makeopts
|
|||||||
$(OTHER_SUBDIRS): makeopts
|
$(OTHER_SUBDIRS): makeopts
|
||||||
+@_ASTCFLAGS="$(OTHER_SUBDIR_CFLAGS) $(_ASTCFLAGS)" ASTCFLAGS="$(ASTCFLAGS)" _ASTLDFLAGS="$(_ASTLDFLAGS)" ASTLDFLAGS="$(ASTLDFLAGS)" $(SUBMAKE) --no-builtin-rules -C $@ SUBDIR=$@ all
|
+@_ASTCFLAGS="$(OTHER_SUBDIR_CFLAGS) $(_ASTCFLAGS)" ASTCFLAGS="$(ASTCFLAGS)" _ASTLDFLAGS="$(_ASTLDFLAGS)" ASTLDFLAGS="$(ASTLDFLAGS)" $(SUBMAKE) --no-builtin-rules -C $@ SUBDIR=$@ all
|
||||||
|
|
||||||
defaults.h: makeopts cleantest build_tools/make_defaults_h
|
defaults.h: makeopts .lastclean build_tools/make_defaults_h
|
||||||
@build_tools/make_defaults_h > $@.tmp
|
@build_tools/make_defaults_h > $@.tmp
|
||||||
@cmp -s $@.tmp $@ || mv $@.tmp $@
|
@cmp -s $@.tmp $@ || mv $@.tmp $@
|
||||||
@rm -f $@.tmp
|
@rm -f $@.tmp
|
||||||
|
|
||||||
main/version.c: FORCE cleantest
|
main/version.c: FORCE .lastclean
|
||||||
@build_tools/make_version_c > $@.tmp
|
@build_tools/make_version_c > $@.tmp
|
||||||
@cmp -s $@.tmp $@ || mv $@.tmp $@
|
@cmp -s $@.tmp $@ || mv $@.tmp $@
|
||||||
@rm -f $@.tmp
|
@rm -f $@.tmp
|
||||||
|
|
||||||
include/asterisk/buildopts.h: menuselect.makeopts cleantest
|
include/asterisk/buildopts.h: menuselect.makeopts .lastclean
|
||||||
@build_tools/make_buildopts_h > $@.tmp
|
@build_tools/make_buildopts_h > $@.tmp
|
||||||
@cmp -s $@.tmp $@ || mv $@.tmp $@
|
@cmp -s $@.tmp $@ || mv $@.tmp $@
|
||||||
@rm -f $@.tmp
|
@rm -f $@.tmp
|
||||||
|
|
||||||
# build.h must depend on cleantest, or parallel make may wipe it out after it's
|
# build.h must depend on .lastclean, or parallel make may wipe it out after it's
|
||||||
# been created. But since build.h contains a timestamp, the cmp trick used above
|
# been created.
|
||||||
# won't work. Just testing for existence is good enough.
|
include/asterisk/build.h: .lastclean
|
||||||
include/asterisk/build.h: cleantest
|
@build_tools/make_build_h > $@
|
||||||
@test -f $@ || build_tools/make_build_h > $@
|
|
||||||
|
|
||||||
$(SUBDIRS_CLEAN):
|
$(SUBDIRS_CLEAN):
|
||||||
+@$(SUBMAKE) -C $(@:-clean=) clean
|
+@$(SUBMAKE) -C $(@:-clean=) clean
|
||||||
@@ -459,7 +458,7 @@ ifneq ($(GREP),)
|
|||||||
XML_core_en_US = $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -l "language=\"en_US\"" $(dir)/*.c $(dir)/*.cc 2>/dev/null))
|
XML_core_en_US = $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -l "language=\"en_US\"" $(dir)/*.c $(dir)/*.cc 2>/dev/null))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
doc/core-en_US.xml: makeopts cleantest $(XML_core_en_US)
|
doc/core-en_US.xml: makeopts .lastclean $(XML_core_en_US)
|
||||||
@printf "Building Documentation For: "
|
@printf "Building Documentation For: "
|
||||||
@echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $@
|
@echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $@
|
||||||
@echo "<!DOCTYPE docs SYSTEM \"appdocsxml.dtd\">" >> $@
|
@echo "<!DOCTYPE docs SYSTEM \"appdocsxml.dtd\">" >> $@
|
||||||
@@ -477,7 +476,7 @@ ifneq ($(GREP),)
|
|||||||
XMX_full_en_US = $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -l "language=\"en_US\"" $(dir)/*.c $(dir)/*.cc 2>/dev/null))
|
XMX_full_en_US = $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -l "language=\"en_US\"" $(dir)/*.c $(dir)/*.cc 2>/dev/null))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
doc/full-en_US.xml: makeopts cleantest $(XML_full_en_US)
|
doc/full-en_US.xml: makeopts .lastclean $(XML_full_en_US)
|
||||||
ifeq ($(PYTHON),:)
|
ifeq ($(PYTHON),:)
|
||||||
@echo "--------------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------------"
|
||||||
@echo "--- Please install python to build full documentation ---"
|
@echo "--- Please install python to build full documentation ---"
|
||||||
@@ -848,8 +847,8 @@ sounds:
|
|||||||
# .cleancount is the global clean count, and .lastclean is the
|
# .cleancount is the global clean count, and .lastclean is the
|
||||||
# last clean count we had
|
# last clean count we had
|
||||||
|
|
||||||
cleantest:
|
.lastclean: .cleancount
|
||||||
@cmp -s .cleancount .lastclean || $(MAKE) clean
|
@$(MAKE) clean
|
||||||
@[ -f "$(DESTDIR)$(ASTDBDIR)/astdb.sqlite3" ] || [ ! -f "$(DESTDIR)$(ASTDBDIR)/astdb" ] || [ ! -f menuselect.makeopts ] || grep -q MENUSELECT_UTILS=.*astdb2sqlite3 menuselect.makeopts || (sed -i.orig -e's/MENUSELECT_UTILS=\(.*\)/MENUSELECT_UTILS=\1 astdb2sqlite3/' menuselect.makeopts && echo "Updating menuselect.makeopts to include astdb2sqlite3" && echo "Original version backed up to menuselect.makeopts.orig")
|
@[ -f "$(DESTDIR)$(ASTDBDIR)/astdb.sqlite3" ] || [ ! -f "$(DESTDIR)$(ASTDBDIR)/astdb" ] || [ ! -f menuselect.makeopts ] || grep -q MENUSELECT_UTILS=.*astdb2sqlite3 menuselect.makeopts || (sed -i.orig -e's/MENUSELECT_UTILS=\(.*\)/MENUSELECT_UTILS=\1 astdb2sqlite3/' menuselect.makeopts && echo "Updating menuselect.makeopts to include astdb2sqlite3" && echo "Original version backed up to menuselect.makeopts.orig")
|
||||||
|
|
||||||
$(SUBDIRS_UNINSTALL):
|
$(SUBDIRS_UNINSTALL):
|
||||||
@@ -927,19 +926,19 @@ MAKE_MENUSELECT=CC="$(BUILD_CC)" CXX="" LD="" AR="" RANLIB="" \
|
|||||||
CFLAGS="$(BUILD_CFLAGS)" LDFLAGS="$(BUILD_LDFLAGS)" \
|
CFLAGS="$(BUILD_CFLAGS)" LDFLAGS="$(BUILD_LDFLAGS)" \
|
||||||
$(MAKE) -C menuselect CONFIGURE_SILENT="--silent"
|
$(MAKE) -C menuselect CONFIGURE_SILENT="--silent"
|
||||||
|
|
||||||
menuselect/menuselect: menuselect/makeopts cleantest
|
menuselect/menuselect: menuselect/makeopts .lastclean
|
||||||
+$(MAKE_MENUSELECT) menuselect
|
+$(MAKE_MENUSELECT) menuselect
|
||||||
|
|
||||||
menuselect/cmenuselect: menuselect/makeopts cleantest
|
menuselect/cmenuselect: menuselect/makeopts .lastclean
|
||||||
+$(MAKE_MENUSELECT) cmenuselect
|
+$(MAKE_MENUSELECT) cmenuselect
|
||||||
|
|
||||||
menuselect/gmenuselect: menuselect/makeopts cleantest
|
menuselect/gmenuselect: menuselect/makeopts .lastclean
|
||||||
+$(MAKE_MENUSELECT) gmenuselect
|
+$(MAKE_MENUSELECT) gmenuselect
|
||||||
|
|
||||||
menuselect/nmenuselect: menuselect/makeopts cleantest
|
menuselect/nmenuselect: menuselect/makeopts .lastclean
|
||||||
+$(MAKE_MENUSELECT) nmenuselect
|
+$(MAKE_MENUSELECT) nmenuselect
|
||||||
|
|
||||||
menuselect/makeopts: makeopts cleantest
|
menuselect/makeopts: makeopts .lastclean
|
||||||
+$(MAKE_MENUSELECT) makeopts
|
+$(MAKE_MENUSELECT) makeopts
|
||||||
|
|
||||||
menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc)) build_tools/cflags.xml build_tools/cflags-devmode.xml sounds/sounds.xml build_tools/embed_modules.xml utils/utils.xml agi/agi.xml configure makeopts
|
menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc)) build_tools/cflags.xml build_tools/cflags-devmode.xml sounds/sounds.xml build_tools/embed_modules.xml utils/utils.xml agi/agi.xml configure makeopts
|
||||||
@@ -970,7 +969,6 @@ menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(di
|
|||||||
.PHONY: full
|
.PHONY: full
|
||||||
.PHONY: _full
|
.PHONY: _full
|
||||||
.PHONY: prereqs
|
.PHONY: prereqs
|
||||||
.PHONY: cleantest
|
|
||||||
.PHONY: uninstall
|
.PHONY: uninstall
|
||||||
.PHONY: _uninstall
|
.PHONY: _uninstall
|
||||||
.PHONY: uninstall-all
|
.PHONY: uninstall-all
|
||||||
|
Reference in New Issue
Block a user