CC = /usr/src/lib/c/c0 /usr/src/lib/c/c1
.SUFFIXES : .c .t .s .o .h

.c.t:
	tcc $<; a.out; cat </dev/null >$@

works: float.t conversion.t exprcvn.t long.t unlong.t unsign.t ptrcmp.t align.t system1.t system2.t system3.t short.t int.t unshrt.t field.t shrtfld1.t shrtfld2.t strasg1.t strasg2.t strasg3.t strcall1.t strcall2.t strcall3.t strcmp.t enum.t bugs.t
	@echo "tests successfully completed"

int.t: int.c $(CC)
	tcc -TR2 int.c; a.out; cat </dev/null > int.t
float.t: float.c $(CC)
	tcc -TR2 float.c; a.out; cat </dev/null > float.t
long.t: long.c $(CC)
	tcc -TR2 long.c; a.out; cat </dev/null > long.t
unlong.t: unlong.c $(CC)
	tcc -TR2 unlong.c; a.out; cat </dev/null > unlong.t
enum.t: enum.c $(CC)
short.t: short.c $(CC)
	tcc -TR2 short.c; a.out; cat </dev/null > short.t
unsign.t: unsign.c $(CC)
	tcc -TR2 unsign.c; a.out; cat </dev/null > unsign.t
unshrt.t: unshrt.c $(CC)
	tcc -TR3 unshrt.c; a.out; cat </dev/null > unshrt.t
field.t: field.c $(CC)
shrtfld1.t: shrtfld1.c $(CC)
	tcc -TR2 shrtfld1.c; a.out; cat </dev/null > shrtfld1.t
shrtfld2.t: shrtfld2.c $(CC)
	tcc -TR2 shrtfld2.c; a.out; cat </dev/null > shrtfld2.t
conversion.t: conversion.c $(CC)
	tcc -DR2 conversion.c; a.out; cat </dev/null > conversion.t
exprcvn.t: exprcvn.c $(CC)
ptrcmp.t: ptrcmp.c $(CC)
strasg1.t: strasg1.c $(CC)
strasg2.t: strasg2.c $(CC)
strasg3.t: strasg3.c $(CC)
strcall1.t: strcall1.c $(CC)
	tcc -TR2 strcall1.c; a.out; cat </dev/null > strcall1.t
strcall2.t: strcall2.c $(CC)
strcall3.t: strcall3.c $(CC)
strcmp.t: strcmp.c $(CC)
	tcc -S strcmp.c
	cmp strcmp.s rstrcmp.s
	cat </dev/null >strcmp.t
	rm strcmp.s
align.t: align.c $(CC)
	tcc -S align.c
	cmp align.s ralign.s
	cat </dev/null >align.t
	rm align.s
bugs.t: bugs.c $(CC)
	tcc -S bugs.c
	cmp bugs.s rbugs.s
	cat </dev/null >bugs.t
	rm bugs.s
system1.t: system1.c $(CC)
	tcc system1.c ; a.out > system1.x; cmp system1.x system1.tst; cat </dev/null > system1.t; rm system1.x
system2.t: system2.c $(CC)
	tcc system2.c ; a.out > system2.x; cmp system2.x system2.tst; cat </dev/null > system2.t; rm system2.x
system3.t: system3.c $(CC)
	tcc system3.c ; a.out > system3.x; cmp system3.x system3.tst; cat </dev/null > system3.t; rm system3.x

DIR = ../c1
chalf: chalf.c $(DIR)../../c13.c $(DIR)/c1.h
	cc -n -s -I$(DIR) chalf.c  -o chalf
