#! /bin/sh

set -e
test $# -ne 1 && (echo "$0 <file>"; exit 1)

musl=${musl:-$HOME/musl}
qbeo=$(mktemp).qbe
tmp=$(mktemp).s
obj=$(basename $1 .uc).o

if [ -f ./build/prc ]
then
	./build/prc $1 > $qbeo
elif [ -f ./prc ]
then
	./prc $1 > $qbeo
else
	echo "cannot find prc executable in either $PWD/prc or $PWD/build/prc" >&2
	exit 1
fi

# uncomment to print out qbe IL output
cat $qbeo
qbe -o $tmp $qbeo
as -o $obj $tmp
ld -static -z nodefaultlib --gc-sections -o a.out -L $musl/lib/ $musl/lib/crt* $obj -lc
rm $tmp $qbeo
