blob: 11c3d45976d7bd36d664fbbe495ee16fe6439d87 [file] [log] [blame]
Fred Drake60515f41998-05-07 14:50:22 +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
Fred Drake07b12f21998-08-12 17:06:03 +00008PAPER=letter
Fred Drakef832f4c1998-08-11 19:36:35 +00009TOPDIR=..
Fred Drake07b12f21998-08-12 17:06:03 +000010TOOLSDIR=$(TOPDIR)/tools
11PAPERDIR=$(TOPDIR)/paper-$(PAPER)
Fred Drakef832f4c1998-08-11 19:36:35 +000012
Fred Drake07b12f21998-08-12 17:06:03 +000013TEXINPUTS=$(TOPDIR)/paper-$(PAPER):$(TOPDIR)/texinputs:
14
15# Where are the various programs?
Fred Drake4d33e4e1999-02-15 19:29:08 +000016PYTHON= python
17WEBCHECKER=$(PYTHON) $(TOPDIR)/../Tools/webchecker/webchecker.py
18MKAUX= PAPER=$(PAPER) TEXINPUTS=$(TEXINPUTS) $(TOOLSDIR)/mkdvi.sh --aux
19MKHTML= PAPER=$(PAPER) $(TOOLSDIR)/mkhtml.sh
20KPSEWHICH= TEXINPUTS=$(TEXINPUTS) kpsewhich tex
Fred Drake07b12f21998-08-12 17:06:03 +000021
Fred Drake4d33e4e1999-02-15 19:29:08 +000022BUILDINDEX=$(TOOLSDIR)/buildindex.py
Fred Drake5d56d361999-01-05 15:49:39 +000023
Fred Drake5761b761999-02-12 21:42:23 +000024# make it clear to l2h, since our support only generates HTML 4.0
Fred Drake4d33e4e1999-02-15 19:29:08 +000025L2HARGS= -html_version 4.0
26
Fred Drake4050e001999-04-28 15:06:08 +000027PYTHONDOCS='<hr>Send comments on this document to <a href="mailto:python-docs@python.org">python-docs@python.org</a>.'
Fred Drake4d33e4e1999-02-15 19:29:08 +000028HTMLBASE= file:`pwd`
Fred Drake5761b761999-02-12 21:42:23 +000029
Fred Drake07b12f21998-08-12 17:06:03 +000030INDEXFILES=api/api.html \
Fred Drake1468d771999-03-18 19:07:04 +000031 doc/doc.html \
Fred Drake07b12f21998-08-12 17:06:03 +000032 ext/ext.html \
33 lib/lib.html \
34 mac/mac.html \
35 ref/ref.html \
36 tut/tut.html
37
38COMMONPERL= $(TOPDIR)/perl/manual.perl \
Fred Drake54c52051998-08-13 19:03:19 +000039 $(TOPDIR)/perl/python.perl \
40 $(TOPDIR)/perl/l2hinit.perl
Fred Drakef832f4c1998-08-11 19:36:35 +000041
42
Fred Drake5cc0a9b1999-04-29 15:42:19 +000043all: $(INDEXFILES) index.html modindex.html
Fred Drake07b12f21998-08-12 17:06:03 +000044
45.PHONY: api ext lib mac ref tut
46
Fred Drake6f9dd5d1999-02-15 21:43:55 +000047api: api/api.html
Fred Drake766e0cb1999-04-05 19:28:29 +000048doc: doc/doc.html
Fred Drake6f9dd5d1999-02-15 21:43:55 +000049ext: ext/ext.html
50lib: lib/lib.html
51mac: mac/mac.html
52ref: ref/ref.html
53tut: tut/tut.html
Fred Drake07b12f21998-08-12 17:06:03 +000054
Fred Drakea8ba3641998-11-30 20:28:35 +000055$(INDEXFILES): $(COMMONPERL) $(TOPDIR)/html/about.dat
Fred Drake07b12f21998-08-12 17:06:03 +000056
Fred Drake684f78f1999-02-24 17:34:12 +000057modindex.html: lib/lib.html mac/mac.html $(TOOLSDIR)/mkmodindex
Fred Drake368b16a1999-03-02 15:56:19 +000058 $(TOOLSDIR)/mkmodindex --columns 4 --output modindex.html \
Fred Drakeb41f97d1999-03-04 21:25:05 +000059 --address $(PYTHONDOCS) \
Fred Drake684f78f1999-02-24 17:34:12 +000060 lib/modindex.html mac/modindex.html
61
Fred Drake5cc0a9b1999-04-29 15:42:19 +000062# This is really ugly, but we're not dependent on $(RELEASE), which isn't
63# defined here. It also maintains the proper dependency on boilerplate.tex.
64
65BOILERPLATE=$(TOPDIR)/texinputs/boilerplate.tex
66index.html: index.html.in $(BOILERPLATE)
67 REL=`grep '\\release{' $(BOILERPLATE) | sed 's/.*\\release{\(.*\)}.*$$/\1/'` ; \
68 sed "s/@RELEASE@/$$REL/g" $< >TEMP
69 DATE=`grep '\\date{' $(BOILERPLATE) | sed 's/.*\\date{\(.*\)}.*$$/\1/'` ; \
70 sed "s/@DATE@/$$DATE/g" TEMP >$@
71 rm -f TEMP
72
Fred Drake5d56d361999-01-05 15:49:39 +000073api/api.html: $(PAPERDIR)/api.aux $(BUILDINDEX)
Fred Drake07b12f21998-08-12 17:06:03 +000074 $(MKHTML) api $(L2HARGS)
75
Fred Drake1468d771999-03-18 19:07:04 +000076doc/doc.html: $(DOCFILES) $(BUILDINDEX) $(TOPDIR)/perl/ltxmarkup.perl
77 $(TOOLSDIR)/mkhowto --address $(PYTHONDOCS) --html \
78 $(TOPDIR)/doc/doc.tex
79
Fred Drake07b12f21998-08-12 17:06:03 +000080ext/ext.html: $(PAPERDIR)/ext.aux
81 $(MKHTML) ext $(L2HARGS)
82
Fred Drake5d56d361999-01-05 15:49:39 +000083lib/lib.html: $(PAPERDIR)/lib.aux $(BUILDINDEX)
Fred Drake07b12f21998-08-12 17:06:03 +000084 $(TOOLSDIR)/fix_libaux.sed <`$(KPSEWHICH) lib.aux` >lib1.aux
85 mv lib1.aux `$(KPSEWHICH) lib.aux`
86 $(MKHTML) lib $(L2HARGS)
87
Fred Drake5d56d361999-01-05 15:49:39 +000088mac/mac.html: $(MACFILES) $(BUILDINDEX)
Fred Drakeb41f97d1999-03-04 21:25:05 +000089 $(TOOLSDIR)/mkhowto --address $(PYTHONDOCS) --html \
90 $(TOPDIR)/mac/mac.tex
Fred Drake07b12f21998-08-12 17:06:03 +000091
Fred Drake5d56d361999-01-05 15:49:39 +000092ref/ref.html: $(PAPERDIR)/ref.aux $(BUILDINDEX)
Fred Drake07b12f21998-08-12 17:06:03 +000093 $(MKHTML) ref $(L2HARGS)
94
95tut/tut.html: $(PAPERDIR)/tut.aux
96 $(MKHTML) tut $(L2HARGS)
Fred Drakef832f4c1998-08-11 19:36:35 +000097
Fred Drake60515f41998-05-07 14:50:22 +000098
Fred Drake2e23c311998-10-07 22:03:45 +000099include ../Makefile.deps
100
Fred Drake07b12f21998-08-12 17:06:03 +0000101$(PAPERDIR)/api.aux: $(APIFILES)
Fred Drake4d33e4e1999-02-15 19:29:08 +0000102 (cd $(PAPERDIR); $(MKAUX) api)
Fred Drake60515f41998-05-07 14:50:22 +0000103
Fred Drake07b12f21998-08-12 17:06:03 +0000104$(PAPERDIR)/ext.aux: $(EXTFILES)
Fred Drake4d33e4e1999-02-15 19:29:08 +0000105 (cd $(PAPERDIR); $(MKAUX) ext)
Fred Drake60515f41998-05-07 14:50:22 +0000106
Fred Drake07b12f21998-08-12 17:06:03 +0000107$(PAPERDIR)/lib.aux: $(LIBFILES)
Fred Drake4d33e4e1999-02-15 19:29:08 +0000108 (cd $(PAPERDIR); $(MKAUX) lib)
Fred Drake60515f41998-05-07 14:50:22 +0000109
Fred Drake07b12f21998-08-12 17:06:03 +0000110$(PAPERDIR)/ref.aux: $(REFFILES)
Fred Drake4d33e4e1999-02-15 19:29:08 +0000111 (cd $(PAPERDIR); $(MKAUX) ref)
Fred Drake60515f41998-05-07 14:50:22 +0000112
Fred Drake07b12f21998-08-12 17:06:03 +0000113$(PAPERDIR)/tut.aux: $(TUTFILES)
Fred Drake4d33e4e1999-02-15 19:29:08 +0000114 (cd $(PAPERDIR); $(MKAUX) tut)
Fred Drake60515f41998-05-07 14:50:22 +0000115
Fred Drake07b12f21998-08-12 17:06:03 +0000116
Fred Drake4d33e4e1999-02-15 19:29:08 +0000117webcheck: all
118 $(WEBCHECKER) $(HTMLBASE)/api/
Fred Drake1468d771999-03-18 19:07:04 +0000119 $(WEBCHECKER) $(HTMLBASE)/doc/
Fred Drake4d33e4e1999-02-15 19:29:08 +0000120 $(WEBCHECKER) $(HTMLBASE)/ext/
121 $(WEBCHECKER) -m290000 $(HTMLBASE)/lib/
122 $(WEBCHECKER) $(HTMLBASE)/mac/
123 $(WEBCHECKER) $(HTMLBASE)/ref/
124 $(WEBCHECKER) $(HTMLBASE)/tut/
Fred Drake07b12f21998-08-12 17:06:03 +0000125
126clean:
Fred Drake6f9dd5d1999-02-15 21:43:55 +0000127 rm -rf @webchecker.pickle
Fred Drake07b12f21998-08-12 17:06:03 +0000128
129clobber: clean
Fred Drake1468d771999-03-18 19:07:04 +0000130 rm -rf api/ doc/ ext/ lib/ mac/ ref/ tut/