blob: 80c167201f3fda92af51882a1bd801ca7ce5b5ba [file] [log] [blame] [raw]
#!/bin/sh
[ -n "$TMPDIR" ] && cd "$TMPDIR" || cd /tmp || exit
[ "$1" = --version ] && exec owcc -v 2>&1
flags=
[ -n "$ONLY_STAGE" ] && flags="-$ONLY_STAGE"
[ -n "$OPTIMIZATION" ] && flags="$flags -O$OPTIMIZATION"
[ -n "$DEBUG" ] && flags="$flags -g"
for d in $DEFINE; do flags="-D $d $flags"; done
for d in $UNDEFINE; do flags="-U $d $flags"; done
[ -n "$VERBOSE" ] && flags="$flags -v"
set -e
TMPDIR="`mktemp -d`"
trap 'cd / && rm -rf "$TMPDIR"' EXIT
cd "$TMPDIR"
cat > program.c
owcc $flags "$@" program.c
case "$ONLY_STAGE" in
S)
cat program.s
;;
c)
cat program.o
;;
"")
cat a.out
;;
esac