68 lines
1.1 KiB
Plaintext
68 lines
1.1 KiB
Plaintext
|
: create a directory Xsrc with name clashes resolved
|
||
|
: and run make in that directory
|
||
|
: '$Header$'
|
||
|
|
||
|
case $# in
|
||
|
1)
|
||
|
;;
|
||
|
*) echo "$0: one argument expected" 1>&2
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
PW=`pwd`
|
||
|
options=
|
||
|
case $1 in
|
||
|
main|emain|lnt)
|
||
|
target=$PW/$1
|
||
|
;;
|
||
|
omain)
|
||
|
target=$PW/$1
|
||
|
options=-DPEEPHOLE
|
||
|
;;
|
||
|
cemain)
|
||
|
target=$PW/$1
|
||
|
options=-DCODE_EXPANDER
|
||
|
;;
|
||
|
Xlint)
|
||
|
target=$1
|
||
|
;;
|
||
|
*) echo "$0: $1: Illegal argument" 1>&2
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
if test -d ../Xsrc
|
||
|
then
|
||
|
:
|
||
|
else mkdir ../Xsrc
|
||
|
fi
|
||
|
make EMHOME=$EMHOME longnames
|
||
|
: remove code generating routines from the clashes list as they are defines.
|
||
|
: code generating routine names start with C_
|
||
|
sed '/^C_/d' < longnames > tmp$$
|
||
|
cclash -c -l7 tmp$$ > ../Xsrc/Xclashes
|
||
|
rm -f tmp$$
|
||
|
cd ../Xsrc
|
||
|
if cmp -s Xclashes clashes
|
||
|
then
|
||
|
:
|
||
|
else
|
||
|
mv Xclashes clashes
|
||
|
fi
|
||
|
rm -f Makefile
|
||
|
for i in `cat $PW/Cfiles`
|
||
|
do
|
||
|
cat >> Makefile <<EOF
|
||
|
|
||
|
$i: clashes $PW/$i
|
||
|
cid -Fclashes < $PW/$i > $i
|
||
|
EOF
|
||
|
done
|
||
|
make EMHOME=$EMHOME `cat $PW/Cfiles`
|
||
|
rm -f Makefile
|
||
|
ed - $PW/Makefile <<'EOF'
|
||
|
/^#EXCLEXCL/,/^#INCLINCL/d
|
||
|
w Makefile
|
||
|
q
|
||
|
EOF
|
||
|
make EMHOME=$EMHOME COPTIONS=$options CURRDIR=$PW/ $target
|