1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
#!/bin/csh -fx
# $1 = name of distribution directory to build
# $2 = name of RCS release symbol (optional)
# $3 = prefix string for source directories (optional) (e.g. "/z")
if (($#argv < 1) || ($#argv > 3)) then
echo "usage: $0 <distribution directory> [<release>] [<source prefix>]"
exit 1
endif
set destination="$1"
if ($#argv == 1) then
set rcs_opts=""
else
set rcs_opts=" -r$2"
if ($#argv == 2) then
set prefix=""
else
set prefix="$3"
endif
set source="$prefix/scheme/rel5"
set rcs_source="$prefix/scheme/rcs/rel5"
if (-e $destination) then
rm -rf $destination
endif
mkdir $destination
# Guarantee that VMS command files are constructed.
cd $source
vms/make.vms
# Copy all the auxiliary files.
cd $source
find Makefile documentation etc examples makefiles libs \( \! \( -name '.*~*' -o -name '#*' -o -name '*~*' -o -name '*.bin' -o -name '*.ext' -o -name '*.com' -o -name '*.binf' -o -name '*.elc' -o -name 'RCS' -o -name 'RCS.remote' \) \) -type f -print | cpio -pdmuv $destination
find vms \( -name '*.com' -o -name '*.txt' -o -name '*.el' \) -type f -print | cpio -pdmuv $destination
# Copy the primary source code by checking out reference copies from RCS.
foreach i (microcode runtime sf)
cd $destination
mkdir $i
cd $i
foreach j ($rcs_source/$i/*,v)
co $rcs_opts $j
end
end
# Make the PSB files by resyntaxing and converting them.
cd $destination
etc/resyntax
etc/make_psb
find * \( -name '*.bin' -o -name '*.ext' \) -print | xargs rm -f
# Move things into the appropriate places.
cd $destination/documentation
mv INSTALL Install.* README ..
cd $destination/microcode
make -k remove
mv config.h config.dst
mv Makefile ../makefiles
mv cmp68020.s cmp68020.s-src
m4 cmp68020.s-src > cmp68020.s-hp
cp cmp68020.s-hp cmp68020.s
/u/cph/cvt/cvt cmp68020
mv cmp68020.a68 cmp68020.s-sun
rm -f cmp68020.s
chmod -w cmp68020.s-hp cmp68020.s-sun
# Create the file "make_dirs.com":
cd $destination
emacs -batch -q -l vms/make_dirs.el
|