# # This is the top level makefile for making GNO documentation. It can't # be run under GNO itself yet, and probably never will be due to the # dependancy on LaTeX. # # This file is for use with dmake. # # Devin Reade, 1997. # # $Id: Makefile,v 1.15 2012/08/25 07:22:00 gdr Exp $ # # Set this to 'true' (without the quotes) for local links (used # during editing). DRAFT = # This is the name and address that will be given as contact info # at the bottom of each of the HTML pages. Do NOT use '<' or '>' in the # address. NAME = Devin Reade ADDRESS = gdr@gno.org # Pathnames for various programs. DVIPS = dvips LATEX = latex TEX2HTML = latex2html MAKEINDEX = makeindex # The names of the subdirs where we will collect html generated by # latex(1), latex2html(1), and dvips(1). DVID = dvid HTMLD = htmld PSD = psd .IF $(DRAFT) == true # This is the root of the html tree used in the generated sources. HTML_ROOT = file:/home/gdr/src/gno/doc/refs/$(HTMLD)/ # This is the directory where the remaining gifs may be found GIFDIR = file:/home/gdr/graphics .ELSE HTML_ROOT = http://www.gno.org/gno/ GIFDIR = http://www.gno.org/icons .END FTP_ROOT = ftp://ftp.gno.org/pub/apple2/gs.specific/gno # Where can the FAQ be located? FAQ = http://www.gno.org/~gno/FAQ.html FAQLOG = http://www.gno.org/~gno/FAQ-log.html FAQ_TEXT = $(FTP_ROOT)/doc/faq/CURRENT FAQLOG_TEXT = $(FTP_ROOT)/doc/faq/LOG FTP_INTRO = $(FTP_ROOT)/doc/refs/intro FTP_KERN = $(FTP_ROOT)/doc/refs/kern FTP_GSH = $(FTP_ROOT)/doc/refs/gsh # Where can the old v2.0.4 docs be found? OLD_HTML = http://www.gno.org/~gno/docs.Aug96 ######################################################### # You should not have to modify anything below this line. ######################################################### # Format of the comment block for each html page. CONTACT1 = '$(NAME)\ \ <$(ADDRESS)>
Last Updated: ' CONTACT2 = '
Document Version: ' # Some more programs and flags GETDATE = ./getdate -date GETVERS = ./getdate -version DVIPS_FLAGS = LATEX_FLAGS = TEX2HTML_FLAGS = -info "" -local_icons -dir $(HTMLD) -up_url refs.html \ -up_title "GNO Reference Manuals" DVI = intro.dvi kern.dvi PS_LTR = intro.ltr.ps kern.ltr.ps gsh-ltr-ps PS_A4 = intro.a4.ps kern.a4.ps HTML = $(HTMLD)/intro.html $(HTMLD)/kern.html gsh-h .PRECIOUS: $(DVI) MANORG = ../../usr.man MANHTML = $(HTMLD)/man MKSO = $(MANORG)/mkso.data # Scratch files to clean up MANUAL_GARBAGE = TEX_GARBAGE = *.err *.aux *.log *.dvi *.toc *.idx *.ilg *.ind DVIPS_GARBAGE = *.ps *.djc BIB_GARBAGE = *.blg *.bbl UPLOADDIR = uploads UPLOADS = \ $(UPLOADDIR)/intro.dvi.Z \ $(UPLOADDIR)/intro.ltr.ps.Z \ $(UPLOADDIR)/intro.a4.ps.Z \ $(UPLOADDIR)/kern.dvi.Z \ $(UPLOADDIR)/kern.ltr.ps.Z \ $(UPLOADDIR)/kern.a4.ps.Z \ $(UPLOADDIR)/gsh.ltr.ps.Z \ $(UPLOADDIR)/htmld.tar.gz # # targets # upload: all setup $(UPLOADS) all: dvi ps h man notes dvi: $(DVI) ps: ps_ltr ps_a4 ps_ltr: $(PS_LTR) ps_a4: $(PS_A4) h: $(HTML) \ $(HTMLD)/index.html \ $(HTMLD)/faqindex.html \ $(HTMLD)/refs.html \ $(HTMLD)/manindex.html \ $(HTMLD)/related.html \ $(HTMLD)/oldrefs.html \ $(HTMLD)/bugs.html \ $(HTMLD)/unaval.html cleanhtml bib: intro.bbl intro.bbl: gno.bib bibtex intro # keeps intro.tex in sync with ../../verbatim/boot/README.install notes:; ./mknotes $(UPLOADDIR)/htmld.tar.gz: h rm -rf $(HTMLD)/gsh (cd gsh; tar -cf - gsh) | (cd $(HTMLD); tar -xpBf -) tar -cf - $(HTMLD) | gzip --best > $@ $(UPLOADDIR)/intro.dvi.Z: intro.dvi; compress -c $< > $@ $(UPLOADDIR)/intro.ltr.ps.Z: intro.ltr.ps; compress -c $< > $@ $(UPLOADDIR)/intro.a4.ps.Z: intro.a4.ps; compress -c $< > $@ $(UPLOADDIR)/kern.dvi.Z: kern.dvi; compress -c $< > $@ $(UPLOADDIR)/kern.ltr.ps.Z: kern.ltr.ps; compress -c $< > $@ $(UPLOADDIR)/kern.a4.ps.Z: kern.a4.ps; compress -c $< > $@ $(UPLOADDIR)/gsh.ltr.ps.Z: gsh/gsh.ltr.ps.Z; cp $< $@ $(UPLOADDIR)/gsh/gsh.ltr.ps.Z: gsh-ltr-ps gsh-h:; cd gsh; $(MAKE) h gsh-ltr-ps:; cd gsh; $(MAKE) ps # gsh.dvi.Z: gsh.dvi; compress -c $< > $@ # gsh.ltr.ps.Z: gsh.ltr.ps; compress -c $< > $@ # gsh.a4.ps.Z: gsh.a4.ps; compress -c $< > $@ REPLACE= perl -p -e 's,%%HTML_ROOT%%,$(HTML_ROOT),g;' \ -e 's,%%FTP_ROOT%%,$(FTP_ROOT),g;' \ -e 's,%%FTP_INTRO%%,$(FTP_INTRO),g;' \ -e 's,%%FTP_KERN%%,$(FTP_KERN),g;' \ -e 's,%%FTP_GSH%%,$(FTP_GSH),g;' \ -e 's,%%FAQ%%,$(FAQ),g;' \ -e 's,%%FAQLOG%%,$(FAQLOG),g;' \ -e 's,%%FAQ_TEXT%%,$(FAQ_TEXT),g;' \ -e 's,%%FAQLOG_TEXT%%,$(FAQLOG_TEXT),g;' \ -e 's,%%OLD_HTML%%,$(OLD_HTML),g;' \ -e 's,%%GIFDIR%%,$(GIFDIR),g;' $(HTMLD)/index.html: index.html tail.html @echo "making $@"; \ [ -d $(HTMLD) ] || mkdir -p $(HTMLD); \ cat index.html tail.html | $(REPLACE) > $@ $(HTMLD)/faqindex.html: faqindex.html @echo "making $@"; \ [ -d $(HTMLD) ] || mkdir -p $(HTMLD); \ cat head.html $< tail.html | $(REPLACE) \ -e 's,%%TITLE%%,GNO Frequently Asked Questions (Index),;' > $@ $(HTMLD)/faqindex.html: head.html tail.html $(HTMLD)/refs.html: refs.html @echo "making $@"; \ [ -d $(HTMLD) ] || mkdir -p $(HTMLD); \ cat head.html $< tail.html | $(REPLACE) \ -e 's,%%TITLE%%,GNO Reference Manuals,;' > $@ $(HTMLD)/refs.html: head.html tail.html $(HTMLD)/manindex.html: manindex.html @echo "making $@"; \ [ -d $(HTMLD) ] || mkdir -p $(HTMLD); \ cat head.html $< tail.html | $(REPLACE) \ -e 's,%%TITLE%%,GNO Manual Pages Index,;' > $@ $(HTMLD)/manindex.html: head.html tail.html $(HTMLD)/related.html: related.html @echo "making $@"; \ [ -d $(HTMLD) ] || mkdir -p $(HTMLD); \ cat head.html $< tail.html | $(REPLACE) \ -e 's,%%TITLE%%,GNO-Related Web Pages,;' > $@ $(HTMLD)/related.html: head.html tail.html $(HTMLD)/bugs.html: bugs.html @echo "making $@"; \ [ -d $(HTMLD) ] || mkdir -p $(HTMLD); \ cat head.html $< tail.html | $(REPLACE) \ -e 's,%%TITLE%%,GNO Bug Reports,;' > $@ $(HTMLD)/bugs.html: head.html tail.html $(HTMLD)/oldrefs.html: oldrefs.html @echo "making $@"; \ [ -d $(HTMLD) ] || mkdir -p $(HTMLD); \ cat head.html $< tail.html | $(REPLACE) \ -e 's,%%TITLE%%,Old GNO Documentation,;' > $@ $(HTMLD)/oldrefs.html: head.html tail.html $(HTMLD)/unaval.html: head.html unaval.html tail.html @echo "making $@"; \ cat head.html unaval.html tail.html | $(REPLACE) \ -e 's,%%TITLE%%,Unpublished Document,;' > $@ cleanhtml: @echo "cleaning guano from html files"; \ perl -pi \ -e 's/NOWRAP//g;' \ -e '(//) && ($$cts=1);' \ -e '(//) && ($$cts=0);' \ -e '($$cts == 1) && (s/(
|
)//g);' \ $(HTMLD)/*.html # -e '($$cts == 1) && (s/^\s*

\s*$$//);' # This target creates the html versions of all the current man pages, # plus the chapter index pages. Unfortunately, this target rebuilds # _all_ of it's files, not just those that are out of date. man: mansetup @GNOROOT=../.. MANHTML=$(MANHTML) NAME="$(NAME)" \ ADDR="$(ADDRESS)" MKSO="$(MKSO)" HTMLROOT="$(HTML_ROOT)" \ ./mkhtmlman mansetup: newer setup: @/bin/true; \ [ -d $(UPLOADDIR) ] || mkdir -p $(UPLOADDIR) clean: -rm -rf *~ $(TEX_GARBAGE) $(BIB_GARBAGE) $(DVIPS_GARBAGE) $(UPLOADDIR) cd gsh; $(MAKE) $@ clobber: clean -rm -rf $(MANUAL_GARBAGE) $(HTMLD) $(PSD) $(DVID) newer cd gsh; $(MAKE) $@ # # default rules # $(HTMLD)/%.html: %.tex @true; \ [ -d $(HTMLD) ] || mkdir $(HTMLD); \ $(TEX2HTML) \ -prefix "$*". -no_auto_link \ -address $(CONTACT1)"`$(GETDATE) <$<`"$(CONTACT2)"`$(GETVERS) <$<`" \ -up_title \ "`perl -n -e '(m,(.*),) && printf("%s\n",$$1);'\ < $(HTMLD)/refs.html `" \ $(TEX2HTML_FLAGS) $< %.ltr.ps: %.dvi $(DVIPS) -tletter $(DVIPS_FLAGS) -o $@ $< %.a4.ps: %.dvi $(DVIPS) -ta4 $(DVIPS_FLAGS) -o $@ $< %.dvi: %.tex @for i in 1 2 3; do \ echo "****** latex pass $$i"; \ $(LATEX) $(LATEX_FLAGS) $<; \ if [ "$*" = intro ]; then \ echo "****** running bibtex"; \ bibtex $*; \ fi; \ $(MAKEINDEX) $*; \ done; \ echo "****** latex passes done"