NOMAN   = true
OBJS    = parser.o scanner.o \
	  scanner.o parser.o fwset.o fwent.o \
	  print.o
LDADD   = -lfl
PROGS   = gatekeeper ipfw fwlint brcmd
GATE	= gatekeeper.o permissions.o message.o
LIB	= gate.a
MANPAGES= brcmd.1 ipfw.1 fwlint.1 gatekeeper.cf.5 gatekeeper.8

all: $(PROGS)

gatekeeper: parser.h $(GATE) $(LIB)
	$(CC) $(CFLAGS) -o gatekeeper $(GATE) $(LIB)

scanner.c: scanner.l parser.h
	lex -l -i $(DEBUG) scanner.l
	mv lex.yy.c scanner.c

brcmd: brcmd.c

parser.h parser.c: parser.y
	yacc -vd parser.y
	mv y.tab.c parser.c
	mv y.tab.h parser.h

$(LIB):	$(OBJS)
	rm -f $(LIB)
	ar crv $(LIB) $(OBJS)
	ranlib $(LIB)

ipfw:	parser.h ipfw.o $(LIB)
	$(CC) $(CFLAGS) -o ipfw ipfw.o $(LIB)

fwlint: parser.h fwlint.c $(LIB)
	$(CC) $(CFLAGS) -DTEST -o fwlint fwlint.c $(LIB)

clean:
	rm -f $(OBJS) $(LIB)
	rm -f *.o parser.c parser.h scanner.c
	rm -f $(PROGS)

install: $(PROGS) VERSION install.man
	install -c -s $(PROGS) /sbin
	install -c gatekeeper.cf /etc

install.man: install_manpages
	./install_manpages $(MANDIR) $(MANPAGES)

install_manpages:
	get install_manpages
