#!/bin/sh
#
#	aimk.sh
#
#	Make wrapper for multiple arch. builds.
#
#	Automatically sets PVM_ARCH for make to use.
#
#	Action depends on makefile locations:
#	1.  If $PVM_ARCH/Makefile or $PVM_ARCH/makefile exists,
#		chdir to $PVM_ARCH and exec make there.
#
#	2.  Else if ./Makefile.aimk exists,
#		chdir to $PVM_ARCH and exec make
#		with -f $PVM_ROOT/conf/$PVM_ARCH.def
#		and -f ../Makefile.aimk PVM_ARCH=$PVM_ARCH
#
#	3.  Else will simply exec make in cwd.
#
#	usage:
#	    aimk [-here] [ make args ... ]
#
#	09 Apr 1993  Manchek
#

makeincwd=0
found=1
while [ $# -ge 1 -a $found = 1 ]; do
	found=0
	case "$1" in
	-here ) makeincwd=1; shift; found=1 ;;
	esac
done

case "x$PVM_ROOT" in x )
#	if [ -d $HOME/pvm3 ]; then
#		PVM_ROOT=$HOME/pvm3
#	else
		echo aimk: PVM_ROOT not defined >&2
		exit 1
#	fi
;; esac

case "x$PVM_ARCH" in x | xUNKNOWN )
	PVM_ARCH="`$PVM_ROOT/lib/pvmgetarch`"
	case "x$PVM_ARCH" in x )
		echo 'aimk: no pvmgetarch - is $PVM_ROOT set correctly?' >&2
		exit 1
	;; esac
;; esac

export PVM_ARCH
export PVM_ROOT

#
# run make in cwd or subdir if exists.
#

if [ $makeincwd = 0 -a \( -f $PVM_ARCH/Makefile -o -f $PVM_ARCH/makefile \) ]; then
	echo making in $PVM_ARCH/ for $PVM_ARCH
	cd $PVM_ARCH
	exec make PVM_ARCH=$PVM_ARCH $@

else
	if [ -f Makefile.aimk ]; then
		if [ ! -d $PVM_ARCH ]; then
			mkdir $PVM_ARCH
		fi
		echo making in $PVM_ARCH/ for $PVM_ARCH
		cd $PVM_ARCH
		exec make -f $PVM_ROOT/conf/$PVM_ARCH.def -f ../Makefile.aimk PVM_ARCH=$PVM_ARCH $@

	else
		echo making in . for $PVM_ARCH
		exec make PVM_ARCH=$PVM_ARCH $@
	fi
fi

exit 1

