|
|
1.1 ! root 1: #!/bin/sh ! 2: # ! 3: # Mach Operating System ! 4: # Copyright (c) 1991,1990 Carnegie Mellon University ! 5: # All Rights Reserved. ! 6: # ! 7: # Permission to use, copy, modify and distribute this software and its ! 8: # documentation is hereby granted, provided that both the copyright ! 9: # notice and this permission notice appear in all copies of the ! 10: # software, derivative works or modified versions, and any portions ! 11: # thereof, and that both notices appear in supporting documentation. ! 12: # ! 13: # CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" ! 14: # CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ! 15: # ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. ! 16: # ! 17: # Carnegie Mellon requests users of this software to return to ! 18: # ! 19: # Software Distribution Coordinator or [email protected] ! 20: # School of Computer Science ! 21: # Carnegie Mellon University ! 22: # Pittsburgh PA 15213-3890 ! 23: # ! 24: # any improvements or extensions that they make and grant Carnegie Mellon ! 25: # the rights to redistribute these changes. ! 26: # ! 27: ! 28: migcom=${MIGDIR-@MIGDIR@}/migcom ! 29: cpp="${CPP-@CPP@}" ! 30: ! 31: cppflags= ! 32: migflags= ! 33: files= ! 34: ! 35: # If an argument to this shell script contains whitespace, ! 36: # then we will screw up. migcom will see it as multiple arguments. ! 37: # ! 38: # As a special hack, if -i is specified first we don't pass -user to migcom. ! 39: # We do use the -user argument for the dependencies. ! 40: # In this case, the -user argument can have whitespace. ! 41: ! 42: until [ $# -eq 0 ] ! 43: do ! 44: case "$1" in ! 45: -[qQvVtTrRsS] ) migflags="$migflags $1"; shift;; ! 46: -i ) sawI=1; migflags="$migflags $1 $2"; shift; shift;; ! 47: -user ) user="$2"; if [ ! "${sawI-}" ]; then migflags="$migflags $1 $2"; fi; shift; shift;; ! 48: -server ) server="$2"; migflags="$migflags $1 $2"; shift; shift;; ! 49: -header ) header="$2"; migflags="$migflags $1 $2"; shift; shift;; ! 50: -sheader ) sheader="$2"; migflags="$migflags $1 $2"; shift; shift;; ! 51: -iheader ) iheader="$2"; migflags="$migflags $1 $2"; shift; shift;; ! 52: -prefix | -subrprefix ) migflags="$migflags $1 $2"; shift; shift;; ! 53: ! 54: -MD ) sawMD=1; cppflags="$cppflags $1"; shift;; ! 55: -imacros ) cppflags="$cppflags $1 $2"; shift; shift;; ! 56: -cc) cpp="$2"; shift; shift;; ! 57: -migcom) migcom="$2"; shift; shift;; ! 58: -* ) cppflags="$cppflags $1"; shift;; ! 59: * ) files="$files $1"; shift;; ! 60: esac ! 61: done ! 62: ! 63: for file in $files ! 64: do ! 65: $cpp $cppflags "$file" | $migcom $migflags || exit ! 66: ! 67: if [ $sawMD ] ! 68: then ! 69: base="`basename "$file"|sed 's%[.][^.]*$%%'`" ! 70: deps= ! 71: rheader="${header-${base}.h}" ! 72: if [ "$rheader" != /dev/null ]; then deps="$deps $rheader"; fi ! 73: ruser="${user-${base}User.c}" ! 74: if [ "$ruser" != /dev/null ]; then ! 75: if [ $sawI ]; then ! 76: for un in $ruser ! 77: do ! 78: deps="$deps $un" ! 79: done ! 80: else ! 81: deps="$deps $ruser" ! 82: fi ! 83: fi ! 84: rserver="${server-${base}Server.c}" ! 85: if [ "$rserver" != /dev/null ]; then deps="$deps $rserver"; fi ! 86: rsheader="${sheader-/dev/null}" ! 87: if [ "$rsheader" != /dev/null ]; then deps="$deps $rsheader"; fi ! 88: riheader="${iheader-/dev/null}" ! 89: if [ "$riheader" != /dev/null ]; then deps="$deps $riheader"; fi ! 90: sed 's%^[^:]*:%'"${deps}"':%' <"${base}.d" >"${base}-mig.d" ! 91: rm -f ${base}.d ! 92: fi ! 93: done ! 94: ! 95: exit 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.