#!/bin/sh

[ $# -gt 0 ] && STAGE=$1 || STAGE=portlist
[ $# -gt 1 ] && FORKS="-j $2" || FORKS=""

CFG="${STAGE}-config.sh"

if [ ! -r $CFG ]; then
	echo "Config script \"${STAGE}-config.sh\" not found."
	exit 1
fi

PREVPORT=""

echoerr() {
	echo "$@" 1>&2;
}

for p in $(cat $CFG | awk '{print $2}'); do
	PORT=$(echo $p | sed -e 's/.*\///' -e 's/;//')
	if [ "x$PREVPORT" = "x$PORT" ]; then
		echoerr "Warning: duplicate port \"$p\""
	fi
	echo $p $FORKS
	PREVPORT=$PORT
done | \
	sed -e 's/\.\//\/usr\/ports\//' | awk '{print "cd " $1 " make " $2}' > ${STAGE}-build.sh

for p in $(cat $CFG | awk '{print $2}'); do
	echo $p
done | \
	sed -e 's/\.\//\/usr\/ports\//' | awk '{print "cd " $1 " make clean"}' > ${STAGE}-installclean.sh

chmod a+x ${STAGE}-build.sh
chmod a+x ${STAGE}-installclean.sh
