#! /bin/sh

set -x

PATH=/bin:/usr/bin:/usr/ccs/bin
export PATH

lib=$1
makefile=$2
so_ext=$3
target=$4
var=$5
libname=`basename $lib .$so_ext`
dir=`dirname $lib`
if [ "var" = "$target" ]
then
    admin=$var
    liblist=$admin/varlib.lst
    if [ ! -r "$liblist" ]
    then
	echo "Cannot find list of lib variants"
	exit
    fi
    reallib=`grep -w $libname $liblist | cut -d: -f1 | head -1`
    if [ "" = "$reallib" ]
    then
	echo "Cannot find base libname for variant $libname"
	exit
    fi
    if [ -f $dir/$libname.a ]
    then
	dir2=$dir
    else
	dir2=`dirname $admin`
	dir2=$dir2/lib
    fi
    rm -f $dir/$reallib.$so_ext
    rm -f $dir/$reallib.a $dir2/reallib.a
    rm -f $dir/$libname.$so_ext
    cp $dir2/$libname.a $dir/$reallib.a

    make -f $makefile $dir/$reallib.$so_ext VAR=$libname

    mv $dir/$reallib.$so_ext $lib
    rm -f $dir/$reallib.a
else
    if [ -f $dir/$libname.a ]
    then
	dir2="$dir/"
    else
	dir2='$(PRODLIBHOME)'
    fi
    if [ "" != "$var" ]
    then
	make -f $makefile $target _FULL_LIBNAME=$lib _LIBNAME=$libname \
	    _LIBDIR=$dir2 \
	    _LIBNAME_LIBS='$('"$libname"'LIBS)' \
	    _VAR_LIBS='$('"$var"'_LIBS)' \
	    _LIBNAME_EXTRALIBS='$('"$libname"'EXTRALIBS)' \
	    _VAR_EXTRALIBS='$('"$var"'_EXTRALIBS)'
    else
	make -f $makefile $target _FULL_LIBNAME=$lib _LIBNAME=$libname \
	    _LIBDIR=$dir2 \
	    _LIBNAME_LIBS='$('"$libname"'LIBS)' \
	    _LIBNAME_EXTRALIBS='$('"$libname"'EXTRALIBS)' 
    fi
fi
