#! /usr/bin/env sh

check_distfile() {
	if ! test -f "$PWD/Distfile"; then
		return 1
	fi
	return 0
}

setup_workdir() {
	readonly WORK="$(mktemp -d -p "$PWD" --suffix=.work)"
	readonly DIST="$(mktemp -d -p "$PWD" --suffix=.dist)"
	readonly BOOT="$(mktemp -d -p "$PWD" --suffix=.boot)"
	ln -sf "$(basename $WORK)" "$PWD/work"
	ln -sf "$(basename $DIST)" "$PWD/dist"
	ln -sf "$(basename $BOOT)" "$PWD/boot"
}

clean_workdir() {
	for dir in $WORK; do
		grep -qs "$dir" "/proc/mounts" || rm -r -f "$dir"
	done
	rm "$PWD/work"
}

main() {
	setup_workdir
	build
	clean_workdir
}

if check_distfile; then
	. "$PWD/Distfile"
fi

main "$@"
