From 48ae9f0d4f1b7b1f9fd96d222fad4de9c4187e9a Mon Sep 17 00:00:00 2001 From: Russell Bryant <russell@russellbryant.com> Date: Thu, 22 Jun 2006 15:38:13 +0000 Subject: [PATCH] - convert the 'uninstall' target to use separate targets to process each subdirectory instead of a for loop - remove the FORCE target from the main Makefile and add the couple places I used it to the .PHONY target. .PHONY does the same thing and is a built-in more efficient way of doing it. - add a bunch more targets to .PHONY ... git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35503 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- Makefile | 17 +++++++++-------- agi/Makefile | 2 +- apps/Makefile | 2 +- cdr/Makefile | 2 +- channels/Makefile | 2 +- codecs/Makefile | 2 +- formats/Makefile | 2 +- funcs/Makefile | 2 +- pbx/Makefile | 2 +- res/Makefile | 2 +- utils/Makefile | 2 +- 11 files changed, 19 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index 8b32683716..e03fe7177d 100644 --- a/Makefile +++ b/Makefile @@ -13,8 +13,6 @@ .EXPORT_ALL_VARIABLES: -.PHONY: sounds clean clean-depend dist-clean all depend - # Create OPTIONS variable OPTIONS= @@ -273,6 +271,7 @@ SUBDIRS_CLEAN_DEPEND:=$(SUBDIRS:%=%-clean-depend) MOD_SUBDIRS_DEPEND:=$(MOD_SUBDIRS:%=%-depend) OTHER_SUBDIRS_DEPEND:=$(OTHER_SUBDIRS:%=%-depend) SUBDIRS_DEPEND:=$(MOD_SUBDIRS_DEPEND) $(OTHER_SUBDIRS_DEPEND) +SUBDIRS_UNINSTALL:=$(SUBDIRS:%=%-uninstall) OBJS=io.o sched.o logger.o frame.o loader.o config.o channel.o \ translate.o file.o pbx.o cli.o md5.o term.o \ @@ -371,10 +370,10 @@ _all: all all: cleantest config.status menuselect.makeopts depend asterisk $(SUBDIRS) -$(MOD_SUBDIRS): FORCE +$(MOD_SUBDIRS): @CFLAGS="$(MOD_SUBDIR_CFLAGS)$(ASTCFLAGS)" $(MAKE) -C $@ -$(OTHER_SUBDIRS): FORCE +$(OTHER_SUBDIRS): @CFLAGS="$(OTHER_SUBDIR_CFLAGS)$(ASTCFLAGS)" $(MAKE) -C $@ config.status: configure @@ -816,8 +815,6 @@ TAGS: .tags-depend .tags-sources etags: TAGS -FORCE: - %_env: $(MAKE) -C $(shell echo $@ | sed "s/_env//g") env @@ -837,7 +834,10 @@ cleantest: $(MAKE) defaults.h;\ fi -_uninstall: +$(SUBDIRS_UNINSTALL): + @$(MAKE) -C $(@:-uninstall=) uninstall + +_uninstall: $(SUBDIRS_UNINSTALL) rm -f $(DESTDIR)$(MODULES_DIR)/* rm -f $(DESTDIR)$(ASTSBINDIR)/*asterisk* rm -f $(DESTDIR)$(ASTSBINDIR)/astgenkey @@ -845,7 +845,6 @@ _uninstall: rm -rf $(DESTDIR)$(ASTHEADERDIR) rm -rf $(DESTDIR)$(ASTDATADIR)/firmware rm -rf $(DESTDIR)$(ASTMANDIR)/man8 - for x in $(SUBDIRS); do $(MAKE) -C $$x uninstall || exit 1 ; done $(MAKE) -C sounds uninstall uninstall: _uninstall @@ -883,3 +882,5 @@ mxml/libmxml.a: makeopts.xml: $(foreach dir,$(MOD_SUBDIRS),$(dir)/*.c) build_tools/cflags.xml sounds/sounds.xml @echo "Generating list of available modules ..." @build_tools/prep_moduledeps > $@ + +.PHONY: sounds clean clean-depend dist-clean all _all depend cleantest uninstall _uninstall uninstall-all dont-optimize valgrind $(SUBDIRS_INSTALL) $(SUBDIRS_CLEAN) $(SUBDIRS_CLEAN_DEPEND) $(SUBDIRS_DEPEND) $(SUBDIRS_UNINSTALL) diff --git a/agi/Makefile b/agi/Makefile index d73f2382cc..e7a2107429 100644 --- a/agi/Makefile +++ b/agi/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall AGIS=agi-test.agi eagi-test eagi-sphinx-test jukebox.agi diff --git a/apps/Makefile b/apps/Makefile index 0128582021..3601da45c6 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall ifneq ($(wildcard ../menuselect.makeopts),) include ../menuselect.makeopts diff --git a/cdr/Makefile b/cdr/Makefile index 1b4df79785..cfc6fbfa5b 100644 --- a/cdr/Makefile +++ b/cdr/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall ifneq ($(wildcard ../menuselect.makeopts),) include ../menuselect.makeopts diff --git a/channels/Makefile b/channels/Makefile index 93429b6b42..a231ded1f5 100644 --- a/channels/Makefile +++ b/channels/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall ifneq ($(wildcard ../menuselect.makeopts),) include ../menuselect.makeopts diff --git a/codecs/Makefile b/codecs/Makefile index 1528ee374f..d6e304be20 100644 --- a/codecs/Makefile +++ b/codecs/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall ifneq ($(wildcard ../menuselect.makeopts),) include ../menuselect.makeopts diff --git a/formats/Makefile b/formats/Makefile index 1a306d2f26..8440aa0dd7 100644 --- a/formats/Makefile +++ b/formats/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall ifneq ($(wildcard ../menuselect.makeopts),) include ../menuselect.makeopts diff --git a/funcs/Makefile b/funcs/Makefile index b4310f9bf8..6172ed3185 100644 --- a/funcs/Makefile +++ b/funcs/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall ifneq ($(wildcard ../menuselect.makeopts),) include ../menuselect.makeopts diff --git a/pbx/Makefile b/pbx/Makefile index 795911c94e..74168c0700 100644 --- a/pbx/Makefile +++ b/pbx/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall ifneq ($(wildcard ../menuselect.makeopts),) include ../menuselect.makeopts diff --git a/res/Makefile b/res/Makefile index 6b7dd3b0c5..9ee5a2e62b 100644 --- a/res/Makefile +++ b/res/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall ifneq ($(wildcard ../menuselect.makeopts),) include ../menuselect.makeopts diff --git a/utils/Makefile b/utils/Makefile index 2432ad2feb..4e3aa5e83e 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -11,7 +11,7 @@ # the GNU General Public License # -.PHONY: clean clean-depend all depend +.PHONY: clean clean-depend all depend uninstall UTILS:=astman smsq stereorize streamplayer aelparse -- GitLab