blob: 4580c174aebd3eae1fc63b9882ad34535e8301ef [file] [log] [blame]
Fred Drakee018bee2000-03-31 20:22:29 +00001# Convenience Makefile for building HTML documentation. You probably need to
2# set TEXINPUTS from the command line for this to be useful, unless you
3# actually build the .dvi files in the top level directory.
4#
5# Note that the .dvi files must already be built and TEXINPUTS must include the
6# directory where latex's working files (esp. *.aux) are kept.
7
8PAPER=letter
9TOPDIR=..
10TOOLSDIR=$(TOPDIR)/tools
11PAPERDIR=$(TOPDIR)/paper-$(PAPER)
12
13TEXINPUTS=$(TOPDIR)/paper-$(PAPER):$(TOPDIR)/texinputs:
14
15# Where are the various programs?
16PYTHON= python
17MKAUX= PAPER=$(PAPER) TEXINPUTS=$(TEXINPUTS) $(TOOLSDIR)/mkdvi.sh --aux
18MKHTML= PAPER=$(PAPER) $(TOOLSDIR)/mkhtml.sh --numeric
19KPSEWHICH= TEXINPUTS=$(TEXINPUTS) kpsewhich tex
20
21BUILDINDEX=$(TOOLSDIR)/buildindex.py
22
23# make it clear to l2h, since our support only generates HTML 4.0
24L2HARGS= -html_version 4.0
25
26PYTHONDOCS='<hr>Send comments on this document to <a href="mailto:python-docs@python.org">python-docs@python.org</a>.'
27HTMLBASE= file:`pwd`
28
29INDEXFILES=api/api.html \
30 doc/doc.html \
31 ext/ext.html \
32 lib/lib.html \
33 mac/mac.html \
34 ref/ref.html \
35 tut/tut.html
36
37COMMONPERL= $(TOPDIR)/perl/manual.perl \
38 $(TOPDIR)/perl/python.perl \
39 $(TOPDIR)/perl/l2hinit.perl
40
41
42all: $(INDEXFILES)
43
44.PHONY: api ext lib mac ref tut
45
46api: api/api.html
47doc: doc/doc.html
48ext: ext/ext.html
49lib: lib/lib.html
50mac: mac/mac.html
51ref: ref/ref.html
52tut: tut/tut.html
53
54$(INDEXFILES): $(COMMONPERL) \
55 $(TOPDIR)/html/about.dat
56
57api/api.html: $(PAPERDIR)/api.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh
58 $(MKHTML) api $(L2HARGS) -split 3
59
60doc/doc.html: $(DOCFILES) $(BUILDINDEX) $(TOPDIR)/perl/ltxmarkup.perl
61 $(TOOLSDIR)/mkhowto --numeric --split=3 --address $(PYTHONDOCS) \
62 --html $(TOPDIR)/doc/doc.tex
63
64ext/ext.html: $(PAPERDIR)/ext.aux $(TOOLSDIR)/mkhtml.sh
65 $(MKHTML) ext $(L2HARGS) -split 3
66
67lib/lib.html: $(PAPERDIR)/lib.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh
68 $(TOOLSDIR)/fix_libaux.sed <`$(KPSEWHICH) lib.aux` >lib1.aux
69 mv lib1.aux `$(KPSEWHICH) lib.aux`
70 $(MKHTML) lib $(L2HARGS) -split 3
71
72mac/mac.html: $(MACFILES) $(BUILDINDEX)
73 $(TOOLSDIR)/mkhowto --numeric --split=3 --address $(PYTHONDOCS) \
74 --html $(TOPDIR)/mac/mac.tex
75
76ref/ref.html: $(PAPERDIR)/ref.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh
77 $(MKHTML) ref $(L2HARGS) -split 3
78
79tut/tut.html: $(PAPERDIR)/tut.aux $(TOOLSDIR)/mkhtml.sh
80 $(MKHTML) tut $(L2HARGS) -split 3
81
82
83include ../Makefile.deps
84
85$(PAPERDIR)/api.aux: $(APIFILES)
86 (cd $(PAPERDIR); $(MKAUX) api)
87
88$(PAPERDIR)/ext.aux: $(EXTFILES)
89 (cd $(PAPERDIR); $(MKAUX) ext)
90
91$(PAPERDIR)/lib.aux: $(LIBFILES)
92 (cd $(PAPERDIR); $(MKAUX) lib)
93
94$(PAPERDIR)/ref.aux: $(REFFILES)
95 (cd $(PAPERDIR); $(MKAUX) ref)
96
97$(PAPERDIR)/tut.aux: $(TUTFILES)
98 (cd $(PAPERDIR); $(MKAUX) tut)
99
100
101clean:
102 :
103
104clobber:
105 rm -rf api/ doc/ ext/ lib/ mac/ ref/ tut/