#!/bin/sh DIR=`cd $(dirname $0); pwd` QBE=$DIR/../qbe usage() { echo "usage: mcc [LDFLAGS] file.c" >&2 exit 1 } for i do case $i in -*) flags="$flags $i" ;; *) if ! test -z $file then usage fi file=$i ;; esac done if test -z $file then usage fi $DIR/minic < $file > /tmp/minic.ssa && $QBE < /tmp/minic.ssa > /tmp/minic.s && cc /tmp/minic.s $flags if test $? -ne 0 then echo "error processing file $file" >&2 exit 1 fi