#!/bin/bash

compile_hbf ()
{
	make || exit 1
}

compile_boot ()
{
	if [[ -e $PWD/boot.dol && ! $FORCE ]]; then
		cp boot.dol boot/source/hbf.dol
		make -C boot/ || exit 1
	else	compile_hbf
		cp boot.dol boot/source/hbf.dol
		make -C boot/ || exit 1
	fi

}

compile_installer ()
{
	if [[ -e boot/boot.dol && ! $FORCE ]]; then
		cp boot/boot.dol installer/wad/00000002.app
	else	compile_boot
		cp boot/boot.dol installer/wad/00000002.app
	fi

	wine installer/WadMii.exe -input "Z:\home\chris\Projekte\homebrewfilter\installer\wad" -output "Z:\home\chris\Projekte\homebrewfilter\installer\data\install.wad"

	sleep 5

	if [[ -e installer/data/install.wad ]]; then
		make -C installer || exit 1
	else	echo -e "--Error installer/data/install.wad not found--"
		exit 1
	fi

}

make_distribution ()
{

	if [[ -e installer/boot.dol && ! $FORCE ]]; then
		cp installer/boot.dol HomebrewFilter/
	else	compile_installer
		cp installer/boot.dol HomebrewFilter/
	fi

	XREV=$(grep "define SVN_REV" svnrev/svnrev.c | gawk '{print $3}')

	cp data/meta.xml.in HomebrewFilter/meta.xml

	sed -e "s/@REV@/$XREV/g" -i HomebrewFilter/meta.xml
	sed -e '/./{H;$!d;}' -e "x;/rev$XREV/!d;" updates >> HomebrewFilter/meta.xml
	echo -e "\n  </long_description>\n</app>" >> HomebrewFilter/meta.xml
}

make_filelist()
{

	ARC=$1
	THM=$(basename $1 .zip)

	unp -U $1

	cd $THM/

	for i in $(ls -1 *.png *.xml); do \
		echo "$THM/file:$i" >> temp ; \
		cat temp | tr "\n" "+" > filelist ; \
	done

}

if [[ $1 == "-c" ]]; then
	make clean
	make -C boot clean
	make -C installer clean
	rm HomebrewFilter/meta.xml
elif [[ $1 == "-l" ]]; then
	make_filelist $2
elif [[ $1 == "-f" ]]; then
	FORCE=YES
	make_distribution
else	make_distribution
fi
