##############################################################################
#    Instructions to Make, for generation of MH manual entries
#
#	@(MHWARNING)
##############################################################################

BINDIR  =	$(DESTDIR)@(MHBINPATH)
ETCDIR	=	$(DESTDIR)@(MHETCPATH)
MANDIR	=	@(MHMANDIR)
DIR1	=	@(MHMANDIR1)
EXT1	=	@(MHMANEXT1)
DIR5	=	@(MHMANDIR5)
EXT5	=	@(MHMANEXT5)
DIR8	=	@(MHMANDIR8)
EXT8	=	@(MHMANEXT8)
@BEGIN: BBOARDS
OPTIONS1=	bbc.$(EXT1) bbl.$(EXT1) bbleader.$(EXT1) bboards.$(EXT1)
inst-options1=	inst-bbc inst-bbl inst-bbleader inst-bboards
Toptions1=	bbc.man bbl.man bbleader.man bboards.man
@END: BBOARDS
@BEGIN: TMA
OPTIONS2=	cipher.$(EXT1) decipher.$(EXT1) tma.$(EXT1)
inst-options2=	inst-cipher inst-decipher inst-tma
Toptions2=	cipher.man decipher.man tma.man
@END: TMA
REMOVE	=	@(MHREMOVE)
MANPROT	=	0444

inst-man1=	inst-ali inst-anno inst-burst inst-comp inst-dist inst-folder \
		inst-forw inst-inc inst-mark inst-mh-chart inst-mh inst-mhl \
		inst-mhook inst-mhmail inst-mhpath inst-msgchk inst-msh \
		inst-next inst-packf inst-pick inst-prev inst-prompter \
		inst-rcvstore inst-refile inst-repl inst-rmf inst-rmm \
		inst-scan inst-send inst-show inst-sortm inst-vmh \
		inst-whatnow inst-whom $(inst-options1) $(inst-options2)

inst-man5=	inst-mh-alias inst-mh-format inst-mh-mail inst-mh-profile

inst-man8=	inst-ap inst-conflict inst-dp inst-install-mh inst-post


##############################################################################
#	Generation Rules
##############################################################################

.SUFFIXES:
.SUFFIXES:	.me .cat .doc .man .imp .$(EXT1) .$(EXT5) .$(EXT8)
.DEFAULT:

.me.cat:;	itroff -t -me $< > $@

.me.doc:;	nroff -me $< > $@

.me.man:;	cat tmac.me $< > $@

.cat.imp:;	catimp -i $@ $<

.man.$(EXT1):;	install -m $(MANPROT) $< $@
.man.$(EXT5):;	install -m $(MANPROT) $< $@
.man.$(EXT8):;	install -m $(MANPROT) $< $@


##############################################################################
#	Generate MH manual entries
##############################################################################

all:		@(MHMANGEN)

install:	inst-all clean

inst-all:	@(MHMANGEN) inst-tmac $(inst-man1) $(inst-man5) $(inst-man8)

tar:		@(MHMANGEN) $(Tman1) $(Tman5) $(Tman8)
		@(MHMANGEN) @touch tmac.h $(Tman1) $(Tman5) $(Tman8)
		@(MHMANGEN) @make -n inst-all > MAKEDOC
		@(MHMANGEN) @chmod +x MAKEDOC
		@(MHMANGEN) tar $(TFLAGS) MAKEDOC tmac.h $(Tman1) $(Tman5) $(Tman8)
		@(MHMANGEN) @rm -f MAKEDOC

uninstall:;	cd $(MANDIR)/$(DIR1) ; rm -f $(MAN1) 
		cd $(MANDIR)/$(DIR5) ; rm -f $(MAN5)
		cd $(MANDIR)/$(DIR8) ; rm -f $(MAN8)


##############################################################################
#	Generate MH User's Manual/Administrator's Guide
##############################################################################

i-all:		manual guide

i-print:	manual guide true
		lpr -t -J MH MH.cat
		lpr -t -J MH ADMIN.cat


manual:		MH.cat

guide:		ADMIN.cat

true:;


##############################################################################
#	MH manual entries
##############################################################################

inst-tmac:	$(ETCDIR)/tmac.h

$(ETCDIR)/tmac.h:	tmac.h
		install -c -m $(MANPROT) tmac.h $@

inst-ali:	$(MANDIR)/$(DIR1)/ali.$(EXT1)

$(MANDIR)/$(DIR1)/ali.$(EXT1):	ali.man

inst-anno:	$(MANDIR)/$(DIR1)/anno.$(EXT1)

$(MANDIR)/$(DIR1)/anno.$(EXT1):	anno.man

inst-ap:	$(MANDIR)/$(DIR8)/ap.$(EXT8)

$(MANDIR)/$(DIR8)/ap.$(EXT8):	ap.man

inst-bbc:	$(MANDIR)/$(DIR1)/bbc.$(EXT1)

$(MANDIR)/$(DIR1)/bbc.$(EXT1):	bbc.man

inst-bbl:	$(MANDIR)/$(DIR1)/bbl.$(EXT1)

$(MANDIR)/$(DIR1)/bbl.$(EXT1):	bbl.man

inst-bbleader:	$(MANDIR)/$(DIR1)/bbleader.$(EXT1)

$(MANDIR)/$(DIR1)/bbleader.$(EXT1):	bbleader.man

inst-bboards:	$(MANDIR)/$(DIR1)/bboards.$(EXT1)

$(MANDIR)/$(DIR1)/bboards.$(EXT1):	bboards.man

inst-burst:	$(MANDIR)/$(DIR1)/burst.$(EXT1)

$(MANDIR)/$(DIR1)/burst.$(EXT1):	burst.man

inst-cipher:	$(MANDIR)/$(DIR1)/cipher.$(EXT1)

$(MANDIR)/$(DIR1)/cipher.$(EXT1):	cipher.man

inst-comp:	$(MANDIR)/$(DIR1)/comp.$(EXT1)

$(MANDIR)/$(DIR1)/comp.$(EXT1):	comp.man

inst-conflict:	$(MANDIR)/$(DIR8)/conflict.$(EXT8)

$(MANDIR)/$(DIR8)/conflict.$(EXT8):	conflict.man

inst-decipher:	$(MANDIR)/$(DIR1)/decipher.$(EXT1)

$(MANDIR)/$(DIR1)/decipher.$(EXT1):	decipher.man

inst-dist:	$(MANDIR)/$(DIR1)/dist.$(EXT1)

$(MANDIR)/$(DIR1)/dist.$(EXT1):	dist.man

inst-dp:	$(MANDIR)/$(DIR8)/dp.$(EXT8)

$(MANDIR)/$(DIR8)/dp.$(EXT8):	dp.man

inst-folder:	$(MANDIR)/$(DIR1)/folder.$(EXT1)

$(MANDIR)/$(DIR1)/folder.$(EXT1):	folder.man

inst-forw:	$(MANDIR)/$(DIR1)/forw.$(EXT1)

$(MANDIR)/$(DIR1)/forw.$(EXT1):	forw.man

inst-inc:	$(MANDIR)/$(DIR1)/inc.$(EXT1)

$(MANDIR)/$(DIR1)/inc.$(EXT1):	inc.man

inst-install-mh: $(MANDIR)/$(DIR8)/install-mh.$(EXT8)

$(MANDIR)/$(DIR8)/install-mh.$(EXT8): install-mh.man

inst-mark:	$(MANDIR)/$(DIR1)/mark.$(EXT1)

$(MANDIR)/$(DIR1)/mark.$(EXT1):	mark.man

inst-mh-alias:	$(MANDIR)/$(DIR5)/mh-alias.$(EXT5)

$(MANDIR)/$(DIR5)/mh-alias.$(EXT5):	mh-alias.man

inst-mh-format:	$(MANDIR)/$(DIR5)/mh-format.$(EXT5)

$(MANDIR)/$(DIR5)/mh-format.$(EXT5):	mh-format.man

inst-mh-chart:	$(MANDIR)/$(DIR1)/mh-chart.$(EXT1)

$(MANDIR)/$(DIR1)/mh-chart.$(EXT1):	mh-chart.man

inst-mh-mail:	$(MANDIR)/$(DIR5)/mh-mail.$(EXT5)

$(MANDIR)/$(DIR5)/mh-mail.$(EXT5):	mh-mail.man

inst-mh-profile:	$(MANDIR)/$(DIR5)/mh-profile.$(EXT5)

$(MANDIR)/$(DIR5)/mh-profile.$(EXT5):	mh-profile.man

inst-mhook:	$(MANDIR)/$(DIR1)/mhook.$(EXT1)

$(MANDIR)/$(DIR1)/mhook.$(EXT1):	mhook.man

inst-mh:	$(MANDIR)/$(DIR1)/mh.$(EXT1)

$(MANDIR)/$(DIR1)/mh.$(EXT1):	mh.man

inst-mhl:	$(MANDIR)/$(DIR1)/mhl.$(EXT1)

$(MANDIR)/$(DIR1)/mhl.$(EXT1):	mhl.man

inst-mhmail:	$(MANDIR)/$(DIR1)/mhmail.$(EXT1)

$(MANDIR)/$(DIR1)/mhmail.$(EXT1):	mhmail.man

inst-mhpath:	$(MANDIR)/$(DIR1)/mhpath.$(EXT1)

$(MANDIR)/$(DIR1)/mhpath.$(EXT1):	mhpath.man

inst-msgchk:	$(MANDIR)/$(DIR1)/msgchk.$(EXT1)

$(MANDIR)/$(DIR1)/msgchk.$(EXT1):	msgchk.man

inst-msh:	$(MANDIR)/$(DIR1)/msh.$(EXT1)

$(MANDIR)/$(DIR1)/msh.$(EXT1):	msh.man

inst-next:	$(MANDIR)/$(DIR1)/next.$(EXT1)

$(MANDIR)/$(DIR1)/next.$(EXT1):	next.man

inst-packf:	$(MANDIR)/$(DIR1)/packf.$(EXT1)

$(MANDIR)/$(DIR1)/packf.$(EXT1):	packf.man

inst-pick:	$(MANDIR)/$(DIR1)/pick.$(EXT1)

$(MANDIR)/$(DIR1)/pick.$(EXT1):	pick.man

inst-post:	$(MANDIR)/$(DIR8)/post.$(EXT8)

$(MANDIR)/$(DIR8)/post.$(EXT8):	post.man

inst-prev:	$(MANDIR)/$(DIR1)/prev.$(EXT1)

$(MANDIR)/$(DIR1)/prev.$(EXT1):	prev.man

inst-prompter:	$(MANDIR)/$(DIR1)/prompter.$(EXT1)

$(MANDIR)/$(DIR1)/prompter.$(EXT1):	prompter.man

inst-rcvstore:	$(MANDIR)/$(DIR1)/rcvstore.$(EXT1)

$(MANDIR)/$(DIR1)/rcvstore.$(EXT1):	rcvstore.man

inst-refile:	$(MANDIR)/$(DIR1)/refile.$(EXT1)

$(MANDIR)/$(DIR1)/refile.$(EXT1):	refile.man

inst-repl:	$(MANDIR)/$(DIR1)/repl.$(EXT1)

$(MANDIR)/$(DIR1)/repl.$(EXT1):	repl.man

inst-rmm:	$(MANDIR)/$(DIR1)/rmm.$(EXT1)

$(MANDIR)/$(DIR1)/rmm.$(EXT1):	rmm.man

inst-rmf:	$(MANDIR)/$(DIR1)/rmf.$(EXT1)

$(MANDIR)/$(DIR1)/rmf.$(EXT1):	rmf.man

inst-scan:	$(MANDIR)/$(DIR1)/scan.$(EXT1)

$(MANDIR)/$(DIR1)/scan.$(EXT1):	scan.man

inst-send:	$(MANDIR)/$(DIR1)/send.$(EXT1)

$(MANDIR)/$(DIR1)/send.$(EXT1):	send.man

inst-show:	$(MANDIR)/$(DIR1)/show.$(EXT1)

$(MANDIR)/$(DIR1)/show.$(EXT1):	show.man

inst-sortm:	$(MANDIR)/$(DIR1)/sortm.$(EXT1)

$(MANDIR)/$(DIR1)/sortm.$(EXT1):	sortm.man

inst-tma:	$(MANDIR)/$(DIR1)/tma.$(EXT1)

$(MANDIR)/$(DIR1)/tma.$(EXT1):	tma.man

inst-vmh:	$(MANDIR)/$(DIR1)/vmh.$(EXT1)

$(MANDIR)/$(DIR1)/vmh.$(EXT1):	vmh.man

inst-whatnow:	$(MANDIR)/$(DIR1)/whatnow.$(EXT1)

$(MANDIR)/$(DIR1)/whatnow.$(EXT1):	whatnow.man

inst-whom:	$(MANDIR)/$(DIR1)/whom.$(EXT1)

$(MANDIR)/$(DIR1)/whom.$(EXT1):	whom.man


##############################################################################
#	Dependencies
##############################################################################

MH.cat MH.doc:	ali.me anno.me bbc.me bbl.me bbleader.me bboards.me comp.me \
		dist.me folder.me forw.me inc.me mark.me mh-chart.me mh.me \
		mhl.me mhmail.me mhook.me mhpath.me msgchk.me msh.me next.me \
		packf.me pick.me prev.me prompter.me rcvstore.me refile.me \
		repl.me rmf.me rmm.me scan.me send.me show.me sortm.me vmh.me \
		whatnow.me whom.me mh-alias.me mh-format.me mh-mail.me \
		mh-profile.me ap.me conflict.me dp.me install-mh.me post.me \
@BEGIN: TMA
		cipher.me decipher.me tma.me \
@END: TMA
		version.rf

ADMIN.cat ADMIN.doc: \
		mh-tailor.me mh-mts.me \
		bboards5.me bbaka.me bbexp.me bboards8.me bbtar.me \
		pop5.me pop8.me popaka.me popd.me popwrd.me \
		mf.me rmail.me \
		mh-hack.me \
@BEGIN: TMA
		kdsc.me kdsd.me kdser.me \
@END: TMA
		version.rf


##############################################################################
#	Miscellaneous tasks
##############################################################################

lint:;		

distribution:	clean
		-rm -f *.me tmac.h

clean:		unclean
		-rm -f *.man *.doc *.cat *.imp

unclean:;	-rm -f z* _* :* core MAKEDOC

depend:;


##############################################################################
#  MODIFICATIONS -- Adding a new program (e.g., pickle [section n])
##############################################################################

#    Add pickle.$(EXT[N]) to MAN[N]
#    Add pickle to man[n]
#    Add inst-pickle to inst-man[n]
#    Add pickle.man to Tman[n]
#
#    Under the "MH manual entries" section, add this incantation
#	inst-pickle:	$(MANDIR)/$(DIR[n])/pickle.$(EXT[n])
#	
#	$(MANDIR)/$(DIR[n])/pickle.$(EXT[n]):	pickle.man
#			-$(REMOVE) $@ zpickle.man
#			cp pickle.man $@
#			-@chmod $(MANPROT) $@
#			-@ls -l $@
#			-@echo ""
#
#    Under the "Dependencies" section, add a line for pickle
#	pickle:		pickle.man
#
#    Add pickle.me to MH.cat