#! /bin/sh
#
# Last modified on Thu Jun 15 07:56:31 PDT 1995 by kalsow
#

#
#  build-others  -- builds the compressed tar files that
#                   contain the Modula-3 sources
#

RELEASE=RELEASE
BEGIN="M3EXPORT/begin-archive"
END="M3EXPORT/end-archive $RELEASE"
GET="M3EXPORT/get-source"
GETF="M3EXPORT/get-file"
CHUNK="ALL"

WD=/udir/kalsow/pkg/m3
WD2=/udir/kalsow/pkg/srcweb
CHAIKEN=/udir/chaiken/hacking

rm -f COPYRIGHT.bugs

if [ $# -gt 0 ]; then
  CHUNK=$1; shift 
fi

#-------------------------------------------------- top-level README & docs ---
if [ ! -d $RELEASE ]; then mkdir $RELEASE ; fi
cp M3EXPORT/patches/boot/NOTES     $RELEASE/README
cp M3EXPORT/COPYRIGHT              $RELEASE/COPYRIGHT
# cp /proj/m3/pkg/m3doc/DS/m3doc.ps  $RELEASE/DOC.ps
# cp /proj/m3/pkg/m3doc/DS/m3doc.dvi $RELEASE/DOC.dvi

#--------------------------------------------------------------------- m3cc ---
if [ $CHUNK = m3cc  -o  $CHUNK = ALL ]; then
$BEGIN m3cc
$GET  m3cc/src   m3cc/src   $WD
$GET  m3cc/gcc   m3cc/gcc   $WD
$END m3cc
fi

#--------------------------------------------------------------------- m3cc ---
# if [ $CHUNK = m3cc  -o  $CHUNK = ALL ]; then
# $BEGIN m3cc-2.5.7
# $GET  m3cc.old/src   m3cc-2.5.7/src   $WD
# $GET  m3cc.old/gcc   m3cc-2.5.7/gcc   $WD
# $END m3cc-2.5.7
# fi

#-------------------------------------------------------------------- m3gdb ---
if [ $CHUNK = m3gdb  -o  $CHUNK = ALL ]; then
$BEGIN m3gdb
$GET m3gdb/gdb        m3gdb/gdb         $WD
$GET m3gdb/src        m3gdb/src         $WD
(cd m3gdb/gdb/gdb ; rm -f *.o gdb gdb1 )
(cd m3gdb/gdb; rm -f */*.o */lib*.a )
$END m3gdb
fi

#----------------------------------------------------------------------- m3 ---
if [ $CHUNK = m3  -o  $CHUNK = ALL ]; then
$BEGIN m3

#--- mtex ---
$GET mtex/src                m3/mtex/src

#--- m3core ---
$GET m3core/src              m3/m3core/src             $WD
$GET runtime/src             m3/m3core/src/runtime     $WD
$GET Csupport/src            m3/m3core/src/Csupport
$GET thread/src              m3/m3core/src/thread
rm -rf m3/m3core/src/thread/NOOP
$GET win32/src               m3/m3core/src/win32
$GET unix/src                m3/m3core/src/unix
$GET C/src                   m3/m3core/src/C
$GET float/src               m3/m3core/src/float
$GET float/test/src          m3/m3core/tests/float/src
$GET time/src                m3/m3core/src/time
$GET convert/src             m3/m3core/src/convert
$GET text/src                m3/m3core/src/text
$GET text/test               m3/m3core/tests/text
$GET fingerprint/src         m3/m3core/src/fingerprint
$GET main/src                m3/m3core/src/main
$GET weakref/src             m3/m3core/src/weakref
$GET word/src                m3/m3core/src/word

#--- libm3 ---
$GET libm3/src               m3/libm3/src
### cp M3EXPORT/libm3.fix        m3/libm3/src/m3makefile
$GET os/src                  m3/libm3/src/os
$GET os/test/src             m3/libm3/tests/os/src
$GET pickle/src              m3/libm3/src/pickle
$GET random/src              m3/libm3/src/random
$GET random/test/src         m3/libm3/tests/random/src
$GET uid/src                 m3/libm3/src/uid
rm -f m3/libm3/src/uid/POSIX/getMID
$GET rw/src                  m3/libm3/src/rw
$GET rw/test                 m3/libm3/tests/rw
rm -f m3/libm3/tests/rw/autotest/file
$GET fmtlex/src              m3/libm3/src/fmtlex
$GET fmtlex/tests            m3/libm3/tests/fmtlex
rm -rf m3/libm3/tests/fmtlex/*/etp
rm -rf m3/libm3/tests/fmtlex/*/DS
rm -rf m3/libm3/tests/fmtlex/*/AOSF
$GET list/src                m3/libm3/src/list
$GET sx/src                  m3/libm3/src/sx
$GET types/src               m3/libm3/src/types
$GET arith/src               m3/libm3/src/arith
$GET geometry/src            m3/libm3/src/geometry
$GET statistics/src          m3/libm3/src/statistics
$GET formatter/src           m3/libm3/src/formatter
$GET params/src              m3/libm3/src/params
$GET property/src            m3/libm3/src/property
$GET atom/src                m3/libm3/src/atom
$GET table/src               m3/libm3/src/table
$GET sortedtable/src         m3/libm3/src/sortedtable
$GET sortedtable/tests       m3/libm3/tests/sortedtable
rm -rf m3/libm3/tests/sortedtable/DS
rm -rf m3/libm3/tests/sortedtable/AOSF
$GET sort/src                m3/libm3/src/sort
$GET sequence/src            m3/libm3/src/sequence
$GET sequence/tests          m3/libm3/tests/sequence
rm -rf m3/libm3/tests/sequence/DS
rm -rf m3/libm3/tests/sequence/AOSF
$GET etimer/src              m3/libm3/src/etimer
$GET bundleintf/src          m3/libm3/src/bundleintf
$GET perftool/src            m3/libm3/src/perftool
$GET pqueue/src              m3/libm3/src/pqueue
$GET pqueue/tests            m3/libm3/tests/pqueue
rm -rf m3/libm3/tests/pqueue/*/DS
rm -rf m3/libm3/tests/pqueue/*/AOSF
$GET sqrt/src                m3/libm3/src/sqrt
$GET sqrt/tests              m3/libm3/tests/sqrt
$GET config/src              m3/libm3/src/config

#--- compiler ---
$GET  m3/src                 m3/m3/src              $WD
$GET  m3linker/src           m3/m3linker/src        $WD
$GET  m3objfile/src          m3/m3objfile/src       $WD
$GET  m3middle/src           m3/m3middle/src        $WD
$GET  m3front/src            m3/m3front/src         $WD
$GET  m3front/enquire        m3/m3front/enquire     $WD
$GET  cg-burs/src            m3/cg-burs/src         $WD
$GET  m3tests                m3/m3tests             $WD
$GET  quake/src              m3/quake/src
$GET  m3build/src            m3/m3build/src         $WD
$GET  m3build/templates      m3/m3build/templates   $WD
$GETF m3build/build          m3/m3build/build       $WD
$GET  m3export               m3/m3export            $WD
$GET  m3back/src             m3/m3back/src          $WD
$GET  m3staloneback/src      m3/m3staloneback/src   $WD
$GET  m3loader/src           m3/m3loader/src        $WD

#--- m3quake ---
$GET m3quake/src             m3/m3quake/src         $WD
$GET m3build2/src            m3/m3build2/src        $WD

#--- tcp ---
$GET tcp/src                 m3/tcp/src

#--- set ---
$GET set/src                 m3/set/src

#--- realgeometry ---
$GET realgeometry/src        m3/realgeometry/src

#--- parseparams ---
$GET parseparams/src         m3/parseparams/src

#--- slisp ---
$GET slisp/src               m3/slisp/src
$GET slisp/tests             m3/slisp/tests

#--- tempfiles ---
$GET tempfiles/src           m3/tempfiles/src

#--- X11R4 ---
$GET X11R4/src               m3/X11R4/src

#--- motif ---
$GET motif/src               m3/motif/src
$GET motif/tests             m3/motif/tests

#--- trestle ---
$GET ui/src                  m3/ui/src
$GET ui/test                 m3/ui/test

#--- games ---
$GET solitaire/src           m3/solitaire/src
$GET columns/src             m3/columns/src
$GET tetris/src              m3/tetris/src
$GET badbricks/src           m3/badbricks/src
$GET bicycle/src             m3/bicycle/src
$GET fours/src               m3/fours/src

#--- tools ---
$GET coverage/src            m3/coverage/src
$GET pp/src                  m3/pp/src
$GET gnuemacs/src            m3/gnuemacs/src
$GET m3bundle/src            m3/m3bundle/src
$GET m3tools/src             m3/m3tools/src        $WD
$GET m3tohtml/src            m3/m3tohtml/src       $WD
$GET m3browser/src           m3/m3browser/src       $WD
$GET m3totex/src             m3/m3totex/src
$GET showheap/src            m3/showheap/src
$GET shownew/src             m3/shownew/src
$GET recordheap/src          m3/recordheap/src
$GET replayheap/src          m3/replayheap/src
$GET showthread/src          m3/showthread/src

#--- TCL ---
$GET tcl/src                 m3/tcl/src
$GET tcl/test                m3/tcl/test/src

#--- display postscript ---
$GET dps/src                 m3/dps/src
$GET dps/test                m3/dps/test
$GET dpsslides/src           m3/dpsslides/src

#--- vbtkit ---
$GET vbtkit/src              m3/vbtkit/src
$GET lego/src                m3/vbtkit/src/lego
$GET vbtkitutils/src         m3/vbtkit/src/vbtkitutils
$GET vbtkitresources/src     m3/vbtkit/src/vbtkitresources
$GET etext/src               m3/vbtkit/src/etext
$GET vtext/src               m3/vbtkit/src/vtext
$GET mtext/src               m3/vbtkit/src/mtext
$GET color/src               m3/vbtkit/src/color

#--- formsvbt ---
$GET images/src              m3/images/src
$GET jvideo/src              m3/jvideo/src
$GET videovbt/src            m3/videovbt/src
$GET formsvbt/src            m3/formsvbt/src
$GET formsvbtpixmaps/src     m3/formsvbtpixmaps/src

#--- vbtapps ---
$GET formsedit/src           m3/formsedit/src
$GET fisheye/src             m3/fisheye/src
$GET calculator/src          m3/calculator/src
$GET cube/src                m3/cube/src

#--- zeus ---
$GET codeview/src            m3/codeview/src
$GET mg/src                  m3/mg/src
$GET mgkit/src               m3/mgkit/src
$GET zeus/src                m3/zeus/src  ;  rm -rf m3/zeus/src/texified
$GET m3zume/src              m3/m3zume/src
$GET rehearsecode/src        m3/rehearsecode/src

#--- mentor ---
$GET mentor/src              m3/mentor/src

#--- network objects ---
$GET tcpnetobj/src           m3/netobj/src/tcpnetobj
$GET netobjrt/src            m3/netobj/src/netobjrt
$GET netobj/src              m3/netobj/src
$GET netobj/tests            m3/netobj/tests
$GET netobjd/src             m3/netobjd/src
$GET stubgen/src             m3/stubgen/src

(cd m3/netobj/tests ; rm -rf */AOSF */DS */DSC )

#--- package server ---
$GET smalldb/src             m3/smalldb/src
$GET pkgobj/src              m3/pkgobj/src
$GET pkgtool/src             m3/pkgtool/src
$GET pkgsrv/src              m3/pkgsrv/src
$GET pkgq/src                m3/pkgq/src
$GET pkgfprint/src           m3/pkgfprint/src
# $GET siphontools             m3/siphontools    /proj/adm/pkg
# rm -rf m3/siphontools/mips
# rm -rf m3/siphontools/alpha

#--- stable ---
$GET  stable/src                  m3/stable/src
$GET  stable/test/src             m3/stable/test/src
$GETF stable/test/README          m3/stable/test/README
$GETF stable/test/maketest        m3/stable/test/maketest
$GET  stable/example/src          m3/stable/example/src
$GET  stablegen/src               m3/stablegen/src

$GET sharedboard/board/src        m3/sharedboard/board/src        $CHAIKEN
$GET sharedboard/boardserver/src  m3/sharedboard/boardserver/src  $CHAIKEN
$GET sharedboard/boardclient/src  m3/sharedboard/boardclient/src  $CHAIKEN
$GET sharedboard/calendar/src     m3/sharedboard/calendar/src     $CHAIKEN

#--- sil ---
$GET sil/src                 m3/sil/src

#--- obliq ---
$GET metasyn/src             m3/metasyn/src
$GET synex/src               m3/synex/src
$GET synloc/src              m3/synloc/src
$GET obliqrt/src             m3/obliqrt/src
$GET obliqprint/src          m3/obliqprint/src
$GET obliqparse/src          m3/obliqparse/src
$GET obliq/src               m3/obliq/src
$GET obliqlibm3/src          m3/obliqlibm3/src
$GET obliqlibui/src          m3/obliqlibui/src
$GET obliqlibanim/src        m3/obliqlibanim/src
$GET obliqbinmin/src         m3/obliqbinmin/src
$GET obliqbinstd/src         m3/obliqbinstd/src
$GET obliqbinui/src          m3/obliqbinui/src
$GET obliqbinanim/src        m3/obliqbinanim/src
$GET obliqsrvstd/src         m3/obliqsrvstd/src
$GET obliqsrvui/src          m3/obliqsrvui/src

#--- 3D ---
$GET PEX/src                 m3/PEX/src
$GET anim3D/src              m3/anim3D/src
$GET obliqlib3D/src          m3/obliqlib3D/src
$GET obliqbin3D/src          m3/obliqbin3D/src

#--- visual obliq ---
$GET visualobliq/src         m3/visualobliq/src
$GET vorun/src               m3/vorun/src
$GET voquery/src             m3/voquery/src
$GET vocgi/src               m3/vocgi/src

#--- m3tk ---
$GET m3tk/src                m3/m3tk/src

#--- postcard ---
$GET postcard/src            m3/postcard/src
$GET llscan/src              m3/llscan/src

$END m3
fi


#------------------------------------------------------------ virtual paper ---
if [ $CHUNK = virtualpaper ]; then
$BEGIN virtualpaper

$GET lecternclient/src       virtualpaper/lecternclient/src
$GET lecterndoc/src          virtualpaper/lecterndoc/src
$GET ocr/src                 virtualpaper/ocr/src
$GET lectern/src             virtualpaper/lectern/src
$GET buildlectern/src        virtualpaper/buildlectern/src

$END virtualpaper
fi

#--------------------------------------------------------------------- docs ---
if [ $CHUNK = docs  -o  $CHUNK = ALL ]; then
$BEGIN docs

$GET trestletutorial/button             docs/trestle_tutorial/button
$GET trestletutorial/cards              docs/trestle_tutorial/cards
$GET trestletutorial/draw               docs/trestle_tutorial/draw
$GET trestletutorial/focus              docs/trestle_tutorial/focus
$GET trestletutorial/hello              docs/trestle_tutorial/hello
$GET trestletutorial/highlight          docs/trestle_tutorial/highlight
$GET trestletutorial/hvfill             docs/trestle_tutorial/hvfill
$GET trestletutorial/monster            docs/trestle_tutorial/monster
$GET trestletutorial/plaid              docs/trestle_tutorial/plaid
$GET trestletutorial/puzzle             docs/trestle_tutorial/puzzle
$GET trestletutorial/spot               docs/trestle_tutorial/spot
$GET trestletutorial/track              docs/trestle_tutorial/track
$GET trestletutorial/typein             docs/trestle_tutorial/typein
$GET trestletutorial/vsplit             docs/trestle_tutorial/vsplit
$GETF trestletutorial/README.export     docs/trestle_tutorial/README

$GETF vbtkitdoc/vbtkit.ps               docs/vbtkit.ps
$GETF formsvbtdoc/manual.ps             docs/formsvbt.ps

$GETF dps/doc/dps-paper.draft           docs/dps.draft

$GETF netobjdoc/manual/src115-online.ps docs/netobj.ps

$GET  obliqdoc/src                      docs/obliq
$GETF obliq/CONTENTS/README.obliq       docs/obliq/README

$GETF stable/doc/StableObjects.ps       docs/stable/StableObjects.ps
$GETF stablegen/doc/stablegen.ps        docs/stable/stablegen.ps

$END docs
fi

#--------------------------------------------------------------------- html ---
if [ $CHUNK = html  -o  $CHUNK = ALL ]; then
$BEGIN html
$GET modula-3/html            html/modula-3/html   $WD2
$GET m3sources/html           html/m3sources/html  $WD2
$GET m3defn/html              html/m3defn/html     $WD2
$GET trestle_by_example/html  html/trestle_by_example/html     $WD2
$END html
fi

#--------------------------------------------------------------------- Juno ---
# if [ $CHUNK = juno  -o  $CHUNK = ALL ]; then
# $BEGIN juno
# $GET dblbuffer-ip/src   juno/dblbuffer/src
# $GET juno-compiler/src  juno/juno-compiler/src
# $GET juno-machine/src   juno/juno-machine/src
# $GET juno-debug/src     juno/juno-debug/src
# $GET juno-app/src       juno/juno-app/src
# $GET juno-doc/src       juno/juno-doc/src
# $END juno
# fi

#------------------------------------------------------------------------------
exit 0

