#!/bin/sh
#
# $Id: aimk,v 1.3 1998/10/01 21:33:32 pvmsrc Exp $
#
# 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 $AIMK_SRC/Makefile.aimk PVM_ARCH=$PVM_ARCH
# $AIMK_SRC is the original working directory before the chdir.
#
# 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
#
# use *.def file to get $MAKE define.
#
MAKEDEF=`grep MAKE $PVM_ROOT/conf/$PVM_ARCH.def \
| sed -e "s/ //g" -e "s/ //g"`
eval $MAKEDEF
#
# 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
if [ "$*" = "" ]; then
exec $MAKE PVM_ARCH=$PVM_ARCH
else
exec $MAKE PVM_ARCH=$PVM_ARCH "$@"
fi
else
if [ $makeincwd = 0 -a -f Makefile.aimk ]; then
if [ ! -d $PVM_ARCH ]; then
mkdir $PVM_ARCH
fi
echo making in $PVM_ARCH/ for $PVM_ARCH
AIMK_SRC=`pwd`
export AIMK_SRC
cd $PVM_ARCH
if [ "$*" = "" ]; then
exec $MAKE -f $PVM_ROOT/conf/$PVM_ARCH.def -f $AIMK_SRC/Makefile.aimk PVM_ARCH=$PVM_ARCH
else
exec $MAKE -f $PVM_ROOT/conf/$PVM_ARCH.def -f $AIMK_SRC/Makefile.aimk PVM_ARCH=$PVM_ARCH "$@"
fi
else
echo making in . for $PVM_ARCH
if [ "$*" = "" ]; then
exec $MAKE PVM_ARCH=$PVM_ARCH
else
exec $MAKE PVM_ARCH=$PVM_ARCH "$@"
fi
fi
fi
exit 1
syntax highlighted by Code2HTML, v. 0.9.1