diff --git a/Makefile b/Makefile index 8b32683716defe381731a2670463cc466af1d670..e03fe7177da8dd11288f7a26fc8dc623500b2f37 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 d73f2382cc69f63f2e1e2c6f9d39e8a1e53c8fa1..e7a2107429b4753d2b8806a6635df99d1f547cb4 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 012858202138c7c132c082a31052a688d4dbb11e..3601da45c69c4a85909197546d0e13fab2c09335 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 1b4df79785d598586dfdea5dfb33f709f637f580..cfc6fbfa5be853eaf92fed8dfd3d5a9e9696f619 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 93429b6b422a8bfe23a37476e9d84a3b6841c48c..a231ded1f53b55d3598a28ab81d8dbb2270eca6f 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 1528ee374f1eac692e064f83ed2ccf0dabffbb12..d6e304be204ce816453ef74692b9871b8a829709 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 1a306d2f2635e92d28afb2c224acfc5cd72ae974..8440aa0dd70c14fe049ea7405cd4acf19e926140 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 b4310f9bf8bae1e1a0d347468db52bb26d2ad71d..6172ed3185b6966b0b4f02e8f4f5cc06bcc0bec7 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 795911c94e1421fd665aff73bfb59c38e79eca24..74168c0700a62db39841c17fd5fd76a280a28641 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 6b7dd3b0c5f013849d611ad2ea1de8c150c2fae7..9ee5a2e62bc3c70b21d9af08a6e25635d2958c00 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 2432ad2febec9e84ed4c5eeab2fe4fb1738c5965..4e3aa5e83e988ba056ec080a8f48d657f7987408 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