# CFLAGS=-DDEBUG
CFLAGS = -O
YFLAGS = -d
OBJFILES = awk.g.o awk.lx.o b.o main.o token.o tran.o lib.o run.o \
	parse.o proctab.o
SRCFILE = awk.def awk.g.y awk.lx.l b.c lib.c main.c parse.c proctab.c \
	proc.c run.c token.c tran.c
I = /usr/include

awk:    $(OBJFILES)
	cc  -n $(CFLAGS) $(OBJFILES) -lm -o awk
/bin/awk:       awk
	/etc/instcmd awk /bin/awk
	rm $(OBJFILES)

awk.g.o:	awk.g.y		awk.def 
	yacc $(YFLAGS) awk.g.y
	cc -c $(CFLAGS) -TR2 -DR2 y.tab.c
	rm y.tab.c
	mv y.tab.o awk.g.o
awk.lx.o:	awk.lx.l	awk.h awk.def 
	lex awk.lx.l
	cc -c $(CFLAGS) -DR2 lex.yy.c
	rm lex.yy.c
	mv lex.yy.o awk.lx.o
b.o:		b.c		awk.def $I/stdio.h awk.h 
lib.o:		lib.c		$I/stdio.h awk.def awk.h \
				$I/ctype.h 
main.o:		main.c		$I/stdio.h awk.def awk.h 
parse.o:	parse.c		awk.def awk.h $I/stdio.h 
proc.o:		proc.c		awk.h 
run.o:		run.c		awk.def $I/math.h awk.h \
				$I/stdio.h 
token.o:	token.c		awk.h 
	ed - <tokenscript
	rm temp
	cc -c $(CFLAGS) token.c
tran.o:		tran.c		$I/stdio.h awk.def awk.h 


proctab.c:	proc
	proc > proctab.c
proc:           awk.h proc.o token.o
	cc -o proc proc.o token.o

y.tab.h:	awk.g.o
awk.h:          y.tab.h
	-cmp -s y.tab.h awk.h || cp y.tab.h awk.h
