MANDIR		 = /usr/man
MAN2DIR		 = man2
MAN3DIR		 = man3
MAN2_OPTS	 = *
MAN3_OPTS	 = *.3[msv]
GETMANPAGE.n = nroff -man < $$f 2> $(ERROR)
GETMANPAGE.Z = zcat - < $$f | nroff -man 2> $(ERROR)
DATABASE	 = proto-database
ERROR		 = /dev/null

# set this to GETMANPAGE.Z for compressed pages
GETMANPAGE	 = $(GETMANPAGE.n)

# These rules are copied from Sun's make so that brain dead
# versions of make (i.e. HP) know what to do with lex files.

RM			= rm -f
LEX			= lex
LFLAGS		=
LEX.l		= $(LEX) $(LFLAGS) -t
CC			= cc
CFLAGS		=
CPPFLAGS	=
LDLIBS		=
COMPILE.c	= $(CC) $(CFLAGS) $(CPPFLAGS) -c
LINK.c		= $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)

.l:		
		$(RM) $*.c
		$(LEX.l) $< > $*.c
		$(LINK.c) -o $@ $*.c -ll $(LDLIBS)
		$(RM) $*.c

all:	nuke-bs scan $(DATABASE)

$(DATABASE):
		@$(RM) $(DATABASE).2
		@echo Making database for man2
		@echo
		-@for f in $(MANDIR)/$(MAN2DIR)/$(MAN2_OPTS) ; do \
			echo scanning $$f; \
			$(GETMANPAGE) | nuke-bs | scan >> $(DATABASE).2; \
		done
		@$(RM) $(DATABASE).3
		@echo Making database for man3
		@echo
		-@for f in $(MANDIR)/$(MAN3DIR)/*.3 $(MANDIR)/$(MAN3DIR)/$(MAN3_OPTS) ; do \
			echo scanning $$f; \
			$(GETMANPAGE) | nuke-bs | scan >> $(DATABASE).3; \
		done
		@cat $(DATABASE).2 $(DATABASE).3 | sort | uniq > $(DATABASE)
		@$(RM) $(DATABASE).2 $(DATABASE).3
