.c.o:
	${MKSTR} - pi1:2strings x $*.c
	${CC} -c ${CFLAGS} x$*.c
	mv x$*.o $*.o
	rm x$*.c
ED=	-ed
AS=	-as
VERSION= version
EYACC=	../eyacc/eyacc
MKSTR=	./mkstr
CFLAGS=	-O -DPI -DPI0
OBJS=	TRdata.o ato.o clas.o const.o conv.o \
	error.o fdec.o getc.o hash.o lab.o lookup.o \
	main.o nl.o printf.o rec.o send.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

a.out:	${OBJS}
	-echo "${VERSION} > Version.c"
	${CC} -c Version.c
	${CC} -n ${OBJS} Version.o ../pascal/fpdata/fp.o ../pascal/fpdata/putc.o ../pascal/fpdata/perror.o
	-rm -f ../pi1/pi1:2strings
	ln pi1:2strings ../pi1/pi1:2strings
pi0.34.o:	${OBJS}
	${CC} -c Version.c
	ld -rx -o pi0.34.o ${OBJS} Version.o ../pascal/fpdata/putc.o ../pascal/fpdata/perror.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:
	cp a.out /usr/ucb/pi34
	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 main.c pas.y
	@pr yy.h yy*.c
	@pr [a-ln-x]*.c
	@pr putn.s treen.s yycopy.s
TRdata.o:	0.h
ato.o:		0.h
clas.o:		0.h opcode.h tree.h
const.o:	0.h tree.h
conv.o:		0.h opcode.h
error.o:	0.h yy.h
fdec.o:		0.h tree.h
hash.o:		0.h yy.h
lab.o:		0.h opcode.h tree.h
lookup.o:	0.h
main.o:		0.h
nl.o:		0.h opcode.h
rec.o:		0.h opcode.h tree.h
rval.o:		0.h opcode.h tree.h
send.o:		0.h tree.h
string.o:	0.h send.h
subr.o:		0.h
tree.o:		0.h tree.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
