#!/bin/sh - # # Copyright (c) 1987 Regents of the University of California. # All rights reserved. # # Redistribution and use in source and binary forms are permitted # provided that this notice is preserved and that due credit is given # to the University of California at Berkeley. The name of the University # may not be used to endorse or promote products derived from this # software without specific prior written permission. This software # is provided ``as is'' without express or implied warranty. # # @(#)mkdep.sh 5.9 (Berkeley) 1/1/88 # #PATH=/bin:/usr/bin:/usr/ucb #export PATH MAKE=Makefile # default makefile name is "Makefile" : ${CPPDEP:="gcc -MM"} SRCDIR= while : do case "$1" in # -f allows you to select a makefile name -f) MAKE=$2 shift; shift ;; # the -p flag produces "program: program.c" style dependencies # so .o's don't get produced -p) SED='-e s;\.o;;' shift ;; -s) SRCDIR=$2/ shift ; shift ;; *) break ;; esac done if [ $# = 0 ] ; then echo 'usage: mklibdep [-p] [-s srcdir] [-f makefile] [flags] file ...' exit 1 fi if [ ! -w $MAKE ]; then echo "mklibdep: no writeable file \"$MAKE\"" exit 1 fi TMP=/tmp/mkdep$$ trap 'rm -f $TMP ; exit 1' 1 2 3 13 15 cp $MAKE ${MAKE}.bak sed -e '/DO NOT DELETE THIS LINE/,$d' < $MAKE > $TMP cat << _EOF_ >> $TMP # DO NOT DELETE THIS LINE -- mkdep uses it. # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. _EOF_ for x in $* do $CPPDEP $CPPOPT $SRCDIR$x >> $TMP done #$CC $CPPOPT $* | /bin/sed -e "/\/usr\/include\//d" -e "s; \./; ;g" -e "s;\.o:;\.c:;" $SED | \ # awk ' { \ # if ($NF == "\\" ) { \ # print rec; \ # rec = $0; \ # } \ # else if ($1 == $2 ":" ) { \ # next # } \ # else if ($1 != prev) { \ # if (rec != "") { \ # print rec; \ # } \ # rec = $0; prev = $1; \ # } \ # else { \ # if (length(rec $2) > 78) { \ # print rec; rec = $0; \ # } else \ # rec = rec " " $2 \ # } \ # } \ # END { \ # print rec ; \ # } ' >> $TMP cat << _EOF_ >> $TMP # IF YOU PUT ANYTHING HERE IT WILL GO AWAY _EOF_ # copy to preserve permissions cp $TMP $MAKE rm -f ${MAKE}.bak $TMP exit 0