NL='
'
msk=
prompt=prompt
files=
quick=:

for i do

	case $i in

	LINT)	>>LINT
		quick=break;
		case `ls -t lib.a LINT` in
		lib.a*)	sh -x runlint
		esac
		;;

	-i)	;;
	-x)	set -x
		continue
		;;
	-n)	msk=:
		continue
		;;
	-q)	quick=break
		continue
		;;
	-s)	prompt=:
		continue
		;;
	-*)	prompt "$i: bad flag$NL"
		exit 1
		;;
	*)	files="$files $i"
		;;
	esac
done

case $files in

	"")	files=`ls -t *.[cs]`
esac
for i in $files
do

	case $i in

	\**)	prompt "$i: not found$NL"
		continue
		;;
	*.s)	B=`basename $i .s`
		CMD="as - -o $B.o $i"
		;;
	*.c)	B=`basename $i .c`
		CMD="cc -O -c $i"
		;;
	*.o)	continue
		;;

	esac

	set - `ls -t $B.[ocs]`
	case $2 in
	$i)	$quick
		$prompt "$B.o is up to date$NL"
		;;
	*)	$prompt "$CMD$NL"
		$msk $CMD
		obj="$obj $B.o"
		;;
	esac
done

CC -o ${D-.}/fix *.o ../libgp/lib.a
