HOME = /toe/language/steve/
RMDIR = $(HOME)/.rm_dir/
DIMP = /usr/local/bin/dimp -t "-B$*"
DITROFF = /usr/local/bin/ditroff -T300 -me $(EXPLAIN_FLAGS)
PRINT = lpr
IPRINT = lpr -v -Pimagen -F
NROFF = nroff -Tlpr -me $(EXPLAIN_FLAGS)
PREVIEW = /usr/local/bin/impv
PROFF = ../pre_nroff | expand -4 | tbl

.SUFFIXES: .r .onl .tout .nout .lpr .ipr .img .src .imp

#
# RULES FOR ASSEMBLYING THE USER GUIDE
#

user_guide.nout : user_guide.all guide_macros
	cat guide_macros user_guide.all | $(PROFF) > temp
	$(NROFF) temp 2> index.unsorted > $@
	'rm' -f temp

release: user_guide.tout guide_index.tout
	@echo user_guide.tout and guide_index.tout are ready

GUIDE = guide_title.r guide_start.r guide_envir.r guide_break.r 		\
	guide_error.r guide_exec.r guide_load.r guide_file.r guide_debug.r	\
	guide_info.r guide_misc.r guide_custom.r guide_contents.r

user_guide.tout : user_guide.all guide_macros
	cat guide_macros user_guide.all | $(PROFF) > temp
	$(DITROFF) temp 2> index.unsorted | $(DIMP) > $@
	'rm' -f temp

user_guide.all : $(GUIDE)
	cat $(GUIDE) > user_guide.all

guide_index.tout: guide_index.r guide_macros
	cat guide_macros guide_index.r | $(PROFF) > temp
	$(DITROFF) temp | $(DIMP) > $@
	'rm' -f temp

guide_index.r : index.sorted
	touch -c guide_index.r

index.sorted: index.unsorted
	sort +1 index.unsorted | gen_index > $@

guide_macros: ../common_macros
	touch -c guide_macros

mit_guide.all: $(GUIDE)
	cat guide_macros $(GUIDE) | $(PROFF) > mit_guide.temp

#
# MISCELLANEOUS AND DEFAULT RULES
#

.r.onl:
	cat reference_macros $< | $(PROFF) > $*.temp
	$(NROFF) $*.temp 2> /dev/null | cat -s > $@
	'rm' -f $*.temp

.r.tout:
	cat guide_macros $< | $(PROFF) > $*.tmp1
	$(DITROFF) $*.tmp1 2> /dev/null > $*.tmp2
	$(DIMP) $*.tmp2 > $@
	'rm' -f $*.tmp1 $*.tmp2

.nout.lpr:
	$(PRINT) $<

.onl.lpr:
	$(PRINT) $<

.nout.ipr:
	$(IPRINT) $<

.tout.img:
	$(IPRINT) $<

.tout.imp:
	imptool $<

beta: 
	tar cvf beta.tar $(ONLINE) saber.man
