#!/bin/sh
# $Id: build,v 1.1 2004/02/13 11:29:07 7till Exp $
#  for i in *.gz; do echo \<a href=\"$i\"\>$i\<\/a\>\<BR\>; done >home.html

. config

case "$1" in
  version)
        echo "Setting up version file... "

        echo v$VERSION, `date "+%d %b %Y"` > version

        echo
	;;
  patch)
        echo "Patching source(s) with version string... "

        sed s/"__VERSION__"/"`cat version`"/ HOL-CASL/mk_holcasl.sml.prep > HOL-CASL/mk_holcasl.sml
#       sed s/"__VERSION__"/"`cat version`"/ /home/www/cofi/CASL/CATS/parser.html.prep > /home/www/cofi/CASL/CATS/parser.html
        
        echo
        ;;
  www)
        cp cats/cats.sparc-solaris /home/cofi/bin/cats.sparc-solaris
        ;;
  local-dist)
        rsh leo cp `pwd`/cats/cats.* /usr/local/pub-bkb/HOL-CASL/casl_parser
        ;;
  local-isawin-dist)
        rsh leo cp `pwd`/../HOL-CASL/HOL-CASL.* /usr/local/pub-bkb/HOL-CASL/
        ;;
  alpha-isawin-dist)
        cp `pwd`/../HOL-CASL/HOL-CASL* /home/www/cofi/
        gzip /home/www/cofi/HOL-CASL.sparc-solaris
        gzip /home/www/cofi/HOL-CASL.x86-linux
        ;;
  linux-dist)
        echo "Creating Linux standalone distribution."

        mkdir cats/Basic > /dev/null 2> /dev/null
        cp $CASL_LIB/Basic/*.casl cats/Basic/

        echo "Invoking tar for Linux files... "
        tar cf CATS-$VERSION-linux.tar $ST_DIR/README $ST_DIR/cats \
               $ST_DIR/.run-linux $ST_DIR/cats.x86-linux \
               $ST_DIR/Basic/* $ST_DIR/cats.1 $ST_DIR/cats.txt $ST_DIR/casl.sty $ST_DIR/contrib
        echo "Invoking gzip for Linux files... "
        gzip CATS-$VERSION-linux.tar
        echo "Moving distribution archive to distribution dir... "

        rm $DISTDIR/CATS-linux.tar.gz
        mv $DISTDIR/CATS-*-linux.tar.gz $ARCDIR

        mv CATS-$VERSION-linux.tar.gz $DISTDIR
        ln -sf $DISTDIR/CATS-$VERSION-linux.tar.gz $DISTDIR/CATS-linux.tar.gz

        cp version /home/www/cofi/CASL/CATS

        rm -rf cats/Basic

        echo "Installing local version"
        rcp cats/cats.x86-linux leo:/usr/local/pub-bkb/HOL-CASL/casl_parser/

        echo
        ;;
  linux-isawin-dist)
        echo "Creating Linux IsaWin distribution."

        cd ..
        
        echo "Invoking tar for Linux files... "
        tar cf HOL-CASL-$VERSION-linux.tar HOL-CASL/.run-x86-linux HOL-CASL/HOL-CASL.x86-linux HOL-CASL/HOL-CASL HOL-CASL/examples HOL-CASL/git HOL-CASL/sml_tk
        echo "Invoking gzip for Linux files... "
        gzip HOL-CASL-$VERSION-linux.tar
        echo "Moving distribution archive to distribution dir... "

        rm $DISTDIR/HOL-CASL-linux.tar.gz
        mv $DISTDIR/HOL-CASL-*-linux.tar.gz $ARCDIR

        mv HOL-CASL-$VERSION-linux.tar.gz $DISTDIR
        ln -sf $DISTDIR/HOL-CASL-$VERSION-linux.tar.gz $DISTDIR/HOL-CASL-linux.tar.gz

        cd HOL98-CASL
        
        echo
        ;;

  linux-holcasl-dist)
        echo "Creating Linux HOL-CASL distribution."
        
        echo "Invoking tar for Linux files... "
        tar cf HOL-CASL-$VERSION-linux.tar HOL-CASL/.run-x86-linux HOL-CASL/HOL-CASL.x86-linux HOL-CASL/HOL-CASL HOL-CASL/Demo* HOL-CASL/FreeNat* HOL-CASL/HOL-CASL.ps HOL-CASL/Basic/*.casl HOL-CASL/Basic/*.ML HOL-CASL/Isabelle-tutorial.ps HOL-CASL/README HOL-CASL/load
        echo "Invoking gzip for Linux files... "
        gzip HOL-CASL-$VERSION-linux.tar
        echo "Moving distribution archive to distribution dir... "

        rm $DISTDIR/HOL-CASL-linux.tar.gz
        mv $DISTDIR/HOL-CASL-*-linux.tar.gz $ARCDIR

        mv HOL-CASL-$VERSION-linux.tar.gz $DISTDIR
        ln -sf $DISTDIR/HOL-CASL-$VERSION-linux.tar.gz $DISTDIR/HOL-CASL-linux.tar.gz
        
        cp HOL-CASL/README /home/www/cofi/HOL-CASL

        echo "Updating local copy... "
        rcp HOL-CASL/HOL-CASL.x86-linux leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/HOL-CASL leo:/usr/local/pub-bkb/HOL-CASL/
        rcp -r HOL-CASL/Demo* leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/FreeNat* leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/HOL-CASL.ps leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/Basic/*.casl leo:/usr/local/pub-bkb/HOL-CASL/Basic/
        rcp HOL-CASL/Basic/*.ML leo:/usr/local/pub-bkb/HOL-CASL/Basic/
        rcp HOL-CASL/Isabelle-tutorial.ps leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/README leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/load leo:/usr/local/pub-bkb/HOL-CASL/

        echo
        ;;

  solaris-dist)
        echo "Creating Solaris standalone distribution."

        mkdir cats/Basic > /dev/null 2> /dev/null
        cp $CASL_LIB/Basic/*.casl cats/Basic/

        echo "Invoking tar for Solaris files... "
        tar cf CATS-$VERSION-solaris.tar $ST_DIR/README $ST_DIR/cats \
               $ST_DIR/.run-solaris $ST_DIR/cats.sparc-solaris \
               $ST_DIR/Basic/* $ST_DIR/cats.1 $ST_DIR/cats.txt $ST_DIR/casl.sty $ST_DIR/contrib
        echo "Invoking gzip for Solaris files... "
        gzip CATS-$VERSION-solaris.tar
        echo "Moving distribution archive to distribution dir... "

        rm $DISTDIR/CATS-solaris.tar.gz
        mv $DISTDIR/CATS-*-solaris.tar.gz $ARCDIR

        mv CATS-$VERSION-solaris.tar.gz $DISTDIR
        ln -sf $DISTDIR/CATS-$VERSION-solaris.tar.gz $DISTDIR/CATS-solaris.tar.gz

        cp version /home/www/cofi/CASL/CATS

        rm -rf cats/Basic

        echo "Installing local version"
        rcp cats/cats.sparc-solaris leo:/usr/local/pub-bkb/HOL-CASL/casl_parser/

        echo
        ;;
  solaris-isawin-dist)
        echo "Creating Solaris IsaWin distribution."

        cd ..

        echo "Invoking tar for Solaris files... "
        tar cf HOL-CASL-$VERSION-solaris.tar HOL-CASL/.run-sparc-solaris HOL-CASL/HOL-CASL.sparc-solaris HOL-CASL/HOL-CASL HOL-CASL/examples HOL-CASL/git HOL-CASL/sml_tk
        echo "Invoking gzip for Solaris files... "
        gzip HOL-CASL-$VERSION-solaris.tar
        echo "Moving distribution archive to distribution dir... "

        rm $DISTDIR/HOL-CASL-solaris.tar.gz
        mv $DISTDIR/HOL-CASL-*-solaris.tar.gz $ARCDIR

        mv HOL-CASL-$VERSION-solaris.tar.gz $DISTDIR
        ln -sf $DISTDIR/HOL-CASL-$VERSION-solaris.tar.gz $DISTDIR/HOL-CASL-solaris.tar.gz

        cd HOL98-CASL
        
        echo
        ;;

  solaris-holcasl-dist)
        echo "Creating Solaris HOL-CASL distribution."

        echo "Invoking tar for Solaris files... "
        tar cf HOL-CASL-$VERSION-solaris.tar HOL-CASL/.run-sparc-solaris HOL-CASL/HOL-CASL.sparc-solaris HOL-CASL/HOL-CASL  HOL-CASL/Demo* HOL-CASL/FreeNat* HOL-CASL/HOL-CASL.ps HOL-CASL/Basic/*.casl HOL-CASL/Basic/*.ML HOL-CASL/Isabelle-tutorial.ps HOL-CASL/README HOL-CASL/load
        echo "Invoking gzip for Solaris files... "
        gzip HOL-CASL-$VERSION-solaris.tar
        echo "Moving distribution archive to distribution dir... "

        rm $DISTDIR/HOL-CASL-solaris.tar.gz
        mv $DISTDIR/HOL-CASL-*-solaris.tar.gz $ARCDIR

        mv HOL-CASL-$VERSION-solaris.tar.gz $DISTDIR
        ln -sf $DISTDIR/HOL-CASL-$VERSION-solaris.tar.gz $DISTDIR/HOL-CASL-solaris.tar.gz
        
        cp HOL-CASL/README /home/www/cofi/HOL-CASL

        echo "Updating local copy... "
        rcp HOL-CASL/HOL-CASL.sparc-solaris leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/HOL-CASL leo:/usr/local/pub-bkb/HOL-CASL/
        rcp -r HOL-CASL/Demo* leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/FreeNat* leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/HOL-CASL.ps leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/Basic/*.casl leo:/usr/local/pub-bkb/HOL-CASL/Basic/
        rcp HOL-CASL/Basic/*.ML leo:/usr/local/pub-bkb/HOL-CASL/Basic/
        rcp HOL-CASL/Isabelle-tutorial.ps leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/README leo:/usr/local/pub-bkb/HOL-CASL/
        rcp HOL-CASL/load leo:/usr/local/pub-bkb/HOL-CASL/
 
        echo
        ;;

  both-dist)
        $0 linux-dist
        $0 solaris-dist
        ;;
  both-isawin-dist)
        $0 linux-isawin-dist
        $0 solaris-isawin-dist
        ;;
  both-holcasl-dist)
        $0 linux-holcasl-dist
        $0 solaris-holcasl-dist
        ;;
  *)
	echo "Usage: build target"
	echo "Possible targets:"
	echo "             version ... creates version file with current date"
	echo "               patch ... patches source with current version"
	echo "          linux-dist ... creates linux distribution archive"
	echo "        solaris-dist ... creates solaris distribution archive"
        echo "           both-dist ... creates both distributions archives"
	echo "   linux-isawin-dist ... creates linux IsaWin archive"
	echo " solaris-isawin-dist ... creates solaris IsaWin archive"
	echo "    both-isawin-dist ... creates both IsaWin archives"
	echo "  linux-holcasl-dist ... creates linux Holcasl archive"
	echo "solaris-holcasl-dist ... creates solaris Holcasl archive"
	echo "   both-holcasl-dist ... creates both Holcasl archives"
	echo "          local-dist ... creates local distribution"
	echo "   local-isawin-dist ... creates local IsaWin distribution"
	

	echo
	exit 1
esac
