
PROG=	nawk
YACC=	byacc
CFLAGS=	-O2 -I.
OBJS=	ytab.o b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o

BINDIR=	/usr/bin
MANDIR=	/usr/man

all: $(PROG)

$(PROG): $(OBJS)
	$(CC) $(OBJS) -o $(PROG) -lm

ytab.c ytab.h: awkgram.y
	${YACC} -d awkgram.y
	mv y.tab.c ytab.c
	mv y.tab.h ytab.h

proctab.c: maketab
	./maketab >proctab.c

maketab: ytab.h maketab.c
	${CC} ${CFLAGS} maketab.c -o $@

install: all
	install -c -d -m755 $(BINDIR) $(MANDIR)/man1
	install -c -s -m755 $(PROG) $(BINDIR)
	install -c -m644 awk.1 $(MANDIR)/man1/nawk.1

clean:
	$(RM) $(PROG) $(OBJS) *~ a.out core
	$(RM) proctab.c maketab ytab.c ytab.h

# Dependencies
b.o: b.c awk.h proto.h ytab.h
lex.o: lex.c awk.h proto.h ytab.h
lib.o: lib.c awk.h proto.h ytab.h
main.o: main.c awk.h proto.h ytab.h
maketab.o: maketab.c awk.h proto.h ytab.h
parse.o: parse.c awk.h proto.h ytab.h
proctab.o: proctab.c awk.h proto.h ytab.h
run.o: run.c awk.h proto.h ytab.h
tran.o: tran.c awk.h proto.h ytab.h
ytab.o: ytab.c awk.h proto.h
