ack/first/mk_config

127 lines
2.6 KiB
Plaintext
Executable file

set -e
create_dir $CONFIG
cd $SRC_HOME
find . -type d -print > $CONFIG/dir_list
cd $CONFIG
for i in mach/*/libsys
do
rm -rf $i
done
for i in `cat dir_list`
do
create_dir $i
rm -f $i/No*
if [ -f $i/Makefile ]
then
( cd $i ; if make clean ; then exit 0 ; else exit 0 ; fi ) > /dev/null 2>&1
fi
if [ -f $SRC_HOME/$i/proto.make ]
then mk_makefile $SRC_HOME/$i/proto.make > $i/Makefile
fi
if [ -f $SRC_HOME/$i/Action ]
then
cd $SRC_HOME/$i
cp Action* $CONFIG/$i
chmod +w $CONFIG/$i/Action*
cd $CONFIG
fi
done
cd $SRC_HOME/util/ceg/util
for i in make_*
do
mk_makefile $i > $CONFIG/util/ceg/util/$i
done
cd $CONFIG
for i in lang/cem/cemcom.ansi lang/cem/cemcom lang/m2/comp
do
cp $SRC_HOME/$i/BigPars $CONFIG/$i/Parameters
chmod +w $CONFIG/$i/Parameters
done
for i in lang/pc/comp lang/cem/cpp.ansi
do
cp $SRC_HOME/$i/Parameters $CONFIG/$i/Parameters
chmod +w $CONFIG/$i/Parameters
done
cd $CONFIG/mach
for i in *
do
if [ -d $i ]
then
if [ -d $i/as ]
then
cd $i/as
mk_makefile $SRC_HOME/mach/proto/as/proto.make | sed -e "/#MACH_DEFINE/,/^MACH/s/=.*/= $i/" > Makefile
cd ../..
fi
if [ -d $i/top ]
then
cd $i/top
mk_makefile $SRC_HOME/mach/proto/top/proto.make | sed -e "/#MACH_DEFINE/,/^MACH/s/=.*/= $i/" > Makefile
cd ../..
fi
if [ -d $i/cg ]
then
cd $i/cg
mk_makefile $SRC_HOME/mach/proto/cg/proto.make | sed -e "/#MACH_DEFINE/,/^MACH/s/=.*/= $i/" > Makefile
cd ../..
fi
if [ -d $i/ncg ]
then
cd $i/ncg
mk_makefile $SRC_HOME/mach/proto/ncg/proto.make | sed -e "/#MACH_DEFINE/,/^MACH/s/=.*/= $i/" > Makefile
if [ -f $SRC_HOME/mach/$i/ncg/table_dir ]
then
ed - Makefile <<EOF
/^#TABLE_DEFINE/+1r $SRC_HOME/mach/$i/ncg/table_dir
w
q
EOF
fi
cd ../..
fi
for j in libem libend libmon libfp libsys libdb
do
if [ -d $i/$j ]
then
cd $i/$j
mk_makefile $SRC_HOME/mach/proto/libg/proto.$j | sed -e "/#MACH_PARAMS/r $SRC_HOME/mach/$i/mach_params" > Makefile
cd ../..
fi
done
for j in libbsd4_1a libbsd4_2 libsysV_2
do
if [ -d $i/$j ]
then
cd $i/$j
mk_makefile $SRC_HOME/mach/proto/libg/proto.libsys | sed -e "/#MACH_PARAMS/r $SRC_HOME/mach/$i/mach_params" -e "s/libsys/$j/g" > Makefile
cd ../..
fi
done
for j in libcc libcc.ansi libm2 libpc libbc liboc libf77
do
create_dir $i/$j
cd $i/$j
mk_makefile $SRC_HOME/mach/proto/libg/proto.$j | sed -e "/#MACH_PARAMS/r $SRC_HOME/mach/$i/mach_params" > Makefile
cd ../..
done
if [ $i = vax4 ]
then :
elif [ -d $i/libsys ]
then :
else
create_dir $i/libsys
cd $i/libsys
mk_makefile $SRC_HOME/mach/proto/libg/proto.sysmon | sed -e "/#MACH_PARAMS/r $SRC_HOME/mach/$i/mach_params" > Makefile
cd ../..
fi
fi
done