# an ugly looking makefile.  does what I want, though

# .km is n/troff with the KALYPSO macros
# .pr is line printable
# .ol is for the on-line manual
# .ps is postscript
# .hr is human-readable (i.e. straight printable text with no
#	 special format controls
LIBDIR=$(DESTDIR)/usr/local/lib/kalypso
MANDIR=$(LIBDIR)/man

.SUFFIXES: .km .pr .ps .ol .hr

KMSOURCES = title.km preface.km datatypes.km dict.km list.km symbol.km\
	file.km num.km system.km control.km gen.km string.km vect.km\
 	extend.km net.km

PRSOURCES = title.pr preface.pr datatypes.pr dict.pr list.pr symbol.pr\
	file.pr num.pr system.pr control.pr gen.pr string.pr vect.pr\
 	extend.pr net.pr

OLSOURCES = title.ol preface.ol datatypes.ol dict.ol list.ol symbol.ol\
	file.ol num.ol system.ol control.ol gen.ol string.ol vect.ol\
 	extend.ol net.ol

PSSOURCES = title.ps preface.ps datatypes.ps dict.ps list.ps symbol.ps\
	file.ps num.ps system.ps control.ps gen.ps string.ps vect.ps\
	extend.ps net.ps

HRSOURCES = title.hr preface.hr datatypes.hr dict.hr list.hr symbol.hr\
	file.hr num.hr system.hr control.hr gen.hr string.hr vect.hr\
 	extend.hr net.hr

FISOURCES = title.fi preface.fi datatypes.fi dict.fi list.fi symbol.fi\
	file.fi num.fi system.fi control.fi gen.fi string.fi vect.fi\
 	extend.fi net.fi

manual.pr: $(PRSOURCES)
	cat $(PRSOURCES) > manual.pr

manual.ps: $(PSSOURCES)
	touch manual.ps

manual.hr: $(HRSOURCES)
	cat $(HRSOURCES) > manual.hr

manual.ol: $(OLSOURCES)
	touch manual.ol

manual.fi: manual.ol
	cat $(FISOURCES) > manual.fi

install: manual.fi
	-mkdir $(MANDIR)
	cp $(OLSOURCES) manual.fi $(MANDIR)
	touch install

.km.ps:
	psroff -me kalypso.tr offline.tr $*.km > $@ 2> $*.in

.km.pr:
	nroff -me kalypso.tr offline.tr $*.km > $@ 2> $*.in

.km.ol:
	nroff -me kalypso.tr online.tr $*.km 2> $*.fi |\
 	sed -n '/^:::Begin/,/^:::End/p' > $@

.pr.hr:
	col -bh < $*.pr > $*.hr

$(PSSOURCES): kalypso.tr offline.tr
$(PRSOURCES): kalypso.tr offline.tr
$(OLSOURCES): kalypso.tr online.tr

clean:
	rm -f manual.pr manual.ps manual.hr manual.ol manual.fi\
 	$(PRSOURCES) $(PSSOURCES) $(OLSOURCES) $(HRSOURCES) $(FISOURCES)
