File:  [ELWIX - Embedded LightWeight unIX -] / libelwix / mkdep
Revision 1.2: download - view: text, annotated - select for diffs - revision graph
Wed May 18 12:47:42 2016 UTC (7 years, 11 months ago) by misho
Branches: MAIN
CVS tags: elwix5_9, elwix5_8, elwix5_7, elwix5_6, elwix5_5, elwix5_4, elwix5_3, elwix5_2, elwix5_12, elwix5_11, elwix5_10, elwix5_1, elwix5_0, elwix4_9, elwix4_8, elwix4_7, elwix4_6, elwix4_5, elwix4_4, elwix4_3, elwix4_26, elwix4_25, elwix4_24, elwix4_23, elwix4_22, elwix4_21, elwix4_20, elwix4_2, elwix4_19, elwix4_18, elwix4_17, elwix4_16, elwix4_15, elwix4_14, elwix4_13, elwix4_12, elwix4_11, elwix4_10, elwix4_1, HEAD, ELWIX5_9, ELWIX5_8, ELWIX5_7, ELWIX5_6, ELWIX5_5, ELWIX5_4, ELWIX5_3, ELWIX5_2, ELWIX5_11, ELWIX5_10, ELWIX5_1, ELWIX5_0, ELWIX4_9, ELWIX4_8, ELWIX4_7, ELWIX4_6, ELWIX4_5, ELWIX4_4, ELWIX4_3, ELWIX4_26, ELWIX4_25, ELWIX4_24, ELWIX4_23, ELWIX4_22, ELWIX4_21, ELWIX4_20, ELWIX4_2, ELWIX4_19, ELWIX4_18, ELWIX4_17, ELWIX4_16, ELWIX4_15, ELWIX4_14, ELWIX4_13, ELWIX4_12, ELWIX4_11, ELWIX4_10, ELWIX4_1, ELWIX4_0
version 4.0

    1: #!/bin/sh -
    2: #
    3: # Copyright (c) 1991, 1993
    4: #	The Regents of the University of California.  All rights reserved.
    5: #
    6: # Redistribution and use in source and binary forms, with or without
    7: # modification, are permitted provided that the following conditions
    8: # are met:
    9: # 1. Redistributions of source code must retain the above copyright
   10: #    notice, this list of conditions and the following disclaimer.
   11: # 2. Redistributions in binary form must reproduce the above copyright
   12: #    notice, this list of conditions and the following disclaimer in the
   13: #    documentation and/or other materials provided with the distribution.
   14: # 4. Neither the name of the University nor the names of its contributors
   15: #    may be used to endorse or promote products derived from this software
   16: #    without specific prior written permission.
   17: #
   18: # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   19: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   20: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   21: # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   22: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   23: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   24: # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   25: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   26: # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   27: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   28: # SUCH DAMAGE.
   29: #
   30: #	@(#)mkdep.gcc.sh	8.1 (Berkeley) 6/6/93
   31: # $FreeBSD: head/usr.bin/mkdep/mkdep.gcc.sh 216370 2010-12-11 08:32:16Z joel $
   32: 
   33: D=.depend			# default dependency file is .depend
   34: append=0
   35: pflag=
   36: 
   37: while :
   38: 	do case "$1" in
   39: 		# -a appends to the depend file
   40: 		-a)
   41: 			append=1
   42: 			shift ;;
   43: 
   44: 		# -f allows you to select a makefile name
   45: 		-f)
   46: 			D=$2
   47: 			shift; shift ;;
   48: 
   49: 		# the -p flag produces "program: program.c" style dependencies
   50: 		# so .o's don't get produced
   51: 		-p)
   52: 			pflag=p
   53: 			shift ;;
   54: 		*)
   55: 			break ;;
   56: 	esac
   57: done
   58: 
   59: case $# in 0) 
   60: 	echo 'usage: mkdep [-ap] [-f file] [flags] file ...' >&2
   61: 	exit 1;;
   62: esac
   63: 
   64: TMP=_mkdep$$
   65: trap 'rm -f $TMP ; trap 2 ; kill -2 $$' 1 2 3 13 15
   66: trap 'rm -f $TMP' 0
   67: 
   68: # For C sources, mkdep must use exactly the same cpp and predefined flags
   69: # as the compiler would.  This is easily arranged by letting the compiler
   70: # pick the cpp.  mkdep must be told the cpp to use for exceptional cases.
   71: CC=${CC-"cc"}
   72: MKDEP_CPP=${MKDEP_CPP-"${CC} -E"}
   73: MKDEP_CPP_OPTS=${MKDEP_CPP_OPTS-"-M"};
   74: 
   75: echo "# $@" > $TMP	# store arguments for debugging
   76: 
   77: if $MKDEP_CPP $MKDEP_CPP_OPTS "$@" >> $TMP; then :
   78: else
   79: 	echo 'mkdep: compile failed' >&2
   80: 	exit 1
   81: fi
   82: 
   83: case x$pflag in
   84: 	x) case $append in 
   85: 		0) sed -e 's; \./; ;g' < $TMP >  $D;;
   86: 		*) sed -e 's; \./; ;g' < $TMP >> $D;;
   87: 	   esac
   88: 	;;	
   89: 	*) case $append in 
   90: 		0) sed -e 's;\.o:;:;' -e 's; \./; ;g' < $TMP >  $D;;
   91: 		*) sed -e 's;\.o:;:;' -e 's; \./; ;g' < $TMP >> $D;;
   92: 	   esac
   93: 	;;
   94: esac
   95: 
   96: exit $?

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>