X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/f48536efcf767c0d7342f2cfdb8a238d90e4232c..0293662bacc718022460583968eee5104220f93f:/usr/src/usr.bin/mkdep/mkdep.sh diff --git a/usr/src/usr.bin/mkdep/mkdep.sh b/usr/src/usr.bin/mkdep/mkdep.sh index 1743d39a34..78f1a7f87b 100644 --- a/usr/src/usr.bin/mkdep/mkdep.sh +++ b/usr/src/usr.bin/mkdep/mkdep.sh @@ -1,45 +1,94 @@ -#! /bin/sh +#!/bin/sh - # -# @(#)mkdep.sh 5.1 (Berkeley) %G% +# Copyright (c) 1987 Regents of the University of California. +# All rights reserved. # +# Redistribution and use in source and binary forms are permitted +# provided that the above copyright notice and this paragraph are +# duplicated in all such forms and that any documentation, +# advertising materials, and other materials related to such +# distribution and use acknowledge that the software was developed +# by the University of California, 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'' AND WITHOUT ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. +# +# @(#)mkdep.sh 5.18 (Berkeley) %G% +# +PATH=/bin:/usr/bin:/usr/ucb +export PATH -CC="/bin/cc -M" -TMP=/tmp/mkdep$$ +D=.depend # default dependency file is .depend +append=0 -trap '/bin/rm -f $TMP ; exit 1' 1 2 3 13 15 +while : + do case "$1" in + # -a appends to the depend file + -a) + append=1 + shift ;; -cp Makefile Makefile.bak + # -f allows you to select a makefile name + -f) + D=$2 + shift; shift ;; -sed -e '/DO NOT DELETE THIS LINE/,$d' < Makefile > $TMP + # the -p flag produces "program: program.c" style dependencies + # so .o's don't get produced + -p) + SED='s;\.o;;' + shift ;; + *) + break ;; + esac +done -cat << _EOF_ >> $TMP -# DON'T DELETE THIS LINE -- mkdep uses it. -# DON'T PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. +if [ $# = 0 ] ; then + echo 'usage: mkdep [-p] [-f depend_file] [cc_flags] file ...' + exit 1 +fi -_EOF_ +TMP=/tmp/mkdep$$ -$CC $* | sed -e 's, ./, ,g' | \ - awk ' { \ - 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 +trap 'rm -f $TMP ; exit 1' 1 2 3 13 15 -cat << _EOF_ >> $TMP +cc -M $* | +sed " + s; \./; ;g + /\.c:$/d + $SED" | +awk '{ + 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 -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY -_EOF_ +if [ $? != 0 ]; then + echo 'mkdep: compile failed.' + rm -f $TMP + exit 1 +fi -mv $TMP Makefile -rm -f Makefile.bak +if [ $append = 1 ]; then + cat $TMP >> $D + rm -f $TMP +else + mv $TMP $D +fi exit 0