source: trunk/third/bind/make/mkdep.in @ 16985

Revision 16985, 4.5 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r16984, which included commits to RCS files with non-trunk default branches.
Line 
1#!/bin/sh -
2
3## ++Copyright++ 1987
4## -
5## Copyright (c) 1987 Regents of the University of California.
6## All rights reserved.
7##
8## Redistribution and use in source and binary forms, with or without
9## modification, are permitted provided that the following conditions
10## are met:
11## 1. Redistributions of source code must retain the above copyright
12##    notice, this list of conditions and the following disclaimer.
13## 2. Redistributions in binary form must reproduce the above copyright
14##    notice, this list of conditions and the following disclaimer in the
15##    documentation and/or other materials provided with the distribution.
16## 3. All advertising materials mentioning features or use of this software
17##    must display the following acknowledgement:
18## This product includes software developed by the University of
19## California, Berkeley and its contributors.
20## 4. Neither the name of the University nor the names of its contributors
21##    may be used to endorse or promote products derived from this software
22##    without specific prior written permission.
23## THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26## ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33## SUCH DAMAGE.
34## -
35## Portions Copyright (c) 1993 by Digital Equipment Corporation.
36##
37## Permission to use, copy, modify, and distribute this software for any
38## purpose with or without fee is hereby granted, provided that the above
39## copyright notice and this permission notice appear in all copies, and that
40## the name of Digital Equipment Corporation not be used in advertising or
41## publicity pertaining to distribution of the document or software without
42## specific, written prior permission.
43##
44## THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
45## WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
46## OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL DIGITAL EQUIPMENT
47## CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
48## DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
49## PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
50## ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
51## SOFTWARE.
52## -
53## --Copyright--
54
55#
56#       @(#)mkdep.sh    5.12 (Berkeley) 6/30/88
57#
58
59MAKE=Makefile                   # default makefile name is "Makefile"
60
61while :
62        do case "$1" in
63                # -f allows you to select a makefile name
64                -f)
65                        MAKE=$2
66                        shift; shift ;;
67
68                # the -p flag produces "program: program.c" style dependencies
69                # so .o's don't get produced
70                -p)
71                        SED='s;\.o;;'
72                        shift ;;
73                *)
74                        break ;;
75        esac
76done
77
78if [ $# = 0 ] ; then
79        echo 'usage: mkdep [-p] [-f makefile] [flags] file ...'
80        exit 1
81fi
82
83if [ ! -w $MAKE ]; then
84        echo "mkdep: no writeable file \"$MAKE\""
85        exit 1
86fi
87
88TMP=mkdep$$
89
90trap 'rm -f $TMP ; exit 1' 1 2 3 13 15
91
92cp $MAKE ${MAKE}.bak
93
94sed -e '/DO NOT DELETE THIS LINE/,$d' < $MAKE > $TMP
95
96cat << _EOF_ >> $TMP
97# DO NOT DELETE THIS LINE -- mkdep uses it.
98# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
99
100_EOF_
101
102# If your compiler doesn't have -M, add it.  If you can't, the next two
103# lines will try and replace the "cc -M".  The real problem is that this
104# hack can't deal with anything that requires a search path, and doesn't
105# even try for anything using bracket (<>) syntax.
106#
107# egrep '^#include[     ]*".*"' /dev/null $* |
108# sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' -e 's/\.c/.o/' |
109
110MKDEPPROG="@MKDEPPROG@"
111if [ X"${MKDEPPROG}" != X ]; then
112    @SHELL@ -c "${MKDEPPROG} $*"
113else
114    @MKDEPCC@ @MKDEPCFLAGS@ $* |
115    sed "
116        s; \./; ;g
117        @LIBTOOL_MKDEP_SED@
118        $SED" |
119    awk '{
120        if ($1 != prev) {
121                if (rec != "")
122                        print rec;
123                rec = $0;
124                prev = $1;
125        }
126        else {
127                if (length(rec $2) > 78) {
128                        print rec;
129                        rec = $0;
130                }
131                else
132                        rec = rec " " $2
133        }
134    }
135    END {
136        print rec
137    }' >> $TMP
138fi
139
140cat << _EOF_ >> $TMP
141
142# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
143_EOF_
144
145# copy to preserve permissions
146cp $TMP $MAKE
147rm -f ${MAKE}.bak $TMP
148exit 0
Note: See TracBrowser for help on using the repository browser.