.c.o:
	${MKSTR} - pi1.2strings x $*.c
	${CC} -c ${CFLAGS} x$*.c
	mv x$*.o $*.o
	rm x$*.c
AS=	-as
ED=	-ed
VERSION= version
EYACC=	../../bin/ucb/eyacc
MKSTR=	mkstr
CFLAGS=	-O -DPI -DPI01
OBJS=	ato.o call.o case.o clas.o const.o conv.o cset.o \
	error.o fdec.o func.o gen.o getc.o hash.o lab.o lookup.o lval.o \
	main.o nl.o printf.o proc.o put.o putn.o rec.o rval.o \
	stat.o string.o subr.o tree.o treen.o type.o var.o \
	y.tab.o yycopy.o yycosts.o yyerror.o yyget.o yyid.o yylex.o yymain.o \
	yyoptions.o yypanic.o yyparse.o yyprint.o yyput.o yyrecover.o \
	yyseman.o yytree.o
#	wait.o

a.out:	${OBJS}
	-echo "${VERSION} > Version.c"
	${CC} -c Version.c
	${CC} -i ${OBJS}  Version.o ../pascal/opcodes/TRdata.o

y.tab.c: pas.y
	${EYACC} pas.y
	${ED} - y.tab.c < gram
getc.o:	getc.s
	as -o getc.o /srce/include/sys.s getc.s
clean:
	-rm pi1.2strings a.out core
	-echo dont rm y.tab.c
	rm *.o x*
install: a.out
	cp a.out /bin/pi.new
	-chmod 1711 /bin/pi.new
	mv /bin/pi /bin/pi.old
	mv /bin/pi.new /bin/pi
	-chmod 700 /bin/pi.old
	chown pascal /bin/pi
	cp pi1.2strings /usr/lib/pi1.2strings

print:
	@pr makefile READ_ME
	@ls -ls | pr
	@size a.out *.o | pr
	@cxref *.c | pr
	@pr ../pascal/opcodes/picture
	@pr 0.h tree.h main.c pas.y
	@pr yy.h yy*.c
	@pr [a-ln-x]*.c
	@pr putn.s treen.s yycopy.s
ato.o:		0.h
call.o:		0.h opcode.h tree.h
case.o:		0.h opcode.h tree.h
clas.o:		0.h opcode.h tree.h
const.o:	0.h tree.h
conv.o:		0.h opcode.h
cset.o:		0.h opcode.h tree.h
error.o:	0.h yy.h
fdec.o:		0.h opcode.h tree.h
func.o:		0.h opcode.h tree.h
gen.o:		0.h opcode.h tree.h
hash.o:		0.h yy.h
lab.o:		0.h opcode.h tree.h
lookup.o:	0.h
lval.o:		0.h opcode.h tree.h
main.o:		0.h
nl.o:		0.h opcode.h
proc.o:		0.h opcode.h tree.h
put.o:		0.h OPnames.h opcode.h
rec.o:		0.h opcode.h tree.h
rval.o:		0.h opcode.h tree.h
stat.o:		0.h opcode.h tree.h
string.o:	0.h
subr.o:		0.h
tree.o:		0.h
type.o:		0.h tree.h
var.o:		0.h opcode.h tree.h
y.tab.o:	0.h tree.h yy.h
yycosts.o:	0.h yy.h
yyerror.o:	0.h yy.h
yyget.o:	0.h yy.h
yyid.o:		0.h yy.h
yylex.o:	0.h yy.h
yymain.o:	0.h yy.h
yyoptions.o:	0.h yy.h
yypanic.o:	0.h yy.h
yyparse.o:	0.h yy.h
yyprint.o:	0.h yy.h
yyput.o:	0.h tree.h yy.h
yyrecover.o:	0.h yy.h
yyseman.o:	0.h yy.h
yytree.o:	0.h tree.h
