386BSD 0.1 development
[unix-history] / usr / src / usr.bin / mkdep / mkdep.old.compiler
index dfea56a..59bc81d 100644 (file)
@@ -1,42 +1,52 @@
 #!/bin/sh -
 #
 #!/bin/sh -
 #
-# Copyright (c) 1988 The Regents of the University of California.
+# Copyright (c) 1991 The Regents of the University of California.
 # All rights reserved.
 #
 # 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.
+# 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.
 #
 #
-#      @(#)mkdep.old.compiler  5.2 (Berkeley) %G%
+# 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.old.compiler  5.4 (Berkeley) 4/12/91
 #
 
 # This is a version of mkdep that works pretty well
 # with compilers that don't have -M.
 #
 
 # This is a version of mkdep that works pretty well
 # with compilers that don't have -M.
+MAKE=Makefile                  # default makefile name is "Makefile"
 
 PATH=/bin:/usr/bin:/usr/ucb:/lib:/usr/lib
 
 INCL=
 
 PATH=/bin:/usr/bin:/usr/ucb:/lib:/usr/lib
 
 INCL=
-D=.depend
-append=0
 
 while :
        do case "$1" in
 
 while :
        do case "$1" in
-               # -a appends to the depend file
-               -a)
-                       append=1
-                       shift ;;
-
                # -f allows you to select a makefile name
                -f)
                # -f allows you to select a makefile name
                -f)
-                       D=$2
+                       MAKE=$2
                        shift; shift ;;
 
                # the -p flag produces "program: program.c" style dependencies
                        shift; shift ;;
 
                # the -p flag produces "program: program.c" style dependencies
@@ -50,20 +60,36 @@ while :
 done
 
 if [ $# = 0 ] ; then
 done
 
 if [ $# = 0 ] ; then
-       echo 'usage: mkdep [-f depend_file] [cc_flags] file ...'
+       echo 'usage: mkdep [-p] [-f makefile] [flags] file ...'
+       exit 1
+fi
+
+if [ ! -w $MAKE ]; then
+       echo "mkdep: no writeable file \"$MAKE\""
        exit 1
 fi
 
 TMP=/tmp/mkdep$$
        exit 1
 fi
 
 TMP=/tmp/mkdep$$
+
 trap 'rm -f $TMP ; exit 1' 1 2 3 13 15
 
 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 i do
        case "$i" in
 for i do
        case "$i" in
-       -c|-M)
+       -c|-M|-O)
                ;;
        -I*)
                INCL="$INCL $i";;
                ;;
        -I*)
                INCL="$INCL $i";;
-       -D*|-O|-U*)
+       -D*|-U*)
                FLAGS="$FLAGS $i";;
        *)
                # assume source file
                FLAGS="$FLAGS $i";;
        *)
                # assume source file
@@ -104,12 +130,14 @@ awk '{
 }
 END {
        print rec
 }
 END {
        print rec
-}' > $TMP
+}' >> $TMP
 
 
-if [ $append = 1 ]; then
-       cat $TMP >> $D
-       rm -f $TMP
-else
-       mv $TMP $D
-fi
+cat << _EOF_ >> $TMP
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
+_EOF_
+
+# copy to preserve permissions
+cp $TMP $MAKE
+rm -f $TMP
 exit 0
 exit 0