#!/bin/sh
#
# $Id: Build,v 1.29 2009-11-29 14:34:47-08 bll Exp $
#
#  Copyright 2001-2009 Brad Lanam Walnut Creek CA, USA
#
#  $Id: Build,v 1.29 2009-11-29 14:34:47-08 bll Exp $
#

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_SH=${DI_BUILD_SH:-1}
export DI_BUILD_SH
DI_BUILD_PL=${DI_BUILD_PL:-0}
export DI_BUILD_PL
DI_BUILD_NO_NLS=${DI_BUILD_NO_NLS:-0}
export DI_BUILD_NO_NLS
bit64=""
while test $# -gt 0
do
    case $1 in
        -*)
            case $1 in
                -64)
                    bit64="-64"
                    shift
                    ;;
                -mkpl)
                    DI_BUILD_SH=0
                    DI_BUILD_PL=1
                    shift
                    ;;
                -mksh|-mkc|-mkiffe)
                    DI_BUILD_SH=1
                    DI_BUILD_PL=0
                    shift
                    ;;
                -nonls|--disable-nls)
                    DI_BUILD_NO_NLS=1
                    shift
                    ;;
            esac
            ;;
        *)
            break
            ;;
    esac
done

arg=$1

#env | egrep "(CC|CFLAGS|CINCLUDES|LDFLAGS|LIBS|OBJ_EXT|EXE_EXT|MAKE)" | sort
eval `./features/cflags.sh ${bit64}`
eval `./features/obj_ext.sh`

# this prevents cflags.sh from mucking up
# the various flags when reentering this script.
DI_IN_BUILD=1
export DI_IN_BUILD

case $arg in
    config.h)
        #env | egrep "(CC|CFLAGS|CINCLUDES|LDFLAGS|LIBS|OBJ_EXT|EXE_EXT|MAKE)" | sort
        if [ $DI_BUILD_PL -eq 1 ]
        then
            perl ./mkconfig.pl features/mkconfig.dat
        fi
        if [ $DI_BUILD_SH -eq 1 ]
        then
            ./mkconfig.sh features/mkconfig.dat
        fi
        rc=$?
        if [ $DI_BUILD_NO_NLS -eq 1 ]
        then
            ./features/turnoffnls.sh
        fi
        ;;
    "")
        #env | egrep "(CC|CFLAGS|CINCLUDES|LDFLAGS|LIBS|OBJ_EXT|EXE_EXT|MAKE)" | 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}" \
            MSGFMT="${XMSGFMT}" \
            -f Makefile di-all
        rc=$?
        ;;
    *)  # just pass it on to the makefile...
        #env | egrep "(CC|CFLAGS|CINCLUDES|LDFLAGS|LIBS|OBJ_EXT|EXE_EXT|MAKE)" | sort
        ${MAKE} CC="${CC}" CFLAGS="${CFLAGS} ${CINCLUDES}" \
            LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
            OBJ_EXT="${OBJ_EXT}" EXE_EXT="${EXE_EXT}" \
            prefix="${prefix}" SHELL="${SHELL}" \
            MSGFMT="${XMSGFMT}" \
            -f Makefile $arg
        rc=$?
        ;;
esac

exit $rc
