# Convenience Makefile for building HTML documentation. You probably need to # set TEXINPUTS from the command line for this to be useful, unless you # actually build the .dvi files in the top level directory. # # Note that the .dvi files must already be built and TEXINPUTS must include the # directory where latex's working files (esp. *.aux) are kept. PAPER=letter TOPDIR=.. TOOLSDIR=$(TOPDIR)/tools PAPERDIR=$(TOPDIR)/paper-$(PAPER) TEXINPUTS=$(TOPDIR)/paper-$(PAPER):$(TOPDIR)/texinputs: # Where are the various programs? PYTHON= python WEBCHECKER=$(PYTHON) $(TOPDIR)/../Tools/webchecker/webchecker.py WCNEW=$(PYTHON) $(TOPDIR)/../Tools/webchecker/wcnew.py MKAUX= PAPER=$(PAPER) TEXINPUTS=$(TEXINPUTS) $(TOOLSDIR)/mkdvi.sh --aux MKHTML= PAPER=$(PAPER) $(TOOLSDIR)/mkhtml.sh KPSEWHICH= TEXINPUTS=$(TEXINPUTS) kpsewhich tex BUILDINDEX=$(TOOLSDIR)/buildindex.py # make it clear to l2h, since our support only generates HTML 4.0 L2HARGS= -html_version 4.0 PYTHONDOCS='
See About this document... for information on suggesting changes.' HTMLBASE= file:`pwd` INDEXFILES=api/api.html \ doc/doc.html \ ext/ext.html \ lib/lib.html \ mac/mac.html \ ref/ref.html \ tut/tut.html COMMONPERL= $(TOPDIR)/perl/manual.perl \ $(TOPDIR)/perl/python.perl \ $(TOPDIR)/perl/l2hinit.perl all: $(INDEXFILES) index.html modindex.html .PHONY: api ext lib mac ref tut api: api/api.html doc: doc/doc.html ext: ext/ext.html lib: lib/lib.html mac: mac/mac.html ref: ref/ref.html tut: tut/tut.html $(INDEXFILES): $(COMMONPERL) \ $(TOPDIR)/html/about.dat \ $(TOPDIR)/tools/node2label.pl # The index.html target is at the end since it screws up font-lock. modindex.html: lib/lib.html mac/mac.html $(TOOLSDIR)/mkmodindex $(TOOLSDIR)/mkmodindex --columns 4 --output modindex.html \ --address $(PYTHONDOCS) \ lib/modindex.html mac/modindex.html api/api.html: $(PAPERDIR)/api.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh $(MKHTML) api $(L2HARGS) doc/doc.html: $(DOCFILES) $(BUILDINDEX) $(TOPDIR)/perl/ltxmarkup.perl $(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \ --html $(TOPDIR)/doc/doc.tex ext/ext.html: $(PAPERDIR)/ext.aux $(TOOLSDIR)/mkhtml.sh $(MKHTML) ext $(L2HARGS) lib/lib.html: $(PAPERDIR)/lib.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh $(TOOLSDIR)/fix_libaux.sed <`$(KPSEWHICH) lib.aux` >lib1.aux mv lib1.aux `$(KPSEWHICH) lib.aux` $(MKHTML) lib $(L2HARGS) mac/mac.html: $(MACFILES) $(BUILDINDEX) $(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \ --html $(TOPDIR)/mac/mac.tex ref/ref.html: $(PAPERDIR)/ref.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh $(MKHTML) ref $(L2HARGS) tut/tut.html: $(PAPERDIR)/tut.aux $(TOOLSDIR)/mkhtml.sh $(MKHTML) --numeric tut $(L2HARGS) -split 3 include ../Makefile.deps $(PAPERDIR)/api.aux: $(APIFILES) (cd $(PAPERDIR); $(MKAUX) api) $(PAPERDIR)/ext.aux: $(EXTFILES) (cd $(PAPERDIR); $(MKAUX) ext) $(PAPERDIR)/lib.aux: $(LIBFILES) (cd $(PAPERDIR); $(MKAUX) lib) $(PAPERDIR)/ref.aux: $(REFFILES) (cd $(PAPERDIR); $(MKAUX) ref) $(PAPERDIR)/tut.aux: $(TUTFILES) (cd $(PAPERDIR); $(MKAUX) tut) webcheck: all $(WEBCHECKER) $(HTMLBASE)/api/ $(WEBCHECKER) $(HTMLBASE)/doc/ $(WEBCHECKER) $(HTMLBASE)/ext/ $(WEBCHECKER) -m290000 $(HTMLBASE)/lib/ $(WEBCHECKER) $(HTMLBASE)/mac/ $(WEBCHECKER) $(HTMLBASE)/ref/ $(WEBCHECKER) $(HTMLBASE)/tut/ wcnew: all $(WCNEW) $(HTMLBASE)/api/ $(WCNEW) $(HTMLBASE)/doc/ $(WCNEW) $(HTMLBASE)/ext/ $(WCNEW) -m290000 $(HTMLBASE)/lib/ $(WCNEW) $(HTMLBASE)/mac/ $(WCNEW) $(HTMLBASE)/ref/ $(WCNEW) $(HTMLBASE)/tut/ clean: rm -rf @webchecker.pickle distclean realclean clobber: clean rm -rf index.html modindex.html api/ doc/ ext/ lib/ mac/ ref/ tut/ # This is really ugly, but we're not dependent on $(RELEASE), which isn't # defined here. It also maintains the proper dependency on boilerplate.tex. # It's at the end of the file since it wedges font-lock in XEmacs. BOILERPLATE=$(TOPDIR)/texinputs/boilerplate.tex index.html: index.html.in $(BOILERPLATE) REL=`grep '\\release{' $(BOILERPLATE) | sed 's/.*\\release{\(.*\)}.*$$/\1/'`; \ REL=`echo "$$REL" | sed 's/[$$]//g'`; \ sed "s/@RELEASE@/$$REL/g" $< >TEMP DATE=`grep '\\date{' $(BOILERPLATE) | sed 's/.*\\date{\(.*\)}.*$$/\1/'` ; \ if [ "$$DATE" = '\today' ] ; then DATE=`date '+%B %e, %Y'`;fi;\ sed "s/@DATE@/$$DATE/g" TEMP >$@ rm -f TEMP