- convert the 'uninstall' target to use separate targets to process each
authorRussell Bryant <russell@russellbryant.com>
Thu, 22 Jun 2006 15:38:13 +0000 (15:38 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 22 Jun 2006 15:38:13 +0000 (15:38 +0000)
  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
agi/Makefile
apps/Makefile
cdr/Makefile
channels/Makefile
codecs/Makefile
formats/Makefile
funcs/Makefile
pbx/Makefile
res/Makefile
utils/Makefile

index 8b32683..e03fe71 100644 (file)
--- 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)
index d73f238..e7a2107 100644 (file)
@@ -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
 
index 0128582..3601da4 100644 (file)
@@ -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
index 1b4df79..cfc6fbf 100644 (file)
@@ -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
index 93429b6..a231ded 100644 (file)
@@ -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
index 1528ee3..d6e304b 100644 (file)
@@ -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
index 1a306d2..8440aa0 100644 (file)
@@ -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
index b4310f9..6172ed3 100644 (file)
@@ -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
index 795911c..74168c0 100644 (file)
@@ -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
index 6b7dd3b..9ee5a2e 100644 (file)
@@ -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
index 2432ad2..4e3aa5e 100644 (file)
@@ -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