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
.EXPORT_ALL_VARIABLES:
-.PHONY: sounds clean clean-depend dist-clean all depend
-
# Create OPTIONS variable
OPTIONS=
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 \
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
etags: TAGS
-FORCE:
-
%_env:
$(MAKE) -C $(shell echo $@ | sed "s/_env//g") env
$(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
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
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)
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# the GNU General Public License
#
-.PHONY: clean clean-depend all depend
+.PHONY: clean clean-depend all depend uninstall
UTILS:=astman smsq stereorize streamplayer aelparse