#!/bin/sh

CPP=`/usr/cs/bin/wh -Lq cpp`
MIGCOM=`/usr/cs/bin/wh -Lq migcom`

cppflags=
migflags=
files=

until [ $# -eq 0 ]
do
    case $1 in
	-[qQvVtTrRsS] ) migflags="$migflags $1"; shift;;
	-MD ) sawMD=1; cppflags="$cppflags $1"; shift;;
	-* ) cppflags="$cppflags $1"; shift;;
	* ) files="$files $1"; shift;;
    esac
done

for file in $files
do
    base="`/usr/bin/basename "$file" .defs`"
    $CPP $cppflags "$file" - ${sawMD+"$base".d~} | $MIGCOM $migflags || exit
    if [ $sawMD ]
    then
	sed 's/^'"$base"'.o/'"$base"'.h '"$base"'User.c '"$base"'Server.c/' \
		< "$base".d~ > "$base".d
	rm -f "$base".d~
    fi
done

exit 0
