#!/bin/sh

case $SHELL in
    *csh)
        SHELL=/bin/sh
        ;;
esac
SHELL=${SHELL:-/bin/sh}
export SHELL

prefix=${prefix:-/usr/local}
export prefix

LOCALEDIR=${LOCALEDIR:-${prefix}/share/locale}
export LOCALEDIR

MAKE=${MAKE:-make}
export MAKE

DI_BUILD_MKCONFIG_PL=${DI_BUILD_MKCONFIG_PL:-0}
bit64=""
case $1 in
    -64)
        bit64="-64"
        shift
        ;;
    -mkc)
        DI_BUILD_MKCONFIG_PL=1
        export DI_BUILD_MKCONFIG_PL
        shift
        ;;
esac

arg=$1

eval `${SHELL} features/cflags.sh ${bit64}`
eval `${SHELL} features/obj_ext.sh`

DI_IN_BUILD=1
export DI_IN_BUILD

case $arg in
    config.h)
        if [ $DI_BUILD_MKCONFIG_PL -eq 1 ]
        then
            perl ./mkconfig.pl
            rc=$?
        else
    	    ${SHELL} ./bin/iffe -c "${CC} ${CFLAGS} ${LDFLAGS}" \
                -I "${CINCLUDES}" \
                -u -v -o config.h \
                run features/di.iffe
            rc=$?
        fi
        ;;
    dconfig.h)
        ${SHELL} ./bin/iffe -d 2 -c "${CC} ${CFLAGS} ${LDFLAGS}" \
                -I "${CINCLUDES}" \
                -u -v -o config.h \
                run features/di.iffe 2>&1 | tee w
        rc=$?
        ;;
    "")
        #env | egrep "(CC|CFLAGS|CINCLUDES|LDFLAGS|LIBS|OBJ_EXT|EXE_EXT)" | sort
        ${MAKE} CC="${CC}" CFLAGS="${CFLAGS} ${CINCLUDES}" \
            LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
            OBJ_EXT="${OBJ_EXT}" EXE_EXT="${EXE_EXT}" \
            prefix="${prefix}" SHELL="${SHELL}" \
            LOCALEDIR="${LOCALEDIR}" \
            -f Makefile di-all
        rc=$?
        ;;
    *)  # just pass it on to the makefile...
        ${MAKE} CC="${CC}" CFLAGS="${CFLAGS} ${CINCLUDES}" \
            LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
            OBJ_EXT="${OBJ_EXT}" EXE_EXT="${EXE_EXT}" \
            prefix="${prefix}" SHELL="${SHELL}" \
            -f Makefile $arg
        rc=$?
        ;;
esac

exit $rc
