#!/bin/sh
###########################################################################
# Copyright 2006 Pascal Gloor <pascal.gloor@spale.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
###########################################################################

USER_CFLAGS=$CFLAGS
USER_LDFLAGS=$LDFLAGS
MAKE='make'

USAGE1="echo NfSplit configure";
USAGE2="echo $0 [--prefix=/directory] [--debug] [--profiling] [--help]";

PREFIX='/usr/local'

if [ "$1" ]
then
	NAME=`echo "$1" | awk -F= '{print $1}'`
	VALUE=`echo "$1" | awk -F= '{print $2}'`

	if   [ "$NAME" = "--prefix"    ];
		then PREFIX=$VALUE
	elif [ "$NAME" = "--debug"     ];
		then USER_CFLAGS="$USER_CFLAGS -DDEBUG -O0 -g"; USER_LDFLAGS="$USER_LDFLAGS -O0 -g"; MODE="Debug";
	elif [ "$NAME" = "--profiling" ];
		then USER_CFLAGS="$USER_CFLAGS -DPROFILING -O2 -pg"; USER_LDFLAGS="$USER_LDFLAGS -O2 -pg"; MODE="Profiling";
	elif [ "$NAME" = "--help"      ];
		then $USAGE1; $USAGE2; exit 1;
	else
		echo "$NAME : no such option."; $USAGE1; $USAGE2; exit 1;
	fi
fi

if [ "$MODE" = "" ]
then
	MODE="Normal";
	USER_CFLAGS="$USER_CFLAGS -O2"
	USER_LDFLAGS="$USER_LDFLAGS -O2"
fi

OS=`uname -s | tr [a-z] [A-Z]`

if [ "$OS" = "FREEBSD" ]
	then MAKE="gmake";

elif [ "$OS" = "NETBSD" ]
	then MAKE="gmake";

elif [ "$OS" = "OPENBSD" ]
	then MAKE="gmake";

elif [ "$OS" = "SUNOS" ]
	then USER_LDFLAGS="$USER_LDFLAGS -lsocket -lnsl"
fi

echo "-----------------------------------------"
echo "| Install prefix   : $PREFIX"
echo "| Compilation mode : $MODE"
echo "| Operating system : $OS"
echo "| CFLAGS           : $USER_CFLAGS"
echo "| LDFLAGS          : $USER_LDFLAGS"
echo "-----------------------------------------"


echo "Writing config.mk"
echo "PREFIX=$PREFIX" > config.mk
echo "OS=$OS" >> config.mk
echo "USER_CFLAGS=$USER_CFLAGS" >> config.mk
echo "USER_LDFLAGS=$USER_LDFLAGS" >> config.mk
echo "USER_MAKE=$MAKE" >> config.mk

if [ "`which $MAKE 2>/dev/null`" = "" ]
then
	echo "ERROR: '$MAKE' not found, please install"
	exit 1;
fi

echo "Linking config.mk ..."
rm -f src/config.mk etc/config.mk
cd src && ln -s ../config.mk && cd ..
cd etc && ln -s ../config.mk && cd ..

echo "Cleaning old files ..."
$MAKE clean

echo "run '$MAKE' and '$MAKE install'"
