GEOM = ..
include ${GEOM}/makefiles/Makedefs.global
include Makedefs
include ${GEOM}/makefiles/Makerules.src

update:	warning ${OURMANS} OOGL.m.doc INSTALL.next INSTALL.sgi INSTALL.src

warning:
	@echo '' ; \
	 echo 'Warning: "make update" uses the existing Info files' ; \
	 echo '  to update the documents.  To generate new Info files' ; \
	 echo '  from geomview.tex, type "make info".' ; \
	 echo ''


oogl.5.man:	_always
	manext 'OOGL File Formats' 'Customization' | \
	  manify OOGL 'File formats for OOGL geometric objects' > $@


geomview.5.man: _always
	manext 'GCL' 'Non-Euclidean Geometry' | \
	  manify Geomview 'Geomview command language' > $@

oogl.5 geomview.5: ourmans
install: ourmans

# Alas, man pages which originate in the doc directory need special handling,
# lest "formatman" overwrite them.
ourmans:
	@mans="${OURMANS}"; mandir=${MANDIR}; \
	if nroff </dev/null >/dev/null 2>&1; then \
	    for f in $$mans ; do \
		page=`expr "$$f" : "\(.*\).man"` ; \
		dirno=`expr "$$f" : ".*\([0-9]\)"` ; \
		cdir=$$mandir/cat$$dirno; \
		mdir=$$mandir/man$$dirno; \
		test -d $$mdir || ${GEOM}/tools/insuredir $$mdir; \
		rm -f $$cdir/$$page $$mdir/$$page ; \
		echo "cp $$f $$mdir/$$page"; \
		cp $$f $$mdir/$$page; \
		echo "nroff -man $$f | col -b > $$page" ; \
		nroff -man $$f | col -b > $$page; \
		${INSTALL} -O -v -m 644 -F $$cdir $$page; \
	    done; \
	fi

OOGL.m.doc:	_always
	( ${MAKE} header_message ; \
	  manext 'Mathematica' 'Installation' ; \
	  ) > OOGL.m.doc

INSTALL.next:	_always
	( ${MAKE} header_message ; \
	  manext 'NeXT Binary Installation' 'Source Code Installation' ;\
	  manext 'SGI Binary Detail' 'NeXT Binary Installation'; \
	  ) > INSTALL.next

INSTALL.sgi:	_always
	( ${MAKE} header_message ; \
	  manext 'SGI Binary Installation' 'NeXT Binary Installation';\
	  ) > INSTALL.sgi

INSTALL.src:	_always
	( ${MAKE} header_message ; \
	  manext 'Source Code Installation' 'Obtaining' ;\
	  ) > INSTALL.src

header_message:
	@echo '' ;
	@echo 'NOTE: This file is autogenerated from the Geomview manual.';
	@echo '  For references to things not in this file, see the manual.';
	@echo '  The manual is distributed in the "doc" subdirectory.';
	@echo '';

# You'll need the pbmplus toolkit or similar to convert the .gif manual pix
# into postscript form for inclusion.

figs:	pix
	if [ ! -d figs ]; then mkdir figs; fi
	cd pix; \
	  for f in *.gif; do \
	    giftoppm $$f | ppmtopgm | pnmtops -scale .5 -rle > ../figs/`basename $$f .gif`.ps; \
	  done

geomview.dvi:	geomview.tex figs
	tex geomview.tex
	dviselect -i $@ -o gvtoc.dvi  =1,:_1
	dviselect -i $@ -o gvbody.dvi 2:
	dviconcat -o $@ gvtoc.dvi gvbody.dvi
	rm gvtoc.dvi gvbody.dvi

geomview.ps: geomview.dvi
	dvips -f geomview.dvi > $@

geomview.paged2.ps: geomview.dvi
	dvips -D432 -f geomview.dvi | mpage -2 -b -m .5 -P > $@

geomview.paged.ps: geomview.dvi
	dvips -D333 -f geomview.dvi | mpage -4 -b -m .5 -P > $@

info:	_always
	nodeupdater geomview.tex geomview.tex.new
	/bin/mv geomview.tex.new geomview.tex
	emacs -batch geomview.tex -l makeinfo.el -kill

_always:

# temporary target for copying into the distribution directories:

SGIDIR=/u/work/mbp/geomview-sgi
NEXTDIR=/u/work/mbp/geomview-next

BINDISTFILES=geomview geomview-* geomview.ps OOGL.m.doc example[123].c

html:
	texi2html -split_chapter geomview.tex

dist:
	/bin/cp ${BINDISTFILES} ${SGIDIR}/Geomview/doc
	/bin/cp ${BINDISTFILES} ${NEXTDIR}/Geomview.app/doc
	/bin/cp INSTALL.src ${GEOM}
	/bin/cp INSTALL.sgi ${SGIDIR}/Geomview/INSTALL
	/bin/cp INSTALL.next ${NEXTDIR}/INSTALL
	/bin/cp INSTALL.next ${NEXTDIR}/Geomview.app/INSTALL

manual-dist:
	(echo -C; echo ..; \
	 (cat FILES; \
	   echo geomview.ps geomview.dvi figs/*.ps | tr \\40 \\12) | \
	 sed -e 's:^:Geomview/doc/:')  | \
	gnutar cvfT - - | gzip > manual.tar.gz
	
