home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2 / Openstep-4.2-Intel-User.iso / usr / bin / mig < prev    next >
Text File  |  1994-05-09  |  1KB  |  50 lines

  1. #!/bin/sh
  2. #
  3. # HISTORY
  4. # 17-Oct-90  Gregg Kellogg (gk) at NeXT
  5. #    Added -P and -p arguments.
  6. #
  7. # 27-May-87  Richard Draves (rpd) at Carnegie-Mellon University
  8. #    Created.
  9. #
  10.  
  11. migcom=/usr/lib/migcom
  12. cppflags=
  13. migflags=
  14. files=
  15.  
  16. until [ $# -eq 0 ]
  17. do
  18.     case $1 in
  19.     -[qQvVtTrRsSiPp] ) migflags="$migflags $1"; shift;;
  20.     -user   ) migflags="$migflags $1 $2"; shift; shift;;
  21.     -server ) migflags="$migflags $1 $2"; shift; shift;;
  22.     -header ) migflags="$migflags $1 $2"; shift; shift;;
  23.     -sheader ) migflags="$migflags $1 $2"; shift; shift;;
  24.     -handler ) migflags="$migflags $1 $2"; shift; shift;;
  25.     -arch ) arch=$2; shift; shift;;
  26.     -newipc ) migcom=/usr/lib/migcom3;     \
  27.             cppflags="$cppflags -DNEW_MACH_IPC"; shift;;
  28. #    -MD ) sawMD=1; cppflags="$cppflags $1"; shift;;
  29.     -MD ) shift;;
  30.     -* ) cppflags="$cppflags $1"; shift;;
  31.     * ) files="$files $1"; shift;;
  32.     esac
  33. done
  34.  
  35. for file in $files
  36. do
  37.     base="`/usr/bin/basename "$file" .defs`"
  38.     rm -f "$base".d "$base".d~
  39.     CPP="/lib/${arch-`/usr/bin/arch`}/cpp"
  40.     $CPP $cppflags "$file" - ${sawMD+"$base".d~} | $migcom $migflags || exit
  41.     if [ $sawMD ]
  42.     then
  43.     sed 's/^'"$base"'.o/'"$base"'.h '"$base"'User.c '"$base"'Server.c/' \
  44.         < "$base".d~ > "$base".d
  45.     rm -f "$base".d~
  46.     fi
  47. done
  48.  
  49. exit 0
  50.