#!/bin/sh # # Mach Operating System # Copyright (c) 1991,1990 Carnegie Mellon University # All Rights Reserved. # # Permission to use, copy, modify and distribute this software and its # documentation is hereby granted, provided that both the copyright # notice and this permission notice appear in all copies of the # software, derivative works or modified versions, and any portions # thereof, and that both notices appear in supporting documentation. # # CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" # CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR # ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. # # Carnegie Mellon requests users of this software to return to # # Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU # School of Computer Science # Carnegie Mellon University # Pittsburgh PA 15213-3890 # # any improvements or extensions that they make and grant Carnegie Mellon # the rights to redistribute these changes. # prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ libexecdir=@libexecdir@ libexecdir_rel=$(perl -MFile::Spec -e 'print File::Spec->abs2rel("'"$libexecdir"'","'"$bindir"'")') bindir_real=$(dirname "$0") bindir_real=$(cd "$bindir_real"/ && pwd) libexecdir=$bindir_real/$libexecdir_rel migcom=${MIGDIR-$libexecdir}/${MIGCOM-@MIGCOM@} # The expansion of TARGET_CC might refer to ${CC}, so make sure it is defined. default_cc="@CC@" CC="${CC-${default_cc}}" default_cpp="@TARGET_CC@ -E -x c -undef -ansi" cpp="${CPP-${default_cpp}}" cppflags= migflags= files= # prj_quote_sh() is from Paul Jarc's prjlibs available at # . prj_quote_sh() { case $1 in '') echo "''";; *[!%+,./0123456789:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz-]*) sed " s/'/'\\\\''/g 1s/^/'/ \$s/\$/'/ " <. EOT -[qQvVtTrRsSn] ) migflags="$migflags $1"; shift;; -i ) sawI=1; migflags="$migflags $1 $2"; shift; shift;; -user ) user="$2"; if [ ! "${sawI-}" ]; then migflags="$migflags $1 $2"; fi; shift; shift;; -server ) server="$2"; migflags="$migflags $1 $2"; shift; shift;; -header ) header="$2"; migflags="$migflags $1 $2"; shift; shift;; -sheader ) sheader="$2"; migflags="$migflags $1 $2"; shift; shift;; -iheader ) iheader="$2"; migflags="$migflags $1 $2"; shift; shift;; -list ) list="$2"; migflags="$migflags $1 $2"; shift; shift;; -prefix | -subrprefix ) migflags="$migflags $1 $2"; shift; shift;; -MD ) sawMD=1; cppflags="$cppflags $1"; shift;; -imacros | -isystem ) cppflags="$cppflags $1 `prj_quote_sh "$2"`"; shift; shift;; -cc) cpp="$2"; shift; shift;; -migcom) migcom="$2"; shift; shift;; -* ) cppflags="$cppflags `prj_quote_sh "$1"`"; shift;; * ) files="$files $1"; shift;; esac done for file in $files do eval "$cpp $cppflags $file | $migcom $migflags || exit" if [ $sawMD ] then base="`basename "$file"|sed 's%[.][^.]*$%%'`" deps= rheader="${header-${base}.h}" if [ "$rheader" != /dev/null ]; then deps="$deps $rheader"; fi ruser="${user-${base}User.c}" if [ "$ruser" != /dev/null ]; then if [ $sawI ]; then for un in $ruser do deps="$deps $un" done else deps="$deps $ruser" fi fi rserver="${server-${base}Server.c}" if [ "$rserver" != /dev/null ]; then deps="$deps $rserver"; fi rsheader="${sheader-/dev/null}" if [ "$rsheader" != /dev/null ]; then deps="$deps $rsheader"; fi riheader="${iheader-/dev/null}" if [ "$riheader" != /dev/null ]; then deps="$deps $riheader"; fi rlist="${list-/dev/null}" if [ "$rlist" != /dev/null ]; then deps="$deps $rlist"; fi sed 's%^[^:]*:%'"${deps}"':%' <"${base}.d" >"${base}-mig.d" rm -f ${base}.d fi done exit 0