#sccs	"@(#)awk:Makefile	1.4"

#	awk make file
include $(MAKEINC)/Makepre.h

YACCRM=-rm
ID = id.o
B10 =
B11 =
YFLAGS = -d
IFLAG = -i
LLDFLAGS = -s $(IFLAG) $(FFLAG)
REL = current
LIST = lp
SOURCE = \
	EXPLAIN \
	README \
	awk.def \
	awk.g.y \
	awk.h \
	awk.lx.l \
	b.c \
	lib.c \
	main.c \
	parse.c \
	proc.c \
	run.c \
	token.c \
	tokenscript \
	tran.c

FILES = awk.lx.o b.o main.o token.o tran.o lib.o run.o parse.o proctab.o 
MAKE = make

DEPENDLIST = awk.g.y \
	awk.lx.l \
	b.c \
	lib.c \
	main.c \
	parse.c \
	proc.c \
	run.c \
	token.c \
	tran.c

all:	Makeincludes awk

awk: 	$(FILES) awk.g.o $(SHAREDLIB) $(LIBM) $(ID)
	$(LD) $(LLDFLAGS) $(SHAREDLIB) awk.g.o $(FILES) $(ID) -lm  -o awk

Makeincludes: $(DEPENDLIST)
	$(INCCMD) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes;\
	$(MAKE)

includes: $(DEPENDLIST)
	$(INCCMD) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes

id.c: awk.sl
	mkslid >id.c
	
$(FILES):	awk.h awk.def
run.o:	awk.h awk.def
	$(CC) $(CFLAGS) $(B11) -c run.c

token.c:	awk.h
	ed - <tokenscript

proctab.c:	awk.h proc.c token.c
	mv token.o token.fudge
	$(CC) -o proc proc.c token.c
	-./proc > proctab.c
	rm token.o
	mv token.fudge token.o

awk.g.o:	awk.def awk.g.c
	$(CC) $(CFLAGS) $(B10) -c awk.g.c

awk.g.h awk.g.c:	awk.g.y
	-$(YACC) $(YFLAGS) awk.g.y && mv y.tab.h awk.g.h && mv y.tab.c awk.g.c

awk.h:	awk.g.h
	-cmp -s awk.g.h awk.h || cp awk.g.h awk.h

awk.lx.o:	awk.lx.c
	$(CC) $(CFLAGS) -c awk.lx.c

awk.lx.c:	awk.lx.l
	$(LEX) $(LFLAGS) awk.lx.l
	mv lex.yy.c awk.lx.c

install:
	$(INSTALL) -i$(EXITFLAG) awk $(INSDIR) $(PROTOFILE)

clean: 
	rm -f *.o temp* core proc proctab.c
	$(YACCRM) -f awk.lx.c awk.g.c awk.g.h

clobber: clean
	rm -f awk

populate:
	getunit

include Makeincludes
include $(MAKEINC)/Makepost.h
