#! /bin/sh
# 
#	Make whichever packages have been requested.
#	Defaults to RPMs.
#
LOGDIR=Logs

type=rpm
verbose=false

MAKE=${MAKE:-make}
test ! -z "$MAKE" && make=$MAKE

for opt in $*
do
	case "$opt" in
	clean)
		;; # ignored, kept for backward compatibility
	rpm)
		type=rpm ;;
	debian)
		type=debian ;;
	verbose)
		verbose=true ;;
	*)
		echo "Usage: Makepkgs [verbose] [debian|rpm]"; exit 1 ;;
	esac
done

# start with a clean manifest
test -f files.rpm && rm -f files.rpm
test -f filesdevel.rpm && rm -f filesdevel.rpm
test -f fileslib.rpm && rm -f fileslib.rpm

test ! -d $LOGDIR && mkdir $LOGDIR
rm -rf $LOGDIR/* > /dev/null 2>&1

# build Debian packages, cleans itself before starting
SUDO=${SUDO:-sudo}
test ! -z "$SUDO" && sudo=$SUDO
if [ $type = debian ] ; then
	LOGDEB=`pwd`
	LOGDEB=../`basename $LOGDEB`.log
	echo "== Debian build, log is $LOGDEB"; echo
	if $verbose ; then
		dpkg-buildpackage -r$SUDO | tee $LOGDEB
	else
		dpkg-buildpackage -r$SUDO > $LOGDEB || exit 1
	fi
	exit 0
fi

# build RPM packages - manual clean before starting
echo "== clean, log is $LOGDIR/clean"
if $verbose ; then
	$MAKE clean 2>&1 | tee $LOGDIR/clean
else
	$MAKE clean > $LOGDIR/clean 2>&1  || exit 1
fi

echo
echo "== configure, log is $LOGDIR/configure"
rm -f .census	# force configure to run here
if $verbose ; then
	$MAKE configure 2>&1 | tee $LOGDIR/configure
else
	$MAKE configure > $LOGDIR/configure 2>&1 || exit 1
fi

echo
echo "== default, log is $LOGDIR/default"
if $verbose ; then
	$MAKE default 2>&1 | tee $LOGDIR/default
else
	$MAKE default > $LOGDIR/default 2>&1 || exit 1
fi

echo
echo "== dist, log is $LOGDIR/dist"
[ ! -f .census ] && touch .census
if $verbose ; then
	$MAKE -C build dist 2>&1 | tee $LOGDIR/dist
else
	$MAKE -C build dist > $LOGDIR/dist 2>&1 || exit 1
	grep '^Wrote:' $LOGDIR/dist | sed -e 's/\.\.\/\.\.\///'
fi

exit 0
