4.3BSD/usr/contrib/notes/src/Makefile

#	Makefile for University of Illinois Notesfiles
#
# $Header: Makefile,v 1.7.0.5 85/10/09 18:11:23 notes Rel $
#
#	Ray Essick
#	214 DCL
#	University of Illinois at Urbana-Champaign
#	1304 W. Springfield
#	Urbana, Illinois 61801
#	217-333-7937
#

BIN = /usr/local
MSTDIR = /usr/spool/notes
ARCHDIR = /usr/spool/oldnotes
NET = /usr/bin
AUTOSEQ = autoseq
NOTES = notes
NOTESUID = 10
NOTESGRP = notes
ANON = anon
ANONUID = 4
LIBDIR = /usr/local/lib
CC = cc
CFLAGS = -DMSTDIR=\"$(MSTDIR)\" -DARCHDIR=\"$(ARCHDIR)\" \
	-DNOTES=\"$(NOTES)\" -DNOTESUID=$(NOTESUID) \
	-DANON=\"$(ANON)\" -DANONUID=$(ANONUID) \
	-DBIN=\"$(BIN)\" -DRCSIDENT -O
LFLAGS = -n
#	-n is shared, read-only text segment
TERMCAP = -ltermcap
# Evidently on System V (and other USG systems?) the termcap routines
# are in /usr/lib/libcurses.a

#
#	The following probably don't need to be modified
#
UTILITY = $(MSTDIR)/.utilities
SEQUENCER = $(MSTDIR)/.sequencer
LOCKS = $(MSTDIR)/.locks
ALIASES = $(UTILITY)/net.aliases
UNIQID = $(MSTDIR)/.SEQ

# directory where the "release" copy is kept
DISTDIR= p:/usr/src/uiuc/notesfiles
DCP=	rcp
RCSID = 1.7.0
RCSSTATE = Rel
RCSIFLAGS = -r$(RCSID) -s$(RCSSTATE)
RCSOFLAGS = -r$(RCSID) -s$(RCSSTATE)

#
#	Define some collections of routines so that things will
#	be easy to maintain
#

MISCFILES = Makefile rinstall getdate.y
HFILES = canon.h doc.h net.h newsgate.h parms.h structs.h dump.h
HLPFILES = access.help dir.help index.help lim.help read.help
CFILES = access.c adnote.c adresp.c archiver.c asearch.c buildnf.c check.c \
	checknotes.c compress.c control.c cursor.c datein.c delete.c \
	dmpnote.c dmpresp.c dropt.c dsply.c find.c gdate.c getnet.c \
	gname.c gtext.c gtime.c help.c index.c ldmisc.c limindx.c loadem.c \
	lprnote.c lrsp.c mailit.c main.c misc.c miscio.c mknf.c newsdump.c \
	newsgroup.c newsinput.c newsout.c newsoutput.c next.c nfalias.c \
	nfarchive.c nfcomment.c nfmail.c nfpipe.c nfprint.c nfrcv.c nfsend.c \
	nfstats.c nfxmit.c note.c pagein.c pageout.c pattern.c permit.c \
	perms.c preptxt.c prtind.c readem.c recsio.c resp.c rmnf.c \
	savtxt.c startup.c talkto.c times.c tsearch.c \
	expand.c newspath.c nfaccess.c acssort.c nfabort.c \
	nfdump.c dump.c nfload.c loadnf.c parse.c loadvars.c \
	bnewshead.c loadproto1.c ftime.c parsepath.c pagemove.c
USERCMDS = main nfpipe nfprint nfstats checknotes
NETCMDS = nfxmit nfrcv newsinput newsoutput
UTILCMDS = mknf rmnf nfarchive nfaccess nfmail
MISCCMDS = nfload nfdump
CMDS =	$(USERCMDS) $(NETCMDS) $(UTILCMDS) $(MISCCMDS)

#
#	Objects (other than the mainline) to load with each program
#

CHECKNOTES = check.o cursor.o gname.o gtime.o lrsp.o misc.o miscio.o \
	  next.o pattern.o perms.o recsio.o startup.o times.o expand.o
MAIN	= access.o acssort.o adnote.o adresp.o asearch.o check.o compress.o \
	  control.o cursor.o delete.o dropt.o dsply.o gdate.o gname.o \
	  gtext.o gtime.o help.o index.o limindx.o lrsp.o mailit.o \
	  misc.o miscio.o next.o note.o pagein.o pageout.o pattern.o \
	  permit.o perms.o preptxt.o prtind.o readem.o recsio.o resp.o \
	  savtxt.o startup.o talkto.o times.o tsearch.o \
	  expand.o datein.o getdate.o ftime.o pagemove.o
MKNF	= buildnf.o check.o cursor.o gname.o gtime.o misc.o \
	  miscio.o startup.o acssort.o recsio.o perms.o
NEWSINPUT = buildnf.o check.o cursor.o datein.o find.o gname.o gtime.o \
	  lrsp.o misc.o miscio.o newsgroup.o note.o pagein.o permit.o \
	  perms.o recsio.o resp.o startup.o tsearch.o acssort.o \
	  expand.o bnewshead.o pattern.o getdate.o ftime.o parsepath.o
NEWSOUTPUT = check.o cursor.o gname.o gtime.o lrsp.o misc.o miscio.o \
	  newsdump.o newsgroup.o newsout.o newspath.o next.o pageout.o \
	  pattern.o perms.o recsio.o startup.o times.o expand.o \
	  getnet.o datein.o getdate.o ftime.o
NFACCESS = acssort.o check.o cursor.o gname.o gtime.o misc.o miscio.o \
	  pattern.o permit.o perms.o recsio.o startup.o expand.o
NFARCHIVE = archiver.o buildnf.o check.o compress.o cursor.o dmpnote.o \
	  dmpresp.o gname.o gtime.o lrsp.o misc.o miscio.o \
	  next.o nfalias.o note.o pagein.o pageout.o pattern.o permit.o \
	  perms.o recsio.o resp.o startup.o expand.o acssort.o find.o \
	  pagemove.o
NFMAIL	= gname.o gtime.o note.o pagein.o recsio.o resp.o startup.o \
	  tsearch.o check.o cursor.o misc.o miscio.o perms.o parsepath.o
NFPIPE	= check.o cursor.o gname.o gtime.o misc.o miscio.o note.o \
	  pagein.o permit.o perms.o recsio.o startup.o
NFPRINT	= check.o cursor.o gname.o gtime.o lprnote.o lrsp.o \
	  misc.o miscio.o pageout.o permit.o perms.o recsio.o \
	  startup.o
NFRCV	= buildnf.o check.o cursor.o find.o gname.o gtime.o ldmisc.o \
	  loadem.o lrsp.o misc.o miscio.o note.o permit.o perms.o \
	  recsio.o resp.o startup.o acssort.o
NFSTATS	= check.o cursor.o gname.o gtime.o misc.o miscio.o \
	  pattern.o perms.o recsio.o startup.o expand.o
NFXMIT	= check.o cursor.o dmpnote.o dmpresp.o getnet.o gname.o \
	  gtime.o lrsp.o misc.o miscio.o next.o nfalias.o nfsend.o \
	  pageout.o pattern.o permit.o perms.o recsio.o \
	  startup.o times.o expand.o datein.o getdate.o ftime.o
RMNF	= check.o cursor.o misc.o miscio.o startup.o gname.o \
	  expand.o pattern.o
LIBOBJS	= nfabort.o nfcomment.o
#
NFDUMP	= dump.o dmpnote.o dmpresp.o check.o recsio.o note.o resp.o \
	  lrsp.o startup.o misc.o miscio.o pageout.o gname.o perms.o \
	  permit.o gtime.o cursor.o
NFLOAD	= loadvars.o loadnf.o buildnf.o recsio.o gname.o gtime.o \
	  startup.o misc.o miscio.o cursor.o loadem.o parse.o acssort.o \
	  check.o perms.o permit.o note.o ldmisc.o find.o resp.o \
	  lrsp.o datein.o getdate.o ftime.o

bin:	user network utility
	@echo notesfile binaries up-to-date
	touch bin

all:	bin
	touch all

clean:
	rm -f *.o $(CMDS) libnfcom.a
#	DO NOT remove "boot" and "spool".
	rm -f placebin placeuser placenet placeutil placelib placedoc \
		bin user network utility install print all
	rm -f Make.errs

sizes:
	size $(CMDS)

help:
	@echo type make base as su to make notes directories.
	@echo type make install to compile and install code and man pages.
	@echo type make bin to merely make binaries.
	@echo for more info, see the Notesfile Reference Manual.

user:	$(USERCMDS)
	touch user

network: $(NETCMDS)
	touch network

utility: $(UTILCMDS)
	touch utility

#	make base should only be run once!
#	This set of commands sets up the required files down in the
#	binary directories. It's main purpose is to do the several
#	installation commands that might just have to be super-user.

base:
	mkdir $(MSTDIR) $(ARCHDIR)
	-chown $(NOTES) $(MSTDIR) $(ARCHDIR)
	-chgrp $(NOTESGRP) $(MSTDIR) $(ARCHDIR)
	(cd $(BIN); touch notes nfprint nfstats checknotes nfpipe)
	-(cd $(BIN); chown $(NOTES) notes nfprint nfstats nfpipe checknotes)
	-(cd $(BIN); chgrp $(NOTESGRP) notes nfprint nfstats nfpipe checknotes)
#	establish "aliases" for auto-sequencing entry points
#	make more links with other names if you want them.
	ln $(BIN)/notes $(BIN)/$(AUTOSEQ)
	-(cd $(NET); touch nfxmit nfrcv)
	-(cd $(NET); chown $(NOTES) nfxmit nfrcv)
	-(cd $(NET); chgrp $(NOTESGRP) nfxmit nfrcv)
	touch $(LIBDIR)/libnfcom.a
	-chown $(NOTES) $(LIBDIR)/libnfcom.a
	-chgrp $(NOTESGRP) $(LIBDIR)/libnfcom.a
	touch base
	@echo base generation done

boot:	spool install
#	make the nfgripes file and open it
	-mknf -o nfgripes
	-mknf -on nfmaint
	@echo notesfile system booted

spool:
	mkdir $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES)
	-chown $(NOTES) $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES)
	-chgrp $(NOTESGRP) $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES)
	chmod 775 $(MSTDIR) $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES)
	mkdir $(UTILITY)/coredump
	chmod 777 $(UTILITY)/coredump
	echo 1 > $(UNIQID)
	chmod 660 $(UNIQID)
	-chown $(NOTES) $(UTILITY)/coredump $(UNIQID)
	-chgrp $(NOTESGRP) $(UTILITY)/coredump $(UNIQID)
#	generate the available notesfile file here - only once!
	echo "available notesfiles" > $(UTILITY)/avail.notes
	touch $(UTILITY)/Dflt-Seq
	-chown $(NOTES) $(UTILITY)/avail.notes $(UTILITY)/Dflt-Seq
	-chgrp $(NOTESGRP) $(UTILITY)/avail.notes $(UTILITY)/Dflt-Seq
	chmod 664 $(UTILITY)/avail.notes $(UTILITY)/Dflt-Seq
	touch spool
	@echo Notesfile Spool directories ready

#	make sure that all the appropriate directories exist
dirs:	$(MSTDIR) $(ARCHDIR) $(UTILITY) $(SEQUENCER) $(LOCKS) \
	$(ALIASES) $(UTILITY)/coredump
	touch dirs

$(MSTDIR) $(ARCHDIR) $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES):
	mkdir $@
	-chown $(NOTES) $@
	-chgrp $(NOTESGRP) $@
	chmod 775 $@

$(UTILITY)/coredump:
	mkdir $@
	-chown $(NOTES) $@
	-chgrp $(NOTESGRP) $@
	chmod 777 $@

install: dirs placedoc placelib placebin
	touch install
	@echo notesfiles installed

placedoc:	access.help dir.help index.help lim.help read.help
	cp $? $(UTILITY)
	-(cd $(UTILITY); chmod 644 $?)
	-(cd $(UTILITY); chown $(NOTES) $?; chgrp $(NOTESGRP) $?)
	@echo notesfile help files installed
	touch placedoc

placelib: libnfcom.a
	cp libnfcom.a $(LIBDIR)/libnfcom.a
	-ranlib $(LIBDIR)/libnfcom.a
	touch placelib

cp:	placebin

placebin: $(BIN)/notes $(BIN)/nfpipe $(BIN)/nfprint \
	  $(BIN)/nfstats $(BIN)/checknotes $(UTILITY)/mknf \
	  $(UTILITY)/rmnf $(UTILITY)/nfarchive $(UTILITY)/nfaccess \
	  $(UTILITY)/nfmail $(NET)/nfxmit $(NET)/nfrcv \
	  $(UTILITY)/newsinput $(UTILITY)/newsoutput
	@echo notesfile binaries installed
	touch placebin

$(BIN)/notes:	main
	cp main $(BIN)/notes
	strip $(BIN)/notes
	-chown $(NOTES) $(BIN)/notes
	-chgrp $(NOTESGRP) $(BIN)/notes
	chmod 2755 $(BIN)/notes

$(BIN)/nfpipe:	nfpipe
	cp nfpipe $(BIN)/nfpipe
	strip $(BIN)/nfpipe
	-chown $(NOTES) $(BIN)/nfpipe
	-chgrp $(NOTESGRP) $(BIN)/nfpipe
	chmod 2755 $(BIN)/nfpipe

$(BIN)/nfstats:	nfstats
	cp nfstats $(BIN)/nfstats
	strip $(BIN)/nfstats
	-chown $(NOTES) $(BIN)/nfstats
	-chgrp $(NOTESGRP) $(BIN)/nfstats
	chmod 2755 $(BIN)/nfstats

$(BIN)/nfprint:	nfprint
	cp nfprint $(BIN)/nfprint
	strip $(BIN)/nfprint
	-chown $(NOTES) $(BIN)/nfprint
	-chgrp $(NOTESGRP) $(BIN)/nfprint
	chmod 2755 $(BIN)/nfprint

$(BIN)/checknotes:	checknotes
	cp checknotes $(BIN)/checknotes
	strip $(BIN)/checknotes
	-chown $(NOTES) $(BIN)/checknotes
	-chgrp $(NOTESGRP) $(BIN)/checknotes
	chmod 2755 $(BIN)/checknotes

$(NET)/nfxmit:	nfxmit
	cp nfxmit $(NET)/nfxmit
	strip $(NET)/nfxmit
	-chown $(NOTES) $(NET)/nfxmit
	-chgrp $(NOTESGRP) $(NET)/nfxmit
	chmod 6750 $(NET)/nfxmit

$(NET)/nfrcv:	nfrcv
	cp nfrcv $(NET)/nfrcv
	strip $(NET)/nfrcv
	-chown $(NOTES) $(NET)/nfrcv
	-chgrp $(NOTESGRP) $(NET)/nfrcv
	chmod 6755 $(NET)/nfrcv

$(UTILITY)/newsinput:	newsinput
	cp newsinput $(UTILITY)/newsinput
	strip $(UTILITY)/newsinput
	-chown $(NOTES) $(UTILITY)/newsinput
	-chgrp $(NOTESGRP) $(UTILITY)/newsinput
	chmod 6755 $(UTILITY)/newsinput

$(UTILITY)/newsoutput:	newsoutput
	cp newsoutput $(UTILITY)/newsoutput
	strip $(UTILITY)/newsoutput
	-chown $(NOTES) $(UTILITY)/newsoutput
	-chgrp $(NOTESGRP) $(UTILITY)/newsoutput
	chmod 6755 $(UTILITY)/newsoutput

$(UTILITY)/mknf:	mknf
	cp mknf $(UTILITY)/mknf
	strip $(UTILITY)/mknf
	-chown $(NOTES) $(UTILITY)/mknf
	-chgrp $(NOTESGRP) $(UTILITY)/mknf
	chmod 4710 $(UTILITY)/mknf

$(UTILITY)/rmnf:	rmnf
	cp rmnf $(UTILITY)/rmnf
	strip $(UTILITY)/rmnf
	-chown $(NOTES) $(UTILITY)/rmnf
	-chgrp $(NOTESGRP) $(UTILITY)/rmnf
	chmod 4710 $(UTILITY)/rmnf

$(UTILITY)/nfarchive:	nfarchive
	cp nfarchive $(UTILITY)/nfarchive
	strip $(UTILITY)/nfarchive
	-chown $(NOTES) $(UTILITY)/nfarchive
	-chgrp $(NOTESGRP) $(UTILITY)/nfarchive
	chmod 6755 $(UTILITY)/nfarchive

$(UTILITY)/nfaccess:	nfaccess
	cp nfaccess $(UTILITY)/nfaccess
	strip $(UTILITY)/nfaccess
	-chown $(NOTES) $(UTILITY)/nfaccess
	-chgrp $(NOTESGRP) $(UTILITY)/nfaccess
	chmod 6755 $(UTILITY)/nfaccess

$(UTILITY)/nfmail:	nfmail
	cp nfmail $(UTILITY)/nfmail
	strip $(UTILITY)/nfmail
	-chown $(NOTES) $(UTILITY)/nfmail
	-chgrp $(NOTESGRP) $(UTILITY)/nfmail
	chmod 2755 $(UTILITY)/nfmail

#
#	Save old binaries. Put them all in the utility directory
#	so we don't clutter the bin directories
#

save:	saveuser savenet saveutil

saveuser:
	cp $(BIN)/notes $(UTILITY)/notes.old
	cp $(BIN)/nfpipe $(UTILITY)/nfpipe.old
	cp $(BIN)/nfprint $(UTILITY)/nfprint.old
	cp $(BIN)/nfstats $(UTILITY)/nfstats.old
	cp $(BIN)/checknotes $(UTILITY)/checknotes.old

savenet:
	cp $(NET)/nfxmit $(UTILITY)/nfxmit.old
	cp $(NET)/nfrcv $(UTILITY)/nfrcv.old
	cp $(UTILITY)/newsinput $(UTILITY)/newsinput.old
	cp $(UTILITY)/newsoutput $(UTILITY)/newsoutput.old

saveutil:
	cp $(UTILITY)/mknf $(UTILITY)/mknf.old
	cp $(UTILITY)/rmnf $(UTILITY)/rmnf.old
	cp $(UTILITY)/nfarchive $(UTILITY)/nfarchive.old
	cp $(UTILITY)/nfmail $(UTILITY)/nfmail.old

#
#	User programs
#

main:	main.o $(MAIN) libnfcom.a
	@echo loading main
	@${CC} $(CFLAGS) $(LFLAGS) -o main main.o $(MAIN) \
		libnfcom.a $(TERMCAP)

nfpipe:	nfpipe.o $(NFPIPE) libnfcom.a
	@echo loading nfpipe
	@${CC} $(CFLAGS) $(LFLAGS) -o nfpipe nfpipe.o $(NFPIPE) \
		libnfcom.a $(TERMCAP)

nfstats: nfstats.o $(NFSTATS) libnfcom.a
	@echo loading nfstats
	@${CC} $(CFLAGS) $(LFLAGS) -o nfstats nfstats.o $(NFSTATS) \
		libnfcom.a $(TERMCAP)

nfprint: nfprint.o $(NFPRINT) libnfcom.a
	@echo loading nfprint
	@${CC} $(CFLAGS) $(LFLAGS) -o nfprint nfprint.o $(NFPRINT) \
		libnfcom.a $(TERMCAP)

checknotes: checknotes.o $(CHECKNOTES) libnfcom.a
	@echo loading checknotes
	@${CC} $(CFLAGS) $(LFLAGS) -o checknotes checknotes.o $(CHECKNOTES) \
		libnfcom.a $(TERMCAP)

#
#	Network Transmission and reception
#

nfxmit:	nfxmit.o $(NFXMIT) libnfcom.a
	@echo loading nfxmit
	@${CC} $(CFLAGS) $(LFLAGS) -o nfxmit nfxmit.o $(NFXMIT) \
		libnfcom.a $(TERMCAP)

nfrcv:	nfrcv.o $(NFRCV) libnfcom.a
	@echo loading nfrcv
	@${CC} $(CFLAGS) $(LFLAGS) -o nfrcv nfrcv.o $(NFRCV) \
		libnfcom.a $(TERMCAP)

#
#	Utility programs - create/delete notesfiles, news gateways,
#	and archiving
#

mknf:	mknf.o $(MKNF) libnfcom.a
	@echo loading mknf
	@${CC} $(CFLAGS) $(LFLAGS) -o mknf mknf.o $(MKNF) \
		libnfcom.a $(TERMCAP)

rmnf:	rmnf.o $(RMNF) libnfcom.a
	@echo loading rmnf
	@${CC} $(CFLAGS) $(LFLAGS) -o rmnf rmnf.o $(RMNF) \
		libnfcom.a $(TERMCAP)

newsinput: newsinput.o $(NEWSINPUT) libnfcom.a
	@echo loading newsinput
	@${CC} $(CFLAGS) $(LFLAGS) -o newsinput newsinput.o $(NEWSINPUT) \
		libnfcom.a $(TERMCAP)

newsoutput: newsoutput.o $(NEWSOUTPUT) libnfcom.a
	@echo loading newsoutput
	@${CC} $(CFLAGS) $(LFLAGS) -o newsoutput newsoutput.o $(NEWSOUTPUT) \
		libnfcom.a $(TERMCAP)

nfarchive: nfarchive.o $(NFARCHIVE) libnfcom.a
	@echo loading nfarchive
	@${CC} $(CFLAGS) $(LFLAGS) -o nfarchive nfarchive.o $(NFARCHIVE) \
		libnfcom.a $(TERMCAP)

nfaccess: nfaccess.o $(NFACCESS) libnfcom.a
	@echo loading nfaccess
	@${CC} $(CFLAGS) $(LFLAGS) -o nfaccess nfaccess.o $(NFACCESS) \
		libnfcom.a $(TERMCAP)

nfmail:	nfmail.o $(NFMAIL) libnfcom.a
	@echo loading nfmail
	@${CC} ${CFLAGS} ${LFLAGS} -o nfmail nfmail.o ${NFMAIL} \
		libnfcom.a ${TERMCAP}

#
#	User subroutines
#

libnfcom.a:	$(LIBOBJS)
	ar r libnfcom.a $(LIBOBJS)
	-ranlib libnfcom.a

#
#	Load/Dump tools
#

nfdump:	nfdump.o $(NFDUMP) libnfcom.a
	@echo loading nfdump
	@$(CC) -o nfdump nfdump.o $(NFDUMP) libnfcom.a $(TERMCAP)

nfload: nfload.o $(NFLOAD) libnfcom.a
	@echo loading nfload
	@$(CC) -o nfload nfload.o $(NFLOAD) libnfcom.a $(TERMCAP)

#
#	This should set up some rules for dependencies on
#	the include files.
#

access.o   	: parms.h structs.h
adnote.o   	: parms.h structs.h
adresp.o   	: parms.h structs.h
archiver.o   	: parms.h structs.h
asearch.o   	: parms.h structs.h
bnewshead.o	: parms.h structs.h newsgate.h
buildnf.o	: parms.h structs.h
check.o   	: parms.h structs.h
checknotes.o   	: parms.h structs.h
compress.o   	: parms.h structs.h
control.o   	: parms.h structs.h
cursor.o   	: parms.h structs.h
datein.o   	: parms.h structs.h
delete.o   	: parms.h structs.h
dmpnote.o   	: parms.h structs.h
dmpresp.o   	: parms.h structs.h
dropt.o   	: parms.h structs.h
dsply.o   	: parms.h structs.h
expand.o	: parms.h structs.h
find.o   	: parms.h structs.h
gdate.o   	: parms.h structs.h
getnet.o   	: parms.h structs.h net.h
gname.o   	: parms.h structs.h
gtext.o   	: parms.h structs.h
gtime.o   	: parms.h structs.h
help.o   	: parms.h structs.h
index.o   	: parms.h structs.h
ldmisc.o   	: parms.h structs.h
limindx.o   	: parms.h structs.h
loadem.o   	: parms.h structs.h
lprnote.o   	: parms.h structs.h
lrsp.o   	: parms.h structs.h
mailit.o   	: parms.h structs.h
main.o   	: parms.h structs.h
misc.o   	: parms.h structs.h
miscio.o   	: parms.h structs.h
mknf.o   	: parms.h structs.h
newsdump.o   	: parms.h structs.h newsgate.h
newsgroup.o   	: parms.h structs.h newsgate.h
newsinput.o   	: parms.h structs.h newsgate.h
newsout.o   	: parms.h structs.h newsgate.h
newsoutput.o   	: parms.h structs.h newsgate.h
newspath.o	: newsgate.h
next.o   	: parms.h structs.h
nfabort.o	: parms.h structs.h
nfaccess.o	: parms.h structs.h
nfalias.o   	: parms.h structs.h net.h
nfarchive.o   	: parms.h structs.h
nfcomment.o   	:
nfmail.o	: parms.h structs.h
nfpipe.o   	: parms.h structs.h
nfprint.o   	: parms.h structs.h
nfrcv.o   	: parms.h structs.h net.h
nfsend.o   	: parms.h structs.h net.h
nfstats.o   	: parms.h structs.h
nfxmit.o   	: parms.h structs.h net.h
note.o   	: parms.h structs.h
pagein.o   	: parms.h structs.h
pagemove.o	: parms.h structs.h
pageout.o   	: parms.h structs.h
parsepath.o	: parms.h structs.h newsgate.h
pattern.o   	: parms.h structs.h
permit.o   	: parms.h structs.h
perms.o   	: parms.h structs.h
preptxt.o   	: parms.h structs.h
prtind.o   	: parms.h structs.h
readem.o   	: parms.h structs.h
recsio.o   	: parms.h structs.h
resp.o   	: parms.h structs.h
rmnf.o   	: parms.h structs.h
savtxt.o   	: parms.h structs.h
startup.o	: parms.h structs.h
talkto.o   	: parms.h structs.h
times.o   	: parms.h structs.h
tsearch.o   	: parms.h structs.h
#
nfdump.o	: parms.h structs.h
dump.o		: parms.h structs.h dump.h
nfload.o	: parms.h structs.h
loadnf.o	: parms.h structs.h dump.h
parse.o		: dump.h
loadvars.o	: dump.h
loadproto1.o	: parms.h structs.h dump.h

#
#	this is to make updating the "release" copy easy.
#

dist:	$(CFILES) $(HFILES) $(HLPFILES) $(MISCFILES) Revisions
	${DCP} $? $(DISTDIR)/src/.
	touch dist

Revisions: $(CFILES) $(HFILES) $(MISCFILES)
	grep "Header:" $(CFILES) $(HFILES) $(MISCFILES) > Revisions

#
#	Update the RCS library with this command.
#	Puts modified files into the RCS libraries with
#	the version number specified by "RCSID".
#	Also uses the RCS[IO]FLAGS variables.
#
#	since RCS has a bug in that the -l flag does no update the
#	version number in the copy left available, we check in
#	the files and then check them out again.
#

freeze:	$(CFILES) $(HFILES) $(MISCFILES) $(HLPFILES)
	ci $(RCSIFLAGS) $?
	co $(RCSOFLAGS) $?
	touch freeze

#	Make printouts of the modified routines
#

print:	$(MISCFILES) $(HFILES) $(CFILES) $(HLPFILES)
#	pr -f $? | lpr -b "Notesfile Code"
	imprint -2 -I -P2 $?
	touch print

#	For those using vi, produce a ctags file of the source code.
#

tags:	$(CFILES)
	ctags $(CFILES)

#
#	Lint the mess to catch inconsistencies.
#

lint:
	lint -haxc $(CFLAGS) *.c