Commit b9b4c5b5 authored by Fred Drake's avatar Fred Drake

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.
parent fcab7635
# 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
......@@ -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:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment