#! /bin/bash
#
#	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
