From 419282d39960cc0ee5bac6d09c8c923ee3884d86 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Wed, 30 Jul 2008 15:39:37 +0000 Subject: [PATCH] use better version.c creation process, and better dependency tracking process too git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@606 2fbb986a-6c06-0410-b554-c9c1f0a7f128 --- Makefile | 26 ++++++------ mkdep | 125 ------------------------------------------------------- 2 files changed, 14 insertions(+), 137 deletions(-) delete mode 100755 mkdep diff --git a/Makefile b/Makefile index cfe775e..197db4d 100644 --- a/Makefile +++ b/Makefile @@ -76,7 +76,7 @@ PROC=ultrasparc CFLAGS += -mtune=$(PROC) -O3 -pipe -fomit-frame-pointer -mcpu=v8 endif -all: depend $(STATIC_LIBRARY) $(DYNAMIC_LIBRARY) +all: $(STATIC_LIBRARY) $(DYNAMIC_LIBRARY) update: @if [ -d .svn ]; then \ @@ -131,12 +131,13 @@ testprilib: testprilib.o pridump: pridump.o $(CC) -o pridump pridump.o -L. -lpri $(CFLAGS) -ifneq ($(wildcard .depend),) -include .depend -endif +MAKE_DEPS= -MD -MT $@ -MF .$(subst /,_,$@).d -MP -%.lo : %.c - $(CC) $(CFLAGS) -o $@ -c $< +%.o: %.c + $(CC) $(CFLAGS) $(MAKE_DEPS) -c -o $@ $< + +%.lo: %.c + $(CC) $(CFLAGS) $(MAKE_DEPS) -c -o $@ $< $(STATIC_LIBRARY): $(STATIC_OBJS) ar rcs $(STATIC_LIBRARY) $(STATIC_OBJS) @@ -147,7 +148,7 @@ $(DYNAMIC_LIBRARY): $(DYNAMIC_OBJS) $(LDCONFIG) $(LDCONFIG_FLAGS) . ln -sf libpri.so.$(SONAME) libpri.so -version.c: +version.c: FORCE @build_tools/make_version_c > $@.tmp @cmp -s $@.tmp $@ || mv $@.tmp $@ @rm -f $@.tmp @@ -156,11 +157,12 @@ clean: rm -f *.o *.so *.lo *.so.$(SONAME) rm -f testprilib $(STATIC_LIBRARY) $(DYNAMIC_LIBRARY) rm -f pritest pridump - rm -f .depend + rm -f .*.d -depend: .depend +.PHONY: -.depend: - CC="$(CC)" ./mkdep ${CFLAGS} `ls *.c` +FORCE: -.PHONY: version.c +ifneq ($(wildcard .*.d),) + include .*.d +endif diff --git a/mkdep b/mkdep deleted file mode 100755 index 1042840..0000000 --- a/mkdep +++ /dev/null @@ -1,125 +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= - -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 ;; - *) - break ;; - esac -done - -if [ $# = 0 ] ; then - echo 'usage: mkdep [-p] [-f depend_file] [cc_flags] file ...' - exit 1 -fi - -DTMP=/tmp/mkdep$$ -TMP=$DTMP/mkdep - -um=`umask` -umask 022 -if ! mkdir $DTMP ; 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 = x ]; then - ${CC:-cc} -M "$@" 2>/dev/null | sed -e 's; \./; ;g' > $TMP -else - ${CC:-cc} -M "$@" 2>/dev/null | sed -e 's;\.o :; :;' -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 - cat $TMP | sed -e 's/\.o:/.lo:/g' >>$D - if [ $? != 0 ]; then - echo 'mkdep: append failed.' - rm -rf $DTMP - exit 1 - fi -else - cat $TMP > $D - if [ $? != 0 ]; then - echo 'mkdep: overwrite failed.' - rm -rf $DTMP - exit 1 - fi - cat $TMP | sed -e 's/\.o:/.lo:/g' >>$D - if [ $? != 0 ]; then - echo 'mkdep: append failed.' - rm -rf $DTMP - exit 1 - fi -fi - -rm -rf $DTMP -exit 0