#!/bin/sh
#
# sh ./makeon <machine> <make args>
#
# Where machine is one of: ps2 aix370 rt rs3.1 rs3.2 rsgcc sparc ...

SHELL=/bin/sh

#MAKEFLAGS=--no-print-directory
MAKEFLAGS=

#LinkTest=L
LinkTest=d

#Command="$0 $*"

MAKE=${MAKE:-make}

MACHINE=$1 ; shift
if [ -z "$MACHINE" ] ; then
	echo "makeon:  No machine version specified."
	echo "usage:   sh makeon <machine> <makeargs>"
	exit 1
fi

makeonUnlock() {
	echo "makeon:  Unlocking the root directory"
	rm -f $ALDORROOT/lock
}

makeonUnlockAndExit() {
	makeonUnlock
	exit 1
}

trap makeonUnlockAndExit 2 3 15

#ALDORROOT="$ALDOR_INSTALL"
#ALDORARGS="-Wcheck"

#echo "$ALDOR_INSTALL"

if [ ! -d "$ALDORROOT" ] ; then
	echo "makeon:  The root directory does not exist ($ALDORROOT)."
	exit 1
fi

ALDORROOT=`(cd ${ALDORROOT}; pwd)`
PATH=$ALDORROOT/bin:$ALDORROOT/toolbin:$PATH

for d in mabin toolbin bin lib srclib
do
	if [ ! -d $ALDORROOT/$d ] ; then
		echo "makeon: Making directory $ALDORROOT/$d."
		mkdir $ALDORROOT/$d
	fi
done

case $MACHINE in
sun4*|axposf*)
	echo '#!/bin/sh' >$ALDORROOT/bin/make
	echo 'gmake $*' >>$ALDORROOT/bin/make
	chmod +x $ALDORROOT/bin/make
	;;
esac


for d in include share share/lib share/samples share/course share/doc share/src
do
	if [ ! -d $ALDORROOT/$d ] ; then
		echo "makeon: Making directory $ALDORROOT/$d."
		mkdir $ALDORROOT/$d
	fi
done

export SHELL MAKEFLAGS MACHINE ALDORROOT PATH

# prepare gmp
echo "makeon: Make symbolic links to GMP files in directories $ALDORROOT/include and $ALDORROOT/lib"
if [ ! -h $ALDORROOT/include/gmp.h ] ; then
    ln -s $GmpDir/include/gmp.h $ALDORROOT/include/gmp.h
fi
if [ ! -h $ALDORROOT/lib/libgmp.a ] ; then
    ln -s $GmpDir/lib/libgmp.a $ALDORROOT/lib/libgmp.a
fi

for d in src
do
		if [ -$LinkTest "$ALDORROOT/$d" ] ; then
			(cd $ALDORROOT/$d ; echo "makeon: Unlinking directory `pwd`")
			rm -f $ALDORROOT/$d
		fi
		if [ ! -d "$ALDORROOT/$d" ] ; then
			rm -f $ALDORROOT/$d
			ln -s `pwd`/$d $ALDORROOT/$d
			(cd $ALDORROOT/$d ; echo "makeon: Relinking directory `pwd`")
		fi
done

	$MAKE $* 2>&1 | tee $ALDORROOT/makeon.log

makeonUnlock
