obj=*.o
msk=
echo=echo
files=
quick=break

for i do

	case $i in

	llib)	llib lint.ln *.c
		exit
		;;

	-i)	;;
	-x)	set -x
		continue
		;;
	-n)	msk=:
		continue
		;;
	-f)	quick=:
		continue
		;;
	-s)	echo=:
		continue
		;;
	-*)	echo "$i: bad flag"
		exit 1
		;;
	*)	files="$files $i"
		;;
	esac
done

case $files in

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

	case $i in

	\**)	echo "$i" not found
		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 $i $B.o`
	case $2 in
	$i)	$quick
		$echo $B.o is up to date
		;;
	*)	$echo $CMD
		$msk $CMD
		obj="$obj $B.o"
		;;
	esac
done

if test -f lib.a
then set -$- `ls -t lib.a $obj`
else set -$- x
fi
case $1 in
lib.a)	;;
*)	# ar rc lib.a `lorder *.o | tsort`
	rm -f lib.a
	ar rc lib.a $obj
	ranlib lib.a
esac
