source: trunk/third/gcc/mkdep @ 16960

Revision 16960, 2.1 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r16959, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1#!/bin/sh -
2#
3# Copyright (c) 1987 Regents of the University of California.
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms are permitted
7# provided that the above copyright notice and this paragraph are
8# duplicated in all such forms and that any documentation,
9# advertising materials, and other materials related to such
10# distribution and use acknowledge that the software was developed
11# by the University of California, Berkeley.  The name of the
12# University may not be used to endorse or promote products derived
13# from this software without specific prior written permission.
14# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
15# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
16# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17#
18#       @(#)mkdep.sh    5.12 (Berkeley) 6/30/88
19#
20
21MAKE=Makefile                   # default makefile name is "Makefile"
22
23while :
24        do case "$1" in
25                # -f allows you to select a makefile name
26                -f)
27                        MAKE=$2
28                        shift; shift ;;
29
30                # the -p flag produces "program: program.c" style dependencies
31                # so .o's don't get produced
32                -p)
33                        SED='s;\.o;;'
34                        shift ;;
35                *)
36                        break ;;
37        esac
38done
39
40if [ $# = 0 ] ; then
41        echo 'usage: mkdep [-p] [-f makefile] [flags] file ...'
42        exit 1
43fi
44
45if [ ! -w $MAKE ]; then
46        echo "mkdep: no writeable file \"$MAKE\""
47        exit 1
48fi
49
50TMP=/tmp/mkdep$$
51
52trap 'rm -f $TMP ; exit 1' 1 2 3 13 15
53
54cp $MAKE ${MAKE}.bak
55
56sed -e '/DO NOT DELETE THIS LINE/,$d' < $MAKE > $TMP
57
58cat << _EOF_ >> $TMP
59# DO NOT DELETE THIS LINE -- mkdep uses it.
60# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
61
62_EOF_
63
64# If your compiler doesn't have -M, add it.  If you can't, the next two
65# lines will try and replace the "cc -M".  The real problem is that this
66# hack can't deal with anything that requires a search path, and doesn't
67# even try for anything using bracket (<>) syntax.
68#
69# egrep '^#include[     ]*".*"' /dev/null $* |
70# sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' -e 's/\.c/.o/' |
71
72gcc -MM $* |
73sed "
74        s; \./; ;g
75        $SED" >> $TMP
76
77cat << _EOF_ >> $TMP
78
79# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
80_EOF_
81
82# copy to preserve permissions
83cp $TMP $MAKE
84rm -f ${MAKE}.bak $TMP
85exit 0
86
87
Note: See TracBrowser for help on using the repository browser.