#! /bin/sh
#
# Last modified on Thu Jun  1 10:28:00 PDT 1995 by kalsow
#

#
#  build-boot TARGET  -- builds the compressed tar file needed to
#                        bootstrap Modula-3 on "TARGET"
#

HOST=DS3100
TARGET=$1
TOP=`pwd`
RELEASE=RELEASE

if [ $# -ne 1 ]
then
  echo usage: $0 TARGET
  exit 1
fi

#------------------------------------------------------------------------------
#
# where to grab stuff
#

WD=/udir/kalsow/pkg/m3

# QUAKE=/proj/m3/pkg/quake
QUAKE=$WD/quake

# M3MIDDLE=/proj/m3/pkg/m3middle
M3MIDDLE=$WD/m3middle

# M3OBJFILE=/proj/m3/pkg/m3objfile
M3OBJFILE=$WD/m3objfile

# M3BACK=/proj/m3/pkg/m3back
M3BACK=$WD/m3back

# M3STALONEBACK=/proj/m3/pkg/m3staloneback
M3STALONEBACK=$WD/m3staloneback

M3FRONT=$WD/m3front
# M3FRONT=/proj/m3/pkg/m3front

M3=$WD/m3
# M3=/proj/m3/pkg/m3

M3LINKER=$WD/m3linker
# M3LINKER=/proj/m3/pkg/m3linker

# M3CC=/proj/m3/pkg/m3cc
M3CC=$WD/m3cc

# M3CORE=/proj/m3/pkg/m3core
M3CORE=$WD/m3core

# LIBM3=/proj/m3/pkg/libm3
LIBM3=$WD/libm3

# M3BUILD=/proj/m3/pkg/m3build
M3BUILD=$WD/m3build

#------------------------------------------------------------------------------
# 
# build a cross compiler
#
echo " "
echo ----------------- CROSS
echo ----------------- `date`
echo " "
if [ ! -d CROSS ]; then  mkdir CROSS ; fi
cd CROSS
CROSS=`pwd`

(
  echo M3=\"/udir/kalsow/pkg/m3/m3/DS/m3\"

if [ $TARGET = "NT386" ]; then
  echo m3_option\(\"-X0@-unfold_nested_procs@\"\)
  echo m3_option\(\"-Y6@$CROSS/m3staloneback/DS/m3back@-NTObj@\"\)
  echo m3_option\(\"-Y7@@\"\)
else
  if [ $HOST = $TARGET ]; then
    echo m3_option\(\"-Y6@$CROSS/m3cc/$HOST/m3cgc1@-quiet@\"\)
  else
    echo m3_option\(\"-Y6@$CROSS/m3cc/$HOST-$TARGET/m3cgc1@-quiet@\"\)
  fi
fi

  echo m3_option\(\"-zI$TARGET\"\)

  echo override\(\"runtime\", \"/udir/kalsow/pkg/m3\"\)

  # echo m3_option\(\"-keep\"\)
  echo m3_option\(\"-boot\"\)
  echo m3_option\(\"-times\"\)

if [ $TARGET = "AP3000" ]; then
  echo remove_m3_option\(\"-g\"\)
fi

  echo PKG_USE=\"/proj/m3/pkg\"
) > config

if [ $TARGET = "NT386" ]; then
  BUILD="$WD/m3build/DS/m3build -T $WD/m3build/templates -S -b tNT386 -d NT386 -F $CROSS/config"
else 
  BUILD="$WD/m3build/DS/m3build -T $WD/m3build/templates -b $TARGET -F $CROSS/config"
fi


#------------------------------------------------------------------------------
#
# build a backend (m3cc or m3back)
#
if [ $TARGET = "NT386" ]; then
  echo " "
  echo ----------------- CROSS/m3staloneback
  echo ----------------- `date`
  echo " "
  if [ ! -d m3staloneback ]; then mkdir m3staloneback ; fi
  cd m3staloneback
    rm -rf src
    ln -s $M3STALONEBACK/src
    m3build -O
  cd ..
  cd $TOP
else
  echo " "
  echo ----------------- CROSS/m3cc
  echo ----------------- `date`
  echo " "
  if [ ! -d m3cc ]; then mkdir m3cc ; fi
  cd m3cc
    rm -rf src gcc
    ln -s $M3CC/src
    ln -s $M3CC/gcc
    m3build -T $WD/m3build/templates -b $HOST -DM3CC_TARGET="$TARGET"
  cd ..
  cd $TOP
fi

#------------------------------------------------------------------------------
#
# check for a saved copy first
#
cd $TOP
if [ ! -d SAVE ]; then  mkdir SAVE ; fi
if [ -r SAVE/boot-$TARGET.tar.gz ]; then
  echo " "
  echo ----------------- boot-$TARGET - restoring...
  echo ----------------- `date`
  echo " "
  rm -rf boot-$TARGET
  gunzip < SAVE/boot-$TARGET.tar.gz | tar xpof -

  # get rid of any accumulated trash
  find boot-$TARGET \( -name ",*" -o -name ".,*" -o -name ".emacs_[0-9]*" -o -name "*~" -o -name core -o -name a.out -o -name ".m3*" -o -name ".nfs*" -o -name ".M3*" -o -name "*.ic" -o -name "*.mc" -o -name "*.ix" -o -name "*.mx" \) -print | xargs rm -rf
fi

#------------------------------------------------------------------------------
#
# build a target directory
#
echo " "
echo ----------------- boot-$TARGET
echo ----------------- `date`
echo " "
# rm -rf boot-$TARGET
# mkdir boot-$TARGET
if [ ! -d boot-$TARGET ]; then mkdir boot-$TARGET ; fi
cd boot-$TARGET
BOOT=`pwd`

#------------------------------------------------------------------------------
#
# build a bootstrap version of m3core for TARGET
#
echo " "
echo ----------------- boot-$TARGET/m3core
echo ----------------- `date`
echo " "
# rm -rf m3core
# mkdir m3core
if [ ! -d m3core ] ; then mkdir m3core ; fi
cd m3core
  rm -rf src
  ln -s $M3CORE/src
  if [ ! -d $TARGET ]; then mkdir $TARGET ; fi
  $BUILD
  echo override\(\"m3core\", \"../..\"\) >> $CROSS/config
cd ..

#------------------------------------------------------------------------------
#
# build a bootstrap version of libm3 for TARGET
#
echo " "
echo ----------------- boot-$TARGET/libm3
echo ----------------- `date`
echo " "
# rm -rf libm3
# mkdir libm3
if [ ! -d libm3 ] ; then mkdir libm3 ; fi
cd libm3
  rm -rf src
  ln -s $LIBM3/src
  if [ ! -d $TARGET ]; then mkdir $TARGET ; fi
  $BUILD
  echo override\(\"libm3\", \"../..\"\) >> $CROSS/config
cd ..

#------------------------------------------------------------------------------
#
# build a bootstrap version of m3middle for TARGET
#
echo " "
echo ----------------- boot-$TARGET/m3middle
echo ----------------- `date`
echo " "
# rm -rf m3middle
# mkdir m3middle
if [ ! -d m3middle ] ; then mkdir m3middle ; fi
cd m3middle
  rm -rf src
  ln -s $M3MIDDLE/src
  if [ ! -d $TARGET ]; then mkdir $TARGET ; fi
  $BUILD
  echo override\(\"m3middle\", \"../..\"\) >> $CROSS/config
cd ..

#------------------------------------------------------------------------------
#
# build a bootstrap version of m3front for TARGET
#
echo " "
echo ----------------- boot-$TARGET/m3front
echo ----------------- `date`
echo " "

# rm -rf m3front
# mkdir m3front
if [ ! -d m3front ] ; then mkdir m3front ; fi
cd m3front
  rm -rf src
  ln -s $M3FRONT/src
  if [ ! -d $TARGET ]; then mkdir $TARGET ; fi
  $BUILD
  echo override\(\"m3front\", \"../..\"\) >> $CROSS/config
cd ..


#------------------------------------------------------------------------------
#
# build a bootstrap version of m3objfile for TARGET
#
if [ $TARGET = "NT386" ]; then
  echo " "
  echo ----------------- boot-$TARGET/m3objfile
  echo ----------------- `date`
  echo " "

  # rm -rf m3objfile
  # mkdir m3objfile
  if [ ! -d m3objfile ] ; then mkdir m3objfile ; fi
  cd m3objfile
    rm -rf src
    ln -s $M3OBJFILE/src
    if [ ! -d $TARGET ]; then mkdir $TARGET ; fi
    $BUILD
    echo override\(\"m3objfile\", \"../..\"\) >> $CROSS/config
  cd ..
else
  rm -rf m3objfile
fi

#----------------------------------------------------------------------------
#
# build a bootstrap version of the back end
#
if [ $TARGET = "NT386" ]; then
  echo " "
  echo ----------------- boot-$TARGET/m3back
  echo ----------------- `date`
  echo " "

  # rm -rf m3back
  # mkdir m3back
  if [ ! -d m3back ] ; then mkdir m3back ; fi
  cd m3back
    rm -rf src
    ln -s $M3BACK/src
    if [ ! -d $TARGET ]; then mkdir $TARGET ; fi
    $BUILD
    echo override\(\"m3back\", \"../..\"\) >> $CROSS/config
  cd ..
else
  rm -rf m3back
fi

#------------------------------------------------------------------------------
#
# build a bootstrap version of m3linker for TARGET
#
echo " "
echo ----------------- boot-$TARGET/m3linker
echo ----------------- `date`
echo " "
# rm -rf m3linker
# mkdir m3linker
if [ ! -d m3linker ] ; then mkdir m3linker ; fi
cd m3linker
  rm -rf src
  ln -s $M3LINKER/src
  if [ ! -d $TARGET ]; then mkdir $TARGET ; fi
  $BUILD
  echo override\(\"m3linker\", \"../..\"\) >> $CROSS/config
cd ..

#------------------------------------------------------------------------------
#
# build a bootstrap version of m3 for TARGET
#
echo " "
echo ----------------- boot-$TARGET/m3
echo ----------------- `date`
echo " "
# rm -rf m3
# mkdir m3
if [ ! -d m3 ] ; then mkdir m3 ; fi
cd m3
  rm -rf src
  ln -s $M3/src
  if [ ! -d $TARGET ]; then mkdir $TARGET ; fi
  $BUILD
cd ..

#------------------------------------------------------------------------------
#
# remove the bootstrap version of m3cc if it exists
#
if [ -d m3cc ]; then rm -rf m3cc ; fi

#------------------------------------------------------------------------------
#
# build a bootstrap version of quake
#
echo " "
echo ----------------- boot-$TARGET/quake
echo ----------------- `date`
echo " "
if [ ! -d quake ]; then mkdir quake ; fi
cd quake
  rm -rf src $TARGET
  copy $QUAKE/src .
  sed -e "s/catman\(.*\)>/cp\1/" < src/makefile > tmp
  mv tmp src/makefile
#  copy $QUAKE/doc .
  rm -rf src/RCS
  if [ $TARGET = "NT386" ]; then
    for f in src/* ; do
      mv $f tmp
      $TOP/M3EXPORT/fix_nl < tmp > $f
      rm -f tmp
    done
  fi
  if [ ! -d $TARGET ] ; then mkdir $TARGET ; fi
cd ..

#------------------------------------------------------------------------------
#
# build a bootstrap version of m3build
#
echo " "
echo ----------------- boot-$TARGET/m3build
echo ----------------- `date`
echo " "
if [ ! -d m3build ]; then mkdir m3build ; fi
cd m3build
  rm -rf src templates $TARGET
  copy $M3BUILD/src $M3BUILD/templates .
  if [ $TARGET = "NT386" ]; then
    for f in src/* templates/* ; do
      mv $f tmp
      $TOP/M3EXPORT/fix_nl < tmp > $f
      rm -f tmp
    done
  fi
  if [ ! -d $TARGET ] ; then mkdir $TARGET ; fi
cd ..

#------------------------------------------------------------------------------
#
# build the top-level README and build script
#
echo " "
echo ----------------- boot-$TARGET - writing build script
echo ----------------- `date`
echo " "

# get rid of any old junk.
rm -f build do_install install.boot

cd $BOOT
(
  echo " "
  echo "To install the Modula-3 compiler do the following:"
  echo " "
if [ $TARGET = "NT386" ]; then
  echo "  1) Edit \"m3build\\templates\\$TARGET\" so that"
  echo "     it contains your site-specific configuration."
  echo " "
  echo "  2) Run \"m3boot.bat\" from this directory."
  echo " "
  echo "  3) Run \"m3ship.bat\" from this directory."
else
  echo "  1) In this directory, unpack (gunzip, tar -x) a copy of \"m3cc.tar.gz\"."
  echo " "
  echo "  2) Edit \"m3build/templates/$TARGET\" so that"
  echo "     it contains your site-specific configuration."
  echo " "
  echo "  3) Run \"m3boot\" from this directory."
  echo " "
  echo "  4) Run \"m3ship\" from this directory."
fi
  echo " "
  echo "At this point, to get a fully functional system you need"
  echo "to install the Modula-3 libraries.  See the file NOTES for"
  echo "the details."
  echo " "
  echo "More documentation can be found on the Modula-3 home page at URL:"
  echo " "
  echo "   http://www.research.digital.com/SRC/modula-3/html/home.html"
  echo " "
  echo "The source for the HTML documents are also available in the"
  echo "\"html.tar.gz\" archive in gatekeeper.  Detailed installation"
  echo "instructions are in \"html/modula-3/html/install.html\""
  echo " "
) > README

cd $BOOT
if [ $TARGET = "NT386" ]; then
(
  echo "@echo off"
  echo "rem "
  echo "rem  top-level bootstrap build script"
  echo "rem "
  echo " "
  echo "set QUAKE=..\\..\\quake\\$TARGET\\quake"
  echo "set CONFIG=..\\..\\m3build\\templates\\$TARGET"
  echo "set BUILD=%QUAKE% -D_bootstrap %CONFIG% make.boot"
  echo " "
  echo "echo ------------------------------------------"
  echo "type COPYRIGHT"
  echo "echo ------------------------------------------"
  echo " "
  echo "echo ---- building quake ----"
  echo "cd quake\\$TARGET"
  echo "nmake -f ..\\src\\makefile.nt TARGET=$TARGET"
  echo "cd ..\\.."
  echo " "
  echo "echo ---- building m3build ----"
  echo "cd m3build\\$TARGET"
  echo "%QUAKE% -D_bootstrap -D_all -DBUILD_DIR=$TARGET -DPACKAGE=m3build -DPACKAGE_DIR=..\\..\\m3build %CONFIG% ..\\..\\m3build\\src\\m3makefile"
  echo "cd ..\\.."
  echo " "
  echo "echo ---- building m3core ----"
  echo "cd m3core\\$TARGET"
  echo "%BUILD%"
  echo "cd ..\\.."
  echo " "
  echo "echo ---- building libm3 ----"
  echo "cd libm3\\$TARGET"
  echo "%BUILD%"
  echo "cd ..\\.."
  echo " "
  echo "echo ---- building m3middle ----"
  echo "cd m3middle\\$TARGET"
  echo "%BUILD%"
  echo "cd ..\\.."
  echo " "
  echo "echo ---- building m3objfile ----"
  echo "cd m3objfile\\$TARGET"
  echo "%BUILD%"
  echo "cd ..\\.."
  echo " "
  echo "echo ---- building m3front ----"
  echo "cd m3front\\$TARGET"
  echo "%BUILD%"
  echo "cd ..\\.."
  echo " "
  echo "echo ---- building m3back ----"
  echo "cd m3back\\$TARGET"
  echo "%BUILD%"
  echo "cd ..\\.."
  echo " "
  echo "echo ---- building m3linker ----"
  echo "cd m3linker\\$TARGET"
  echo "%BUILD%"
  echo "cd ..\\.."
  echo " "
  echo "echo ---- building m3 ----"
  echo "cd m3\\$TARGET"
  echo "%BUILD%"
  echo "cd ..\\.."
) > m3boot.bat
chmod +x m3boot.bat
else
(
  echo "#! /bin/sh"
  echo "#"
  echo "# top-level bootstrap build script"
  echo "#"
  echo " "
  echo "TOP=\`pwd\`"
  echo "QUAKE=\$TOP/quake/$TARGET/quake"
  echo "CONFIG=\$TOP/m3build/templates/$TARGET"
  echo "BUILD=\"\$QUAKE -D_bootstrap \$CONFIG make.boot\""
  echo " "
  echo "if [ ! -d m3cc ]; then"
  echo "  echo \"Unpack \(gunzip, tar -x\) a copy of m3cc.tar.gz first.\""
  echo "  exit 1"
  echo "fi"
  echo " "
  echo "echo ------------------------------------------"
  echo "cat COPYRIGHT"
  echo "echo ------------------------------------------"
  echo " "
  echo "echo ---- building quake ----"

  case $TARGET in
  VAX|HPPA|SOLgnu)
       echo "(cd quake/$TARGET; make -f ../src/makefile CC=gcc TARGET=$TARGET)"
       ;;
  HP300) 
       echo "(cd quake/$TARGET; make -f ../src/makefile CC=gcc CDEBUG=\"\" TARGET=$TARGET)"
       ;;
  NEXT) 
       echo "(cd quake/$TARGET; make -f ../src/makefile CC=\"cc -posix -Wno-precomp\" TARGET=$TARGET)"
       ;;
  *)
       echo "(cd quake/$TARGET; make -f ../src/makefile TARGET=$TARGET)"
       ;;
  esac

  echo " "
  echo "echo ---- building m3build ----"
  echo "(cd m3build/$TARGET; \$QUAKE -D_bootstrap -D_all -DBUILD_DIR=$TARGET -DPACKAGE=m3build -DPACKAGE_DIR=\$TOP/m3build \$CONFIG \$TOP/m3build/src/m3makefile) || exit 1"
  echo " "
  echo "echo ---- building m3core ----"
  echo "(cd m3core/$TARGET; \$BUILD) || exit 1"
  echo " "
  echo "echo ---- building libm3 ----"
  echo "(cd libm3/$TARGET; \$BUILD) || exit 1"
  echo " "
  echo "echo ---- building m3middle ----"
  echo "(cd m3middle/$TARGET; \$BUILD) || exit 1"
  echo " "
  echo "echo ---- building m3front ----"
  echo "(cd m3front/$TARGET; \$BUILD) || exit 1"
  echo " "
  echo "echo ---- building m3linker ----"
  echo "(cd m3linker/$TARGET; \$BUILD) || exit 1"
  echo " "
  echo "echo ---- building m3 ----"
  echo "(cd m3/$TARGET; \$BUILD) || exit 1"
  echo " "
  echo "echo ---- building m3cc ----"
  echo "if [ ! -d m3cc/$TARGET ]; then"
  echo "  mkdir m3cc/$TARGET"
  echo "fi"
  echo "(cd m3cc/$TARGET; \$QUAKE \$CONFIG ../src/m3makefile)"
) > m3boot
chmod +x m3boot
fi

if [ $TARGET = "NT386" ]; then
(
  echo "@echo off"
  echo "rem "
  echo "rem  top-level bootstrap install script"
  echo "rem "
  echo " "
  echo "set QUAKE=quake\\$TARGET\\quake.exe"
  echo "set CONFIG=m3build\\templates\\$TARGET"
  echo " "
  echo " "
  echo "echo ---- installing ----"
  echo "%QUAKE% -D_all -DBUILD_PACKAGE="boot" %CONFIG% m3ship.boot"
) > m3ship.bat
chmod +x m3ship.bat
else
(
  echo "#! /bin/sh"
  echo "#"
  echo "# top-level bootstrap install script"
  echo "#"
  echo " "
  echo "TOP=\`pwd\`"
  echo "QUAKE=\$TOP/quake/$TARGET/quake"
  echo "CONFIG=\$TOP/m3build/templates/$TARGET"
  echo " "
  echo " "
  echo "echo ---- installing ----"
  echo "\$QUAKE -D_all -DBUILD_PACKAGE="boot" \$CONFIG m3ship.boot"
) > m3ship
chmod +x m3ship
fi

if [ $TARGET = "NT386" ]; then
(
  echo "% top-level bootstrap installation "
  echo " "
  echo "readonly MAN1_DIR = MAN_INSTALL & \"\\\\man1\""
  echo "readonly TMPL_DIR  = PKG_INSTALL & \"\\\\m3build\\\\templates\""
  echo " "
  echo "proc mkdir (d) is exec (\"@m3build\\\\$TARGET\\\\m3mkdir.exe\", d) end"
  echo " "
  echo "mkdir (BIN_INSTALL)"
  echo "mkdir (LIB_INSTALL)"
  echo "mkdir (MAN1_DIR)"
  echo "mkdir (TMPL_DIR)"
  echo " "
  echo "proc install_bin(f) is install_file(f, BIN_INSTALL, \"0755\") end"
  echo "proc install_lib(f) is install_file(f, LIB_INSTALL, \"0755\") end"
  echo "proc install_man(f) is install_file(f, MAN1_DIR, \"0644\") end"
  echo "proc install_tmp(f) is install_file(f, TMPL_DIR, \"0644\") end"
  echo " "
  echo "install_bin(\"m3build\\\\$TARGET\\\\m3build.exe\")"
  echo "install_bin(\"m3build\\\\$TARGET\\\\m3ship.exe\")"
  echo "install_bin(\"m3build\\\\$TARGET\\\\m3where.exe\")"
  echo "install_lib(\"m3build\\\\$TARGET\\\\m3mkdir.exe\")"
  echo " "
  echo "install_tmp(\"m3build\\\\templates\\\\$TARGET\")"
  echo "install_tmp(\"m3build\\\\templates\\\\CLEANUP\")"
  echo "install_tmp(\"m3build\\\\templates\\\\COMMON\")"
  echo "install_tmp(\"m3build\\\\templates\\\\COMMON.BOOT\")"
  echo "install_tmp(\"m3build\\\\templates\\\\PLATFORMS\")"
  echo "install_tmp(\"m3build\\\\templates\\\\WIN32\")"
  echo "install_tmp(\"m3build\\\\templates\\\\POSIX\")"
  echo " "
  echo "install_man(\"m3build\\\\$TARGET\\\\m3build.1\")"
  echo "install_man(\"m3build\\\\$TARGET\\\\m3ship.1\")"
  echo "install_man(\"m3build\\\\$TARGET\\\\m3where.1\")"
  echo " "
  echo "install_bin(\"quake\\\\$TARGET\\\\quake.exe\")"
  echo "install_man(\"quake\\\\src\\\\quake.1\")"
  echo " "
##  echo "install_lib(\"m3back\\\\$TARGET\\\\m3back.exe\")"
  echo "install_lib(\"m3\\\\$TARGET\\\\m3.exe\")"
  echo " "
) > m3ship.boot
else
(
  echo "% top-level bootstrap installation "
  echo " "
  echo "readonly MAN1_DIR = MAN_INSTALL & \"/man1\""
  echo "readonly TMPL_DIR  = PKG_INSTALL & \"/m3build/templates\""
  echo " "
  echo "proc mkdir (d) is exec (\"@m3build/$TARGET/m3mkdir\", d) end"
  echo " "
  echo "mkdir (BIN_INSTALL)"
  echo "mkdir (LIB_INSTALL)"
  echo "mkdir (MAN1_DIR)"
  echo "mkdir (TMPL_DIR)"
  echo " "
  echo "proc install_bin(f) is install_file(f, BIN_INSTALL, \"0755\") end"
  echo "proc install_lib(f) is install_file(f, LIB_INSTALL, \"0755\") end"
  echo "proc install_man(f) is install_file(f, MAN1_DIR, \"0644\") end"
  echo "proc install_tmp(f) is install_file(f, TMPL_DIR, \"0644\") end"
  echo " "
  echo "install_bin(\"m3build/$TARGET/m3build\")"
  echo "install_bin(\"m3build/$TARGET/m3ship\")"
  echo "install_bin(\"m3build/$TARGET/m3where\")"
  echo "install_lib(\"m3build/$TARGET/m3mkdir\")"
  echo " "
  echo "install_tmp(\"m3build/templates/$TARGET\")"
  echo "install_tmp(\"m3build/templates/CLEANUP\")"
  echo "install_tmp(\"m3build/templates/COMMON\")"
  echo "install_tmp(\"m3build/templates/COMMON.BOOT\")"
  echo "install_tmp(\"m3build/templates/PLATFORMS\")"
  echo "install_tmp(\"m3build/templates/POSIX\")"
  echo "install_tmp(\"m3build/templates/WIN32\")"
  echo " "
  echo "install_man(\"m3build/$TARGET/m3build.1\")"
  echo "install_man(\"m3build/$TARGET/m3ship.1\")"
  echo "install_man(\"m3build/$TARGET/m3where.1\")"
  echo " "
  echo "install_bin(\"quake/$TARGET/quake\")"
  echo "install_man(\"quake/src/quake.1\")"
  echo " "
  echo "install_lib(\"m3/$TARGET/m3\")"
  echo " "
  echo "install_lib(\"m3cc/$TARGET/m3cgc1\")"
  if [ $TARGET = DS3100 -o $TARGET = ALPHA_OSF ]; then
    echo "install_lib(\"m3cc/$TARGET/mips-tfile\")"
  fi
  if [ $TARGET = "LINUX" ]; then
    echo "install_lib(\"./buildShared\")"
    echo "install_lib(\"./as\")"
  fi
  if [ $TARGET = "SOLgnu" ]; then
    echo "install_lib(\"./m3-gcc\")"
  fi
) > m3ship.boot
fi

if [ $TARGET = "NT386" ]; then
  for f in README m3boot.bat m3ship.bat m3ship.boot ; do
    mv $f tmp
    $TOP/M3EXPORT/fix_nl < tmp > $f
    rm -f tmp
  done
fi

#------------------------------------------------------------------------------
#
# get any extra documentation or patches
#
echo " "
echo ----------------- boot-$TARGET - copying extras...
echo ----------------- `date`
echo " "
if [ $TARGET = "NT386" ]; then
  if [ -d $TOP/M3EXPORT/patches/boot ]; then
    for f in `ls $TOP/M3EXPORT/patches/boot` ; do
      $TOP/M3EXPORT/fix_nl < $TOP/M3EXPORT/patches/boot/$f > $f
    done
  fi
  if [ -d $TOP/M3EXPORT/patches/boot-$TARGET ]; then
    for f in `ls $TOP/M3EXPORT/patches/boot-$TARGET` ; do
      $TOP/M3EXPORT/fix_nl < $TOP/M3EXPORT/patches/boot-$TARGET/$f > $f
    done
  fi
else
  if [ -d $TOP/M3EXPORT/patches/boot ]; then
    cp $TOP/M3EXPORT/patches/boot/* .
  fi
  if [ -d $TOP/M3EXPORT/patches/boot-$TARGET ]; then
    cp $TOP/M3EXPORT/patches/boot-$TARGET/* .
  fi
fi

#------------------------------------------------------------------------------
#
# save a snapshot before we clean the trash
#
echo " "
echo ----------------- boot-$TARGET - saving...
echo ----------------- `date`
echo " "
cd $TOP
if [ ! -d SAVE ]; then  mkdir SAVE ; fi
find boot-$TARGET -name "core" -exec rm -rf {} \;
tar cfl - boot-$TARGET | gzip > SAVE/boot-$TARGET.tar.gz


#------------------------------------------------------------------------------
#
# clean the trash
#
echo " "
echo ----------------- boot-$TARGET - cleaning...
echo ----------------- `date`
echo " "

(cd $BOOT/m3core ; rm -f src)
(cd $BOOT/libm3 ; rm -f src)
(cd $BOOT/m3middle ; rm -f src build)
(cd $BOOT/m3front ; rm -f src build)
if [ $TARGET = "NT386" ]; then (cd $BOOT/m3back ; rm -f src); fi
(cd $BOOT/m3linker ; rm -f src)
(cd $BOOT/m3 ; rm -f src)

find $BOOT \( -name ",*" -o -name ".,*" -o -name ".emacs_[0-9]*" -o -name "*~" -o -name core -o -name a.out -o -name ".m3*" -o -name "*.m3x" -o -name ".nfs*" -o -name "*.[im][3x]" -o -name ".M3*" \) -print | xargs rm -rf

#------------------------------------------------------------------------------
#
# spread around a few copies of the copyright notice
#
echo " "
echo ----------------- boot-$TARGET - adding copyrights...
echo ----------------- `date`
echo " "

cd $TOP
if [ $TARGET = "NT386" ]; then
  M3EXPORT/fix_nl < M3EXPORT/COPYRIGHT > M3EXPORT/patches/COPYRIGHT
  find $BOOT -type d -exec cp M3EXPORT/patches/COPYRIGHT {} \;
else
  find $BOOT -type d -exec cp M3EXPORT/COPYRIGHT {} \;
fi

#------------------------------------------------------------------------------
#  build the tar file
#
echo " "
echo ----------------- building tar file
echo ----------------- `date`
echo " "

cd $TOP
if [ ! -d $RELEASE ]; then mkdir $RELEASE ; fi
tar cflh - boot-$TARGET | gzip > $RELEASE/boot-$TARGET.tar.gz

#------------------------------------------------------------------------------
# and delete everything...
#
echo " "
echo ----------------- deleteing...
echo ----------------- `date`
echo " "
# rm -rf boot-$TARGET
# if [ $TARGET = "NT386" ]; then
#   rm -rf $CROSS/m3back/$HOST
# else
#   if [ $HOST = $TARGET ]; then
#     rm -rf $CROSS/m3cc/$HOST
#   else
#     rm -rf $CROSS/m3cc/$HOST-$TARGET
#   fi
# fi

#-----------------------------------------------------------------------------
echo " "
echo ----------------- done
echo ----------------- `date`
echo " "



