Centralize the processing logic for LaTeX documents into the mkhowto script;

do not use mkdvi.sh or mkhtl.sh any more.

This slows down building all versions of the documentation, but if you are
only building one format, it does not matter.
This commit is contained in:
Fred Drake 2000-08-31 06:12:35 +00:00
parent fcab76350a
commit b9b4c5b560
2 changed files with 46 additions and 87 deletions

View file

@ -1,9 +1,6 @@
# 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.
# 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.
PAPER=letter
TOPDIR=..
@ -15,16 +12,10 @@ 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
MKHOWTO= $(TOOLSDIR)/mkhowto
BUILDINDEX=$(TOOLSDIR)/buildindex.py
# make it clear to l2h, since our support only generates HTML 4.0
L2HARGS= -html_version 4.0
PYTHONDOCS='<hr>See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.'
HTMLBASE= file:`pwd`
@ -70,55 +61,43 @@ modindex.html: lib/lib.html mac/mac.html $(TOOLSDIR)/mkmodindex
--address $(PYTHONDOCS) \
lib/modindex.html mac/modindex.html
api/api.html: $(PAPERDIR)/api.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh
$(MKHTML) api $(L2HARGS) -split 5
api/api.html: $(APIFILES) $(BUILDINDEX)
$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
--html $(TOPDIR)/api/api.tex
doc/doc.html: $(DOCFILES) $(BUILDINDEX) $(TOPDIR)/perl/ltxmarkup.perl
$(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \
doc/doc.html: $(DOCFILES) $(BUILDINDEX)
$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
--html $(TOPDIR)/doc/doc.tex
ext/ext.html: $(PAPERDIR)/ext.aux $(TOOLSDIR)/mkhtml.sh
$(MKHTML) ext $(L2HARGS) -split 5
ext/ext.html: $(EXTFILES)
echo $(EXTFILES)
$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
--html $(TOPDIR)/ext/ext.tex
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) -split 5
lib/lib.html: $(LIBFILES) $(BUILDINDEX)
$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
--html $(TOPDIR)/lib/lib.tex
mac/mac.html: $(MACFILES) $(BUILDINDEX)
$(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \
$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
--html $(TOPDIR)/mac/mac.tex
ref/ref.html: $(PAPERDIR)/ref.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh
$(MKHTML) ref $(L2HARGS) -split 5
ref/ref.html: $(REFFILES) $(BUILDINDEX)
$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
--html $(TOPDIR)/ref/ref.tex
tut/tut.html: $(PAPERDIR)/tut.aux $(TOOLSDIR)/mkhtml.sh
$(MKHTML) --numeric tut $(L2HARGS) -split 3
tut/tut.html: $(TUTFILES) $(TOOLSDIR)/mkhowto
$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
--html --numeric --split 3 $(TOPDIR)/tut/tut.tex
inst/inst.html:$(INSTFILES) $(TOPDIR)/perl/distutils.perl
$(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \
inst/inst.html: $(INSTFILES) $(TOPDIR)/perl/distutils.perl
$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
--html $(TOPDIR)/inst/inst.tex
dist/dist.html:$(DISTFILES) $(TOPDIR)/perl/distutils.perl
$(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \
$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
--html $(TOPDIR)/dist/dist.tex
$(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/
@ -130,16 +109,6 @@ webcheck: all
$(WEBCHECKER) $(HTMLBASE)/dist/
$(WEBCHECKER) $(HTMLBASE)/inst/
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
@ -154,7 +123,7 @@ distclean realclean clobber: clean
# 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)
index.html: $(TOPDIR)/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
@ -162,4 +131,3 @@ index.html: index.html.in $(BOILERPLATE)
if [ "$$DATE" = '\today' ] ; then DATE=`date '+%B %e, %Y'`;fi;\
sed "s/@DATE@/$$DATE/g" TEMP >$@
rm -f TEMP

View file

@ -2,20 +2,14 @@
PAPER=letter
# Where are the various programs?
LATEX= latex
PDFLATEX= pdflatex
DVIPS= dvips -N0 -t $(PAPER)
MAKEINDEX= makeindex -s ../texinputs/python.ist
PYTHON= python
TOOLSDIR= ../tools
TEXINPUTS= .:../texinputs:
MKDVI= TEXINPUTS=$(TEXINPUTS) $(TOOLSDIR)/mkdvi.sh
# The --keep option is needed to keep the intermediate files for generating
# the HTML global module index.
MKHOWTO= $(TOOLSDIR)/mkhowto --keep
MKPDF= TEXINPUTS=$(TEXINPUTS) $(TOOLSDIR)/mkdvi.sh --pdf
MKHOWTO= $(TOOLSDIR)/mkhowto
MKDVI= $(MKHOWTO) --dvi
MKPDF= $(MKHOWTO) --pdf
# what's what
@ -36,17 +30,14 @@ PSFILES= $(MANPSFILES) $(HOWTOPSFILES)
include ../Makefile.deps
SCRIPTS: ../tools/fix_hack ../tools/mkdvi.sh ../tools/indfix.py
SCRIPTS: ../tools/indfix.py
$(DVIFILES): $(SCRIPTS)
$(PDFFILES): $(SCRIPTS)
$(HOWTODVIFILES): ../tools/mkhowto
$(HOWTOPDFFILES): ../tools/mkhowto
$(DVIFILES): $(SCRIPTS) $(MKHOWTO)
$(PDFFILES): $(SCRIPTS) $(MKHOWTO)
# Rules to build PostScript and PDF formats
.SUFFIXES: .dvi .ps .pdf
.SUFFIXES: .dvi .ps
.dvi.ps:
$(DVIPS) -o $@ $<
@ -64,20 +55,20 @@ README: $(PSFILES) $(TOOLSDIR)/getpagecounts
# Python/C API Reference Manual
api.dvi: api.tex $(APIFILES)
$(MKDVI) api
$(MKDVI) ../api/api.tex
api.pdf: api.tex $(APIFILES)
$(MKPDF) api
$(MKPDF) ../api/api.tex
api.tex: ../api/api.tex ../api/refcounts.dat ../tools/anno-api.py
$(PYTHON) ../tools/anno-api.py -o $@ ../api/api.tex
# Distributing Python Modules
dist.dvi: $(DISTFILES)
$(MKHOWTO) --dvi ../dist/dist.tex
$(MKDVI) ../dist/dist.tex
dist.pdf: $(DISTFILES)
$(MKHOWTO) --pdf ../dist/dist.tex
$(MKPDF) ../dist/dist.tex
# Documenting Python
doc.dvi: $(DOCFILES)
@ -88,10 +79,10 @@ doc.pdf: $(DOCFILES)
# Extending and Embedding the Python Interpreter
ext.dvi: $(EXTFILES)
$(MKDVI) ext
$(MKDVI) ../ext/ext.tex
ext.pdf: $(EXTFILES)
$(MKPDF) ext
$(MKPDF) ../ext/ext.tex
# Installing Python Modules
inst.dvi: $(INSTFILES)
@ -102,10 +93,10 @@ inst.pdf: $(INSTFILES)
# Python Library Reference
lib.dvi: $(LIBFILES)
$(MKDVI) lib
$(MKDVI) ../lib/lib.tex
lib.pdf: $(LIBFILES)
$(MKPDF) lib
$(MKPDF) ../lib/lib.tex
# Macintosh Library Modules
mac.dvi: $(MACFILES)
@ -116,17 +107,17 @@ mac.pdf: $(MACFILES)
# Python Reference Manual
ref.dvi: $(REFFILES)
$(MKDVI) ref
$(MKDVI) ../ref/ref.tex
ref.pdf: $(REFFILES)
$(MKPDF) ref
$(MKPDF) ../ref/ref.tex
# Python Tutorial
tut.dvi: $(TUTFILES)
$(MKDVI) tut
$(MKDVI) ../tut/tut.tex
tut.pdf: $(TUTFILES)
$(MKPDF) tut
$(MKPDF) ../tut/tut.tex
clean: