dect
/
asterisk
Archived
13
0
Fork 0

Merged revisions 48525 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48525 | kpfleming | 2006-12-16 15:14:34 -0600 (Sat, 16 Dec 2006) | 2 lines

simplify dependency tracking system, using the compiler's built-in method for generating them, and only doing dependency tracking if developer mode is enabled via the configure script

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48527 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
kpfleming 2006-12-16 21:24:52 +00:00
parent ad0e0a29d4
commit 7fdeb17c60
7 changed files with 26 additions and 182 deletions

View File

@ -239,10 +239,6 @@ OTHER_SUBDIRS:=utils agi
SUBDIRS:=$(OTHER_SUBDIRS) $(MOD_SUBDIRS)
SUBDIRS_INSTALL:=$(SUBDIRS:%=%-install)
SUBDIRS_CLEAN:=$(SUBDIRS:%=%-clean)
SUBDIRS_CLEAN_DEPEND:=$(SUBDIRS:%=%-clean-depend)
MOD_SUBDIRS_DEPEND:=$(MOD_SUBDIRS:%=%-depend)
OTHER_SUBDIRS_DEPEND:=$(OTHER_SUBDIRS:%=%-depend)
SUBDIRS_DEPEND:=$(OTHER_SUBDIRS_DEPEND) $(MOD_SUBDIRS_DEPEND)
SUBDIRS_UNINSTALL:=$(SUBDIRS:%=%-uninstall)
MOD_SUBDIRS_EMBED_LDSCRIPT:=$(MOD_SUBDIRS:%=%-embed-ldscript)
MOD_SUBDIRS_EMBED_LDFLAGS:=$(MOD_SUBDIRS:%=%-embed-ldflags)
@ -306,7 +302,7 @@ makeopts.embed_rules: menuselect.makeopts
@$(MAKE) --no-print-directory $(MOD_SUBDIRS_EMBED_LDFLAGS)
@$(MAKE) --no-print-directory $(MOD_SUBDIRS_EMBED_LIBS)
$(SUBDIRS): depend makeopts.embed_rules
$(SUBDIRS): include/asterisk/version.h include/asterisk/build.h include/asterisk/buildopts.h defaults.h makeopts.embed_rules
# ensure that all module subdirectories are processed before 'main' during
# a parallel build, since if there are modules selected to be embedded the
@ -348,19 +344,13 @@ include/asterisk/build.h:
fi
@rm -f $@.tmp
$(SUBDIRS_CLEAN_DEPEND):
@$(MAKE) --no-print-directory -C $(@:-clean-depend=) clean-depend
$(SUBDIRS_CLEAN):
@$(MAKE) --no-print-directory -C $(@:-clean=) clean
clean-depend: $(SUBDIRS_CLEAN_DEPEND)
clean: $(SUBDIRS_CLEAN) clean-depend
clean: $(SUBDIRS_CLEAN)
rm -f defaults.h
rm -f include/asterisk/build.h
rm -f include/asterisk/version.h
rm -f .depend
@$(MAKE) -C menuselect clean
cp -f .cleancount .lastclean
@ -404,7 +394,6 @@ update:
grep ^C update.out | cut -b4- ; \
fi ; \
rm -f update.out; \
$(MAKE) clean-depend; \
else \
echo "Not under version control"; \
fi
@ -636,14 +625,6 @@ config:
echo "We could not install init scripts for your operating system."; \
fi
$(MOD_SUBDIRS_DEPEND):
@ASTCFLAGS="$(MOD_SUBDIR_CFLAGS) $(ASTCFLAGS)" $(MAKE) --no-print-directory -C $(@:-depend=) depend
$(OTHER_SUBDIRS_DEPEND):
@ASTCFLAGS="$(OTHER_SUBDIR_CFLAGS) $(ASTCFLAGS)" $(MAKE) --no-print-directory -C $(@:-depend=) depend
depend: include/asterisk/version.h include/asterisk/buildopts.h include/asterisk/build.h defaults.h $(SUBDIRS_DEPEND)
sounds:
$(MAKE) -C sounds all
@ -703,4 +684,4 @@ menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(di
@echo "Generating input for menuselect ..."
@build_tools/prep_moduledeps > $@
.PHONY: menuselect main sounds clean clean-depend dist-clean distclean all prereqs depend cleantest uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_CLEAN) $(SUBDIRS_CLEAN_DEPEND) $(SUBDIRS_DEPEND) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS)
.PHONY: menuselect main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS)

View File

@ -40,7 +40,7 @@ $(addsuffix .so,$(filter $(LOADABLE_MODS),$(CC_MODS))): %.so: %.oo
modules.link: $(addsuffix .o,$(filter $(EMBEDDED_MODS),$(C_MODS)))
modules.link: $(addsuffix .oo,$(filter $(EMBEDDED_MODS),$(CC_MODS)))
.PHONY: clean clean-depend depend uninstall _all
.PHONY: clean uninstall _all
ifneq ($(LOADABLE_MODS),)
_all: $(LOADABLE_MODS:%=%.so)
@ -67,11 +67,9 @@ modules.link:
@for file in $(patsubst %,$(SUBDIR)/%,$(filter %.o,$^)); do echo "INPUT (../$${file})" >> $@; done
@for file in $(patsubst %,$(SUBDIR)/%,$(filter-out %.o,$^)); do echo "INPUT (../$${file})" >> $@; done
clean-depend::
rm -f .depend
clean:: clean-depend
clean::
rm -f *.so *.o *.oo
rm -f .*.o.d .*.oo.d
rm -f modules.link
install:: all
@ -79,11 +77,6 @@ install:: all
uninstall::
ifneq ($(wildcard .depend),)
include .depend
ifneq ($(wildcard .*.d),)
include .*.d
endif
depend: .depend
.depend:
../build_tools/mkdep $(ASTCFLAGS) `ls *.c *.cc 2> /dev/null`

View File

@ -38,11 +38,19 @@ endif
%.o: %.c
$(ECHO_PREFIX) echo " [CC] $< -> $@"
ifeq ($(AST_DEVMODE),yes)
$(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS) -MMD -MT $@ -MF .$(subst /,_,$@).d -MP
else
$(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS)
endif
%.oo: %.cc
$(ECHO_PREFIX) echo " [CXX] $< -> $@"
ifeq ($(AST_DEVMODE),yes)
$(CMD_PREFIX) $(CXX) -o $@ -c $< $(ASTCFLAGS) -MMD -MT $@ -MF .$(subst /,_,$@).d -MP
else
$(CMD_PREFIX) $(CXX) -o $@ -c $< $(ASTCFLAGS)
endif
%.c: %.y
$(ECHO_PREFIX) echo " [BISON] $< -> $@"

View File

@ -11,7 +11,7 @@
# the GNU General Public License
#
.PHONY: clean clean-depend all depend uninstall
.PHONY: clean all uninstall
AGIS=agi-test.agi eagi-test eagi-sphinx-test jukebox.agi
@ -37,18 +37,11 @@ install: all
uninstall:
for x in $(AGIS); do rm -f $(DESTDIR)$(AGI_DIR)/$$x ; done
clean-depend:
rm -f .depend
clean: clean-depend
clean:
rm -f *.so *.o look eagi-test eagi-sphinx-test
rm -f .*.o.d .*.oo.d
rm -f strcompat.c
ifneq ($(wildcard .depend),)
include .depend
ifneq ($(wildcard .*.d),)
include .*.d
endif
depend: .depend
.depend:
../build_tools/mkdep $(CFLAGS) `ls *.c`

View File

@ -1,123 +0,0 @@
#!/bin/sh -
#
# $OpenBSD: mkdep.gcc.sh,v 1.8 1998/09/02 06:40:07 deraadt Exp $
# $NetBSD: mkdep.gcc.sh,v 1.9 1994/12/23 07:34:59 jtc Exp $
#
# Copyright (c) 1991, 1993
# The Regents of the University of California. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
# must display the following acknowledgement:
# This product includes software developed by the University of
# California, Berkeley and its contributors.
# 4. Neither the name of the University nor the names of its contributors
# may be used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# @(#)mkdep.gcc.sh 8.1 (Berkeley) 6/6/93
#
D=.depend # default dependency file is .depend
append=0
pflag=
dflag=
while :
do case "$1" in
# -a appends to the depend file
-a)
append=1
shift ;;
# -f allows you to select a makefile name
-f)
D=$2
shift; shift ;;
# the -p flag produces "program: program.c" style dependencies
# so .o's don't get produced
-p)
pflag=p
shift ;;
# the -d flag produces double-colon rules instead of single-colon rules
-d)
dflag=d
shift ;;
*)
break ;;
esac
done
if [ $# = 0 ] ; then
echo 'usage: mkdep [-p] [-d] [-f depend_file] [cc_flags] file ...'
exit 1
fi
DTMP=/tmp/mkdep$$
TMP=$DTMP/mkdep
um=`umask`
umask 022
mkdir $DTMP
if [ $? != 0 ] ; then
echo failed to create tmp dir $DTMP
exit 1
fi
umask $um
trap 'rm -rf $DTMP ; trap 2 ; kill -2 $$' 1 2 3 13 15
if [ x$pflag = xp ]; then
${CC:-cc} -M "$@" 2>/dev/null | sed -e 's;\.o :; :;' -e 's; \./; ;g' > $TMP
elif [ x$dflag = xd ]; then
${CC:-cc} -M "$@" 2>/dev/null | sed -e 's;\.o:;\.o::;' -e 's; \./; ;g' > $TMP
else
${CC:-cc} -M "$@" 2>/dev/null | sed -e 's; \./; ;g' > $TMP
fi
if [ $? != 0 ]; then
echo 'mkdep: compile failed.'
rm -rf $DTMP
exit 1
fi
if [ $append = 1 ]; then
cat $TMP >> $D
if [ $? != 0 ]; then
echo 'mkdep: append failed.'
rm -rf $DTMP
exit 1
fi
else
mv $TMP $D
if [ $? != 0 ]; then
echo 'mkdep: rename failed.'
rm -rf $DTMP
exit 1
fi
fi
rm -rf $DTMP
exit 0

View File

@ -140,7 +140,6 @@ asterisk: $(OBJS) editline/libedit.a db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS)
clean::
rm -f asterisk
rm -f .depend
@if [ -f editline/Makefile ]; then $(MAKE) -C editline distclean ; fi
@$(MAKE) -C db1-ast clean
@$(MAKE) -C stdtime clean

View File

@ -11,7 +11,7 @@
# the GNU General Public License
#
.PHONY: clean clean-depend all depend uninstall
.PHONY: clean all uninstall
ALL_UTILS:=astman smsq stereorize streamplayer aelparse muted
UTILS:=$(ALL_UTILS)
@ -51,11 +51,9 @@ install:
uninstall:
for x in $(ALL_UTILS); do rm -f $$x $(DESTDIR)$(ASTSBINDIR)/$$x; done
clean-depend:
rm -f .depend
clean: clean-depend
clean:
rm -f *.o $(ALL_UTILS) check_expr
rm -f .*.o.d .*.oo.d
rm -f md5.c strcompat.c ast_expr2.c ast_expr2f.c pbx_ael.c
rm -f aelparse.c aelbison.c
@ -122,11 +120,6 @@ streamplayer: streamplayer.o
muted: muted.o
muted: LIBS+=$(AUDIO_LIBS)
ifneq ($(wildcard .depend),)
include .depend
ifneq ($(wildcard .*.d),)
include .*.d
endif
depend: .depend
.depend:
../build_tools/mkdep $(ASTCFLAGS) `ls *.c`