#!/bin/sh
# pingt Build Script
set -x
set -e
die() {
	echo "Build failed; $0"
	exit 1
}

FLAGS_NORMAL="-DNDEBUG -O3 -Werror"
FLAGS_DEBUG="-D_DEBUG -g -Werror"
FLAGS_PROFILE="-DNDEBUG -O3 -pg -Werror"
FLAGS_LOG="-DNDEBUG -DDPRNT -O3 -Werror"

LOPT_DEBUG=
LOPT_NDEBUG=""

# Default is to do the all
case $1 in "" )
	./build NORMAL || die
	./build DEBUG || die
	./build PROFILE || die
	./build LOG || die
esac

echo -n "pingt: "

# Normal Build
case $1 in normal | NORMAL ) 
	echo "NORMAL"
	if [ ! -d normal ]; then mkdir normal; fi
	cd normal
	make -f ../makefile.lin "FLAGS=${FLAGS_NORMAL}" "LOPT=${LOPT_NDEBUG}" DEST=pingt dp_LIB=dp2.a || die
esac

# Debugging Build
case $1 in debug | DEBUG ) 
	echo "DEBUG"
	if [ ! -d debug ]; then mkdir debug; fi
	cd debug
	make -f ../makefile.lin "FLAGS=${FLAGS_DEBUG}" "LOPT=${LOPT_DEBUG}" DEST=pingtd dp_LIB=dp2d.a || die
esac

# Profiling Build
case $1 in profile | PROFILE ) 
	echo "PROFILE"
	if [ ! -d profile ]; then mkdir profile; fi
	cd profile
	make -f ../makefile.lin "FLAGS=${FLAGS_PROFILE}" "LOPT=${LOPT_NDEBUG}" DEST=pingtp dp_LIB=dp2p.a || die
esac

# Logging Build
case $1 in log | LOG ) 
	echo "LOG"
	if [ ! -d log ]; then mkdir log; fi
	cd log
	make -f ../makefile.lin "FLAGS=${FLAGS_LOG}" "LOPT=${LOPT_NDEBUG}" DEST=pingtl dp_LIB=dp2l.a || die
esac
