1 | # Makefile for Python documentation
|
---|
2 | # ---------------------------------
|
---|
3 | #
|
---|
4 | # See also the README file.
|
---|
5 | #
|
---|
6 | # This is a bit of a mess. The documents are identified by short names:
|
---|
7 | # api -- Python/C API Reference Manual
|
---|
8 | # doc -- Documenting Python
|
---|
9 | # ext -- Extending and Embedding the Python Interpreter
|
---|
10 | # lib -- Library Reference Manual
|
---|
11 | # mac -- Macintosh Library Modules
|
---|
12 | # ref -- Python Reference Manual
|
---|
13 | # tut -- Python Tutorial
|
---|
14 | # inst -- Installing Python Modules
|
---|
15 | # dist -- Distributing Python Modules
|
---|
16 | #
|
---|
17 | # The LaTeX sources for each of these documents are in subdirectories
|
---|
18 | # with the three-letter designations above as the directory names.
|
---|
19 | #
|
---|
20 | # The main target creates HTML for each of the documents. You can
|
---|
21 | # also do "make lib" (etc.) to create the HTML versions of individual
|
---|
22 | # documents.
|
---|
23 | #
|
---|
24 | # The document classes and styles are in the texinputs/ directory.
|
---|
25 | # These define a number of macros that are similar in name and intent
|
---|
26 | # as macros in Texinfo (e.g. \code{...} and \emph{...}), as well as a
|
---|
27 | # number of environments for formatting function and data definitions.
|
---|
28 | # Documentation for the macros is included in "Documenting Python"; see
|
---|
29 | # http://www.python.org/doc/current/doc/doc.html, or the sources for
|
---|
30 | # this document in the doc/ directory.
|
---|
31 | #
|
---|
32 | # Everything is processed by LaTeX. See the file `README' for more
|
---|
33 | # information on the tools needed for processing.
|
---|
34 | #
|
---|
35 | # There's a problem with generating the index which has been solved by
|
---|
36 | # a sed command applied to the index file. The shell script fix_hack
|
---|
37 | # does this (the Makefile takes care of calling it).
|
---|
38 | #
|
---|
39 | # Additional targets attempt to convert selected LaTeX sources to
|
---|
40 | # various other formats. These are generally site specific because
|
---|
41 | # the tools used are all but universal. These targets are:
|
---|
42 | #
|
---|
43 | # ps -- convert all documents from LaTeX to PostScript
|
---|
44 | # pdf -- convert all documents from LaTeX to the
|
---|
45 | # Portable Document Format
|
---|
46 | #
|
---|
47 | # See the README file for more information on these targets.
|
---|
48 | #
|
---|
49 | # The formatted output is located in subdirectories. For PDF and
|
---|
50 | # PostScript, look in the paper-$(PAPER)/ directory. For HTML, look in
|
---|
51 | # the html/ directory. If you want to fix the GNU info process, look
|
---|
52 | # in the info/ directory; please send patches to docs@python.org.
|
---|
53 |
|
---|
54 | # This Makefile only includes information on how to perform builds; for
|
---|
55 | # dependency information, see Makefile.deps.
|
---|
56 |
|
---|
57 | # Customization -- you *may* have to edit this
|
---|
58 |
|
---|
59 | # You could set this to a4:
|
---|
60 | PAPER=letter
|
---|
61 |
|
---|
62 | # Ideally, you shouldn't need to edit beyond this point
|
---|
63 |
|
---|
64 | INFODIR= info
|
---|
65 | TOOLSDIR= tools
|
---|
66 |
|
---|
67 | # This is the *documentation* release, and is used to construct the
|
---|
68 | # file names of the downloadable tarballs. It is initialized by the
|
---|
69 | # getversioninfo script to ensure that the right version number is
|
---|
70 | # used; the script will also write commontex/patchlevel.tex if that
|
---|
71 | # doesn't exist or needs to be changed. Documents which depend on the
|
---|
72 | # version number should use \input{patchlevel} and include
|
---|
73 | # commontex/patchlevel.tex in their dependencies.
|
---|
74 | RELEASE=$(shell $(PYTHON) tools/getversioninfo)
|
---|
75 |
|
---|
76 | PYTHON= python
|
---|
77 | DVIPS= dvips -N0 -t $(PAPER)
|
---|
78 |
|
---|
79 | # This is ugly! The issue here is that there are two different levels
|
---|
80 | # in the directory tree at which we execute mkhowto, so we can't
|
---|
81 | # define it just once using a relative path (at least not with the
|
---|
82 | # current implementation and Makefile structure). We use the GNUish
|
---|
83 | # $(shell) function here to work around that restriction by
|
---|
84 | # identifying mkhowto and the commontex/ directory using absolute paths.
|
---|
85 | #
|
---|
86 | # If your doc build fails immediately, you may need to switch to GNU make.
|
---|
87 | # (e.g. OpenBSD needs package gmake installed; use gmake instead of make)
|
---|
88 | PWD=$(shell pwd)
|
---|
89 |
|
---|
90 | # (The trailing colon in the value is needed; TeX places its default
|
---|
91 | # set of paths at the location of the empty string in the path list.)
|
---|
92 | TEXINPUTS=$(PWD)/commontex:
|
---|
93 |
|
---|
94 | # The mkhowto script can be run from the checkout using the first
|
---|
95 | # version of this variable definition, or from a preferred version
|
---|
96 | # using the second version. The standard documentation is typically
|
---|
97 | # built using the second flavor, where the preferred version is from
|
---|
98 | # the Python CVS trunk.
|
---|
99 | MKHOWTO= TEXINPUTS=$(TEXINPUTS) $(PYTHON) $(PWD)/tools/mkhowto
|
---|
100 |
|
---|
101 | MKDVI= $(MKHOWTO) --paper=$(PAPER) --dvi
|
---|
102 | MKHTML= $(MKHOWTO) --html --about html/stdabout.dat \
|
---|
103 | --iconserver ../icons --favicon ../icons/pyfav.png \
|
---|
104 | --address $(PYTHONDOCS) --up-link ../index.html \
|
---|
105 | --up-title "Python Documentation Index" \
|
---|
106 | --global-module-index "../modindex.html" --dvips-safe
|
---|
107 | MKISILOHTML=$(MKHOWTO) --html --about html/stdabout.dat \
|
---|
108 | --iconserver ../icons \
|
---|
109 | --l2h-init perl/isilo.perl --numeric --split 1 \
|
---|
110 | --dvips-safe
|
---|
111 | MKISILO= iSilo386 -U -y -rCR -d0
|
---|
112 | MKPDF= $(MKHOWTO) --paper=$(PAPER) --pdf
|
---|
113 | MKPS= $(MKHOWTO) --paper=$(PAPER) --ps
|
---|
114 |
|
---|
115 | BUILDINDEX=$(TOOLSDIR)/buildindex.py
|
---|
116 |
|
---|
117 | PYTHONDOCS="See <i><a href=\"about.html\">About this document...</a></i> for information on suggesting changes."
|
---|
118 | HTMLBASE= file:`pwd`
|
---|
119 |
|
---|
120 | # The emacs binary used to build the info docs. GNU Emacs 21 is required.
|
---|
121 | EMACS= emacs
|
---|
122 |
|
---|
123 | # The end of this should reflect the major/minor version numbers of
|
---|
124 | # the release:
|
---|
125 | WHATSNEW=whatsnew25
|
---|
126 |
|
---|
127 | # what's what
|
---|
128 | MANDVIFILES= paper-$(PAPER)/api.dvi paper-$(PAPER)/ext.dvi \
|
---|
129 | paper-$(PAPER)/lib.dvi paper-$(PAPER)/mac.dvi \
|
---|
130 | paper-$(PAPER)/ref.dvi paper-$(PAPER)/tut.dvi
|
---|
131 | HOWTODVIFILES= paper-$(PAPER)/doc.dvi paper-$(PAPER)/inst.dvi \
|
---|
132 | paper-$(PAPER)/dist.dvi paper-$(PAPER)/$(WHATSNEW).dvi
|
---|
133 |
|
---|
134 | MANPDFFILES= paper-$(PAPER)/api.pdf paper-$(PAPER)/ext.pdf \
|
---|
135 | paper-$(PAPER)/lib.pdf paper-$(PAPER)/mac.pdf \
|
---|
136 | paper-$(PAPER)/ref.pdf paper-$(PAPER)/tut.pdf
|
---|
137 | HOWTOPDFFILES= paper-$(PAPER)/doc.pdf paper-$(PAPER)/inst.pdf \
|
---|
138 | paper-$(PAPER)/dist.pdf paper-$(PAPER)/$(WHATSNEW).pdf
|
---|
139 |
|
---|
140 | MANPSFILES= paper-$(PAPER)/api.ps paper-$(PAPER)/ext.ps \
|
---|
141 | paper-$(PAPER)/lib.ps paper-$(PAPER)/mac.ps \
|
---|
142 | paper-$(PAPER)/ref.ps paper-$(PAPER)/tut.ps
|
---|
143 | HOWTOPSFILES= paper-$(PAPER)/doc.ps paper-$(PAPER)/inst.ps \
|
---|
144 | paper-$(PAPER)/dist.ps paper-$(PAPER)/$(WHATSNEW).ps
|
---|
145 |
|
---|
146 | DVIFILES= $(MANDVIFILES) $(HOWTODVIFILES)
|
---|
147 | PDFFILES= $(MANPDFFILES) $(HOWTOPDFFILES)
|
---|
148 | PSFILES= $(MANPSFILES) $(HOWTOPSFILES)
|
---|
149 |
|
---|
150 | HTMLCSSFILES=html/api/api.css \
|
---|
151 | html/doc/doc.css \
|
---|
152 | html/ext/ext.css \
|
---|
153 | html/lib/lib.css \
|
---|
154 | html/mac/mac.css \
|
---|
155 | html/ref/ref.css \
|
---|
156 | html/tut/tut.css \
|
---|
157 | html/inst/inst.css \
|
---|
158 | html/dist/dist.css
|
---|
159 |
|
---|
160 | ISILOCSSFILES=isilo/api/api.css \
|
---|
161 | isilo/doc/doc.css \
|
---|
162 | isilo/ext/ext.css \
|
---|
163 | isilo/lib/lib.css \
|
---|
164 | isilo/mac/mac.css \
|
---|
165 | isilo/ref/ref.css \
|
---|
166 | isilo/tut/tut.css \
|
---|
167 | isilo/inst/inst.css \
|
---|
168 | isilo/dist/dist.css
|
---|
169 |
|
---|
170 | ALLCSSFILES=$(HTMLCSSFILES) $(ISILOCSSFILES)
|
---|
171 |
|
---|
172 | INDEXFILES=html/api/api.html \
|
---|
173 | html/doc/doc.html \
|
---|
174 | html/ext/ext.html \
|
---|
175 | html/lib/lib.html \
|
---|
176 | html/mac/mac.html \
|
---|
177 | html/ref/ref.html \
|
---|
178 | html/tut/tut.html \
|
---|
179 | html/inst/inst.html \
|
---|
180 | html/dist/dist.html \
|
---|
181 | html/whatsnew/$(WHATSNEW).html
|
---|
182 |
|
---|
183 | ALLHTMLFILES=$(INDEXFILES) html/index.html html/modindex.html html/acks.html
|
---|
184 |
|
---|
185 | COMMONPERL= perl/manual.perl perl/python.perl perl/l2hinit.perl
|
---|
186 |
|
---|
187 | ANNOAPI=api/refcounts.dat tools/anno-api.py
|
---|
188 |
|
---|
189 | include Makefile.deps
|
---|
190 |
|
---|
191 | # These must be declared phony since there
|
---|
192 | # are directories with matching names:
|
---|
193 | .PHONY: api doc ext lib mac ref tut inst dist
|
---|
194 | .PHONY: html info isilo
|
---|
195 |
|
---|
196 |
|
---|
197 | # Main target
|
---|
198 | default: html
|
---|
199 | all: html dvi ps pdf isilo
|
---|
200 |
|
---|
201 | dvi: $(DVIFILES)
|
---|
202 | pdf: $(PDFFILES)
|
---|
203 | ps: $(PSFILES)
|
---|
204 |
|
---|
205 | world: ps pdf html distfiles
|
---|
206 |
|
---|
207 |
|
---|
208 | # Rules to build PostScript and PDF formats
|
---|
209 | .SUFFIXES: .dvi .ps
|
---|
210 |
|
---|
211 | .dvi.ps:
|
---|
212 | $(DVIPS) -o $@ $<
|
---|
213 |
|
---|
214 |
|
---|
215 | # Targets for each document:
|
---|
216 | # Python/C API Reference Manual
|
---|
217 | paper-$(PAPER)/api.dvi: $(ANNOAPIFILES)
|
---|
218 | cd paper-$(PAPER) && $(MKDVI) api.tex
|
---|
219 |
|
---|
220 | paper-$(PAPER)/api.pdf: $(ANNOAPIFILES)
|
---|
221 | cd paper-$(PAPER) && $(MKPDF) api.tex
|
---|
222 |
|
---|
223 | paper-$(PAPER)/api.tex: api/api.tex
|
---|
224 | cp api/api.tex $@
|
---|
225 |
|
---|
226 | paper-$(PAPER)/abstract.tex: api/abstract.tex $(ANNOAPI)
|
---|
227 | $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/abstract.tex
|
---|
228 |
|
---|
229 | paper-$(PAPER)/concrete.tex: api/concrete.tex $(ANNOAPI)
|
---|
230 | $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/concrete.tex
|
---|
231 |
|
---|
232 | paper-$(PAPER)/exceptions.tex: api/exceptions.tex $(ANNOAPI)
|
---|
233 | $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/exceptions.tex
|
---|
234 |
|
---|
235 | paper-$(PAPER)/init.tex: api/init.tex $(ANNOAPI)
|
---|
236 | $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/init.tex
|
---|
237 |
|
---|
238 | paper-$(PAPER)/intro.tex: api/intro.tex
|
---|
239 | cp api/intro.tex $@
|
---|
240 |
|
---|
241 | paper-$(PAPER)/memory.tex: api/memory.tex $(ANNOAPI)
|
---|
242 | $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/memory.tex
|
---|
243 |
|
---|
244 | paper-$(PAPER)/newtypes.tex: api/newtypes.tex $(ANNOAPI)
|
---|
245 | $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/newtypes.tex
|
---|
246 |
|
---|
247 | paper-$(PAPER)/refcounting.tex: api/refcounting.tex $(ANNOAPI)
|
---|
248 | $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/refcounting.tex
|
---|
249 |
|
---|
250 | paper-$(PAPER)/utilities.tex: api/utilities.tex $(ANNOAPI)
|
---|
251 | $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/utilities.tex
|
---|
252 |
|
---|
253 | paper-$(PAPER)/veryhigh.tex: api/veryhigh.tex $(ANNOAPI)
|
---|
254 | $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/veryhigh.tex
|
---|
255 |
|
---|
256 | # Distributing Python Modules
|
---|
257 | paper-$(PAPER)/dist.dvi: $(DISTFILES)
|
---|
258 | cd paper-$(PAPER) && $(MKDVI) ../dist/dist.tex
|
---|
259 |
|
---|
260 | paper-$(PAPER)/dist.pdf: $(DISTFILES)
|
---|
261 | cd paper-$(PAPER) && $(MKPDF) ../dist/dist.tex
|
---|
262 |
|
---|
263 | # Documenting Python
|
---|
264 | paper-$(PAPER)/doc.dvi: $(DOCFILES)
|
---|
265 | cd paper-$(PAPER) && $(MKDVI) ../doc/doc.tex
|
---|
266 |
|
---|
267 | paper-$(PAPER)/doc.pdf: $(DOCFILES)
|
---|
268 | cd paper-$(PAPER) && $(MKPDF) ../doc/doc.tex
|
---|
269 |
|
---|
270 | # Extending and Embedding the Python Interpreter
|
---|
271 | paper-$(PAPER)/ext.dvi: $(EXTFILES)
|
---|
272 | cd paper-$(PAPER) && $(MKDVI) ../ext/ext.tex
|
---|
273 |
|
---|
274 | paper-$(PAPER)/ext.pdf: $(EXTFILES)
|
---|
275 | cd paper-$(PAPER) && $(MKPDF) ../ext/ext.tex
|
---|
276 |
|
---|
277 | # Installing Python Modules
|
---|
278 | paper-$(PAPER)/inst.dvi: $(INSTFILES)
|
---|
279 | cd paper-$(PAPER) && $(MKDVI) ../inst/inst.tex
|
---|
280 |
|
---|
281 | paper-$(PAPER)/inst.pdf: $(INSTFILES)
|
---|
282 | cd paper-$(PAPER) && $(MKPDF) ../inst/inst.tex
|
---|
283 |
|
---|
284 | # Python Library Reference
|
---|
285 | paper-$(PAPER)/lib.dvi: $(LIBFILES)
|
---|
286 | cd paper-$(PAPER) && $(MKDVI) ../lib/lib.tex
|
---|
287 |
|
---|
288 | paper-$(PAPER)/lib.pdf: $(LIBFILES)
|
---|
289 | cd paper-$(PAPER) && $(MKPDF) ../lib/lib.tex
|
---|
290 |
|
---|
291 | # Macintosh Library Modules
|
---|
292 | paper-$(PAPER)/mac.dvi: $(MACFILES)
|
---|
293 | cd paper-$(PAPER) && $(MKDVI) ../mac/mac.tex
|
---|
294 |
|
---|
295 | paper-$(PAPER)/mac.pdf: $(MACFILES)
|
---|
296 | cd paper-$(PAPER) && $(MKPDF) ../mac/mac.tex
|
---|
297 |
|
---|
298 | # Python Reference Manual
|
---|
299 | paper-$(PAPER)/ref.dvi: $(REFFILES)
|
---|
300 | cd paper-$(PAPER) && $(MKDVI) ../ref/ref.tex
|
---|
301 |
|
---|
302 | paper-$(PAPER)/ref.pdf: $(REFFILES)
|
---|
303 | cd paper-$(PAPER) && $(MKPDF) ../ref/ref.tex
|
---|
304 |
|
---|
305 | # Python Tutorial
|
---|
306 | paper-$(PAPER)/tut.dvi: $(TUTFILES)
|
---|
307 | cd paper-$(PAPER) && $(MKDVI) ../tut/tut.tex
|
---|
308 |
|
---|
309 | paper-$(PAPER)/tut.pdf: $(TUTFILES)
|
---|
310 | cd paper-$(PAPER) && $(MKPDF) ../tut/tut.tex
|
---|
311 |
|
---|
312 | # What's New in Python X.Y
|
---|
313 | paper-$(PAPER)/$(WHATSNEW).dvi: whatsnew/$(WHATSNEW).tex
|
---|
314 | cd paper-$(PAPER) && $(MKDVI) ../whatsnew/$(WHATSNEW).tex
|
---|
315 |
|
---|
316 | paper-$(PAPER)/$(WHATSNEW).pdf: whatsnew/$(WHATSNEW).tex
|
---|
317 | cd paper-$(PAPER) && $(MKPDF) ../whatsnew/$(WHATSNEW).tex
|
---|
318 |
|
---|
319 | # The remaining part of the Makefile is concerned with various
|
---|
320 | # conversions, as described above. See also the README file.
|
---|
321 |
|
---|
322 | info:
|
---|
323 | cd $(INFODIR) && $(MAKE) EMACS=$(EMACS) WHATSNEW=$(WHATSNEW)
|
---|
324 |
|
---|
325 | # Targets to convert the manuals to HTML using Nikos Drakos' LaTeX to
|
---|
326 | # HTML converter. For more info on this program, see
|
---|
327 | # <URL:http://cbl.leeds.ac.uk/nikos/tex2html/doc/latex2html/latex2html.html>.
|
---|
328 |
|
---|
329 | # Note that LaTeX2HTML inserts references to an icons directory in
|
---|
330 | # each page that it generates. I have placed a copy of this directory
|
---|
331 | # in the distribution to simplify the process of creating a
|
---|
332 | # self-contained HTML distribution; for this purpose I have also added
|
---|
333 | # a (trivial) index.html. Change the definition of $ICONSERVER in
|
---|
334 | # perl/l2hinit.perl to use a different location for the icons directory.
|
---|
335 |
|
---|
336 | # If you have the standard LaTeX2HTML icons installed, the versions shipped
|
---|
337 | # with this documentation should be stored in a separate directory and used
|
---|
338 | # instead. The standard set does *not* include all the icons used in the
|
---|
339 | # Python documentation.
|
---|
340 |
|
---|
341 | $(ALLCSSFILES): html/style.css
|
---|
342 | cp $< $@
|
---|
343 |
|
---|
344 | $(INDEXFILES): $(COMMONPERL) html/stdabout.dat tools/node2label.pl
|
---|
345 |
|
---|
346 | html/acks.html: ACKS $(TOOLSDIR)/support.py $(TOOLSDIR)/mkackshtml
|
---|
347 | $(PYTHON) $(TOOLSDIR)/mkackshtml --address $(PYTHONDOCS) \
|
---|
348 | --favicon icons/pyfav.png \
|
---|
349 | --output html/acks.html <ACKS
|
---|
350 |
|
---|
351 |
|
---|
352 | # html/index.html is dependent on $(INDEXFILES) since we want the date
|
---|
353 | # on the front index to be updated whenever any of the child documents
|
---|
354 | # are updated and boilerplate.tex uses \today as the date. The index
|
---|
355 | # files are not used to actually generate content.
|
---|
356 |
|
---|
357 | BOILERPLATE=commontex/boilerplate.tex
|
---|
358 | html/index.html: $(INDEXFILES)
|
---|
359 | html/index.html: html/index.html.in $(BOILERPLATE) tools/rewrite.py
|
---|
360 | $(PYTHON) tools/rewrite.py $(BOILERPLATE) \
|
---|
361 | RELEASE=$(RELEASE) WHATSNEW=$(WHATSNEW) \
|
---|
362 | <$< >$@
|
---|
363 |
|
---|
364 | html/modindex.html: $(TOOLSDIR)/support.py $(TOOLSDIR)/mkmodindex
|
---|
365 | html/modindex.html: html/dist/dist.html
|
---|
366 | html/modindex.html: html/lib/lib.html html/mac/mac.html
|
---|
367 | cd html && \
|
---|
368 | $(PYTHON) ../$(TOOLSDIR)/mkmodindex --columns 3 \
|
---|
369 | --output modindex.html --address $(PYTHONDOCS) \
|
---|
370 | --favicon icons/pyfav.png \
|
---|
371 | dist/modindex.html \
|
---|
372 | lib/modindex.html mac/modindex.html
|
---|
373 |
|
---|
374 | html: $(ALLHTMLFILES) $(HTMLCSSFILES)
|
---|
375 |
|
---|
376 | api: html/api/api.html html/api/api.css
|
---|
377 | html/api/api.html: $(APIFILES) api/refcounts.dat
|
---|
378 | $(MKHTML) --dir html/api api/api.tex
|
---|
379 |
|
---|
380 | doc: html/doc/doc.html html/doc/doc.css
|
---|
381 | html/doc/doc.html: $(DOCFILES)
|
---|
382 | $(MKHTML) --dir html/doc doc/doc.tex
|
---|
383 |
|
---|
384 | ext: html/ext/ext.html html/ext/ext.css
|
---|
385 | html/ext/ext.html: $(EXTFILES)
|
---|
386 | $(MKHTML) --dir html/ext ext/ext.tex
|
---|
387 |
|
---|
388 | lib: html/lib/lib.html html/lib/lib.css
|
---|
389 | html/lib/lib.html: $(LIBFILES)
|
---|
390 | $(MKHTML) --dir html/lib lib/lib.tex
|
---|
391 |
|
---|
392 | mac: html/mac/mac.html html/mac/mac.css
|
---|
393 | html/mac/mac.html: $(MACFILES)
|
---|
394 | $(MKHTML) --dir html/mac mac/mac.tex
|
---|
395 |
|
---|
396 | ref: html/ref/ref.html html/ref/ref.css
|
---|
397 | html/ref/ref.html: $(REFFILES)
|
---|
398 | $(MKHTML) --dir html/ref ref/ref.tex
|
---|
399 |
|
---|
400 | tut: html/tut/tut.html html/tut/tut.css
|
---|
401 | html/tut/tut.html: $(TUTFILES)
|
---|
402 | $(MKHTML) --dir html/tut --numeric --split 3 tut/tut.tex
|
---|
403 |
|
---|
404 | inst: html/inst/inst.html html/inst/inst.css
|
---|
405 | html/inst/inst.html: $(INSTFILES) perl/distutils.perl
|
---|
406 | $(MKHTML) --dir html/inst --split 4 inst/inst.tex
|
---|
407 |
|
---|
408 | dist: html/dist/dist.html html/dist/dist.css
|
---|
409 | html/dist/dist.html: $(DISTFILES) perl/distutils.perl
|
---|
410 | $(MKHTML) --dir html/dist --split 4 dist/dist.tex
|
---|
411 |
|
---|
412 | whatsnew: html/whatsnew/$(WHATSNEW).html
|
---|
413 | html/whatsnew/$(WHATSNEW).html: whatsnew/$(WHATSNEW).tex
|
---|
414 | $(MKHTML) --dir html/whatsnew --split 4 whatsnew/$(WHATSNEW).tex
|
---|
415 |
|
---|
416 |
|
---|
417 | # The iSilo format is used by the iSilo document reader for PalmOS devices.
|
---|
418 |
|
---|
419 | ISILOINDEXFILES=isilo/api/api.html \
|
---|
420 | isilo/doc/doc.html \
|
---|
421 | isilo/ext/ext.html \
|
---|
422 | isilo/lib/lib.html \
|
---|
423 | isilo/mac/mac.html \
|
---|
424 | isilo/ref/ref.html \
|
---|
425 | isilo/tut/tut.html \
|
---|
426 | isilo/inst/inst.html \
|
---|
427 | isilo/dist/dist.html \
|
---|
428 | isilo/whatsnew/$(WHATSNEW).html
|
---|
429 |
|
---|
430 | $(ISILOINDEXFILES): $(COMMONPERL) html/stdabout.dat perl/isilo.perl
|
---|
431 |
|
---|
432 | isilo: isilo/python-api.pdb \
|
---|
433 | isilo/python-doc.pdb \
|
---|
434 | isilo/python-ext.pdb \
|
---|
435 | isilo/python-lib.pdb \
|
---|
436 | isilo/python-mac.pdb \
|
---|
437 | isilo/python-ref.pdb \
|
---|
438 | isilo/python-tut.pdb \
|
---|
439 | isilo/python-dist.pdb \
|
---|
440 | isilo/python-inst.pdb \
|
---|
441 | isilo/python-whatsnew.pdb
|
---|
442 |
|
---|
443 | isilo/python-api.pdb: isilo/api/api.html isilo/api/api.css
|
---|
444 | $(MKISILO) "-iPython/C API Reference Manual" \
|
---|
445 | isilo/api/api.html $@
|
---|
446 |
|
---|
447 | isilo/python-doc.pdb: isilo/doc/doc.html isilo/doc/doc.css
|
---|
448 | $(MKISILO) "-iDocumenting Python" \
|
---|
449 | isilo/doc/doc.html $@
|
---|
450 |
|
---|
451 | isilo/python-ext.pdb: isilo/ext/ext.html isilo/ext/ext.css
|
---|
452 | $(MKISILO) "-iExtending & Embedding Python" \
|
---|
453 | isilo/ext/ext.html $@
|
---|
454 |
|
---|
455 | isilo/python-lib.pdb: isilo/lib/lib.html isilo/lib/lib.css
|
---|
456 | $(MKISILO) "-iPython Library Reference" \
|
---|
457 | isilo/lib/lib.html $@
|
---|
458 |
|
---|
459 | isilo/python-mac.pdb: isilo/mac/mac.html isilo/mac/mac.css
|
---|
460 | $(MKISILO) "-iPython/C API Reference Manual" \
|
---|
461 | isilo/mac/mac.html $@
|
---|
462 |
|
---|
463 | isilo/python-ref.pdb: isilo/ref/ref.html isilo/ref/ref.css
|
---|
464 | $(MKISILO) "-iPython Reference Manual" \
|
---|
465 | isilo/ref/ref.html $@
|
---|
466 |
|
---|
467 | isilo/python-tut.pdb: isilo/tut/tut.html isilo/tut/tut.css
|
---|
468 | $(MKISILO) "-iPython Tutorial" \
|
---|
469 | isilo/tut/tut.html $@
|
---|
470 |
|
---|
471 | isilo/python-dist.pdb: isilo/dist/dist.html isilo/dist/dist.css
|
---|
472 | $(MKISILO) "-iDistributing Python Modules" \
|
---|
473 | isilo/dist/dist.html $@
|
---|
474 |
|
---|
475 | isilo/python-inst.pdb: isilo/inst/inst.html isilo/inst/inst.css
|
---|
476 | $(MKISILO) "-iInstalling Python Modules" \
|
---|
477 | isilo/inst/inst.html $@
|
---|
478 |
|
---|
479 | isilo/python-whatsnew.pdb: isilo/whatsnew/$(WHATSNEW).html isilo/whatsnew/$(WHATSNEW).css
|
---|
480 | $(MKISILO) "-iWhat's New in Python X.Y" \
|
---|
481 | isilo/whatsnew/$(WHATSNEW).html $@
|
---|
482 |
|
---|
483 | isilo/api/api.html: $(APIFILES) api/refcounts.dat
|
---|
484 | $(MKISILOHTML) --dir isilo/api api/api.tex
|
---|
485 |
|
---|
486 | isilo/doc/doc.html: $(DOCFILES)
|
---|
487 | $(MKISILOHTML) --dir isilo/doc doc/doc.tex
|
---|
488 |
|
---|
489 | isilo/ext/ext.html: $(EXTFILES)
|
---|
490 | $(MKISILOHTML) --dir isilo/ext ext/ext.tex
|
---|
491 |
|
---|
492 | isilo/lib/lib.html: $(LIBFILES)
|
---|
493 | $(MKISILOHTML) --dir isilo/lib lib/lib.tex
|
---|
494 |
|
---|
495 | isilo/mac/mac.html: $(MACFILES)
|
---|
496 | $(MKISILOHTML) --dir isilo/mac mac/mac.tex
|
---|
497 |
|
---|
498 | isilo/ref/ref.html: $(REFFILES)
|
---|
499 | $(MKISILOHTML) --dir isilo/ref ref/ref.tex
|
---|
500 |
|
---|
501 | isilo/tut/tut.html: $(TUTFILES)
|
---|
502 | $(MKISILOHTML) --dir isilo/tut tut/tut.tex
|
---|
503 |
|
---|
504 | isilo/inst/inst.html: $(INSTFILES) perl/distutils.perl
|
---|
505 | $(MKISILOHTML) --dir isilo/inst inst/inst.tex
|
---|
506 |
|
---|
507 | isilo/dist/dist.html: $(DISTFILES) perl/distutils.perl
|
---|
508 | $(MKISILOHTML) --dir isilo/dist dist/dist.tex
|
---|
509 |
|
---|
510 | isilo/whatsnew/$(WHATSNEW).html: whatsnew/$(WHATSNEW).tex
|
---|
511 | $(MKISILOHTML) --dir isilo/whatsnew whatsnew/$(WHATSNEW).tex
|
---|
512 |
|
---|
513 | # These are useful if you need to transport the iSilo-ready HTML to
|
---|
514 | # another machine to perform the conversion:
|
---|
515 |
|
---|
516 | isilozip: isilo-html-$(RELEASE).zip
|
---|
517 |
|
---|
518 | isilo-html-$(RELEASE).zip: $(ISILOINDEXFILES)
|
---|
519 | rm -f $@
|
---|
520 | cd isilo && \
|
---|
521 | zip -q -9 ../$@ */*.css */*.html */*.txt
|
---|
522 |
|
---|
523 |
|
---|
524 | # webchecker needs an extra flag to process the huge index from the libref
|
---|
525 | WEBCHECKER=$(PYTHON) ../Tools/webchecker/webchecker.py
|
---|
526 | HTMLBASE= file:`pwd`/html
|
---|
527 |
|
---|
528 | webcheck: $(ALLHTMLFILES)
|
---|
529 | $(WEBCHECKER) $(HTMLBASE)/api/
|
---|
530 | $(WEBCHECKER) $(HTMLBASE)/doc/
|
---|
531 | $(WEBCHECKER) $(HTMLBASE)/ext/
|
---|
532 | $(WEBCHECKER) -m290000 $(HTMLBASE)/lib/
|
---|
533 | $(WEBCHECKER) $(HTMLBASE)/mac/
|
---|
534 | $(WEBCHECKER) $(HTMLBASE)/ref/
|
---|
535 | $(WEBCHECKER) $(HTMLBASE)/tut/
|
---|
536 | $(WEBCHECKER) $(HTMLBASE)/dist/
|
---|
537 | $(WEBCHECKER) $(HTMLBASE)/inst/
|
---|
538 | $(WEBCHECKER) $(HTMLBASE)/whatsnew/
|
---|
539 |
|
---|
540 | fastwebcheck: $(ALLHTMLFILES)
|
---|
541 | $(WEBCHECKER) -x $(HTMLBASE)/api/
|
---|
542 | $(WEBCHECKER) -x $(HTMLBASE)/doc/
|
---|
543 | $(WEBCHECKER) -x $(HTMLBASE)/ext/
|
---|
544 | $(WEBCHECKER) -x -m290000 $(HTMLBASE)/lib/
|
---|
545 | $(WEBCHECKER) -x $(HTMLBASE)/mac/
|
---|
546 | $(WEBCHECKER) -x $(HTMLBASE)/ref/
|
---|
547 | $(WEBCHECKER) -x $(HTMLBASE)/tut/
|
---|
548 | $(WEBCHECKER) -x $(HTMLBASE)/dist/
|
---|
549 | $(WEBCHECKER) -x $(HTMLBASE)/inst/
|
---|
550 | $(WEBCHECKER) -x $(HTMLBASE)/whatsnew/
|
---|
551 |
|
---|
552 |
|
---|
553 | # Release packaging targets:
|
---|
554 |
|
---|
555 | paper-$(PAPER)/README: $(PSFILES) $(TOOLSDIR)/getpagecounts
|
---|
556 | cd paper-$(PAPER) && ../$(TOOLSDIR)/getpagecounts -r $(RELEASE) >../$@
|
---|
557 |
|
---|
558 | info-$(RELEASE).tgz: info
|
---|
559 | cd $(INFODIR) && tar cf - README python.dir python-*.info* \
|
---|
560 | | gzip -9 >../$@
|
---|
561 |
|
---|
562 | info-$(RELEASE).tar.bz2: info
|
---|
563 | cd $(INFODIR) && tar cf - README python.dir python-*.info* \
|
---|
564 | | bzip2 -9 >../$@
|
---|
565 |
|
---|
566 | latex-$(RELEASE).tgz:
|
---|
567 | $(PYTHON) $(TOOLSDIR)/mksourcepkg --gzip $(RELEASE)
|
---|
568 |
|
---|
569 | latex-$(RELEASE).tar.bz2:
|
---|
570 | $(PYTHON) $(TOOLSDIR)/mksourcepkg --bzip2 $(RELEASE)
|
---|
571 |
|
---|
572 | latex-$(RELEASE).zip:
|
---|
573 | rm -f $@
|
---|
574 | $(PYTHON) $(TOOLSDIR)/mksourcepkg --zip $(RELEASE)
|
---|
575 |
|
---|
576 | pdf-$(PAPER)-$(RELEASE).tar: $(PDFFILES)
|
---|
577 | rm -f $@
|
---|
578 | mkdir Python-Docs-$(RELEASE)
|
---|
579 | cp paper-$(PAPER)/*.pdf Python-Docs-$(RELEASE)
|
---|
580 | tar cf $@ Python-Docs-$(RELEASE)
|
---|
581 | rm -r Python-Docs-$(RELEASE)
|
---|
582 |
|
---|
583 | pdf-$(PAPER)-$(RELEASE).tgz: pdf-$(PAPER)-$(RELEASE).tar
|
---|
584 | gzip -9 <$? >$@
|
---|
585 |
|
---|
586 | pdf-$(PAPER)-$(RELEASE).tar.bz2: pdf-$(PAPER)-$(RELEASE).tar
|
---|
587 | bzip2 -9 <$? >$@
|
---|
588 |
|
---|
589 | pdf-$(PAPER)-$(RELEASE).zip: pdf
|
---|
590 | rm -f $@
|
---|
591 | mkdir Python-Docs-$(RELEASE)
|
---|
592 | cp paper-$(PAPER)/*.pdf Python-Docs-$(RELEASE)
|
---|
593 | zip -q -r -9 $@ Python-Docs-$(RELEASE)
|
---|
594 | rm -r Python-Docs-$(RELEASE)
|
---|
595 |
|
---|
596 | postscript-$(PAPER)-$(RELEASE).tar: $(PSFILES) paper-$(PAPER)/README
|
---|
597 | rm -f $@
|
---|
598 | mkdir Python-Docs-$(RELEASE)
|
---|
599 | cp paper-$(PAPER)/*.ps Python-Docs-$(RELEASE)
|
---|
600 | cp paper-$(PAPER)/README Python-Docs-$(RELEASE)
|
---|
601 | tar cf $@ Python-Docs-$(RELEASE)
|
---|
602 | rm -r Python-Docs-$(RELEASE)
|
---|
603 |
|
---|
604 | postscript-$(PAPER)-$(RELEASE).tar.bz2: postscript-$(PAPER)-$(RELEASE).tar
|
---|
605 | bzip2 -9 <$< >$@
|
---|
606 |
|
---|
607 | postscript-$(PAPER)-$(RELEASE).tgz: postscript-$(PAPER)-$(RELEASE).tar
|
---|
608 | gzip -9 <$< >$@
|
---|
609 |
|
---|
610 | postscript-$(PAPER)-$(RELEASE).zip: $(PSFILES) paper-$(PAPER)/README
|
---|
611 | rm -f $@
|
---|
612 | mkdir Python-Docs-$(RELEASE)
|
---|
613 | cp paper-$(PAPER)/*.ps Python-Docs-$(RELEASE)
|
---|
614 | cp paper-$(PAPER)/README Python-Docs-$(RELEASE)
|
---|
615 | zip -q -r -9 $@ Python-Docs-$(RELEASE)
|
---|
616 | rm -r Python-Docs-$(RELEASE)
|
---|
617 |
|
---|
618 | HTMLPKGFILES=*.html */*.css */*.html */*.gif */*.png */*.txt
|
---|
619 |
|
---|
620 | html-$(RELEASE).tar: $(ALLHTMLFILES) $(HTMLCSSFILES)
|
---|
621 | mkdir Python-Docs-$(RELEASE)
|
---|
622 | -find html -name '*.gif' -size 0 | xargs rm -f
|
---|
623 | cd html && tar cf ../temp.tar $(HTMLPKGFILES)
|
---|
624 | cd Python-Docs-$(RELEASE) && tar xf ../temp.tar
|
---|
625 | rm temp.tar
|
---|
626 | tar cf html-$(RELEASE).tar Python-Docs-$(RELEASE)
|
---|
627 | rm -r Python-Docs-$(RELEASE)
|
---|
628 |
|
---|
629 | html-$(RELEASE).tgz: html-$(RELEASE).tar
|
---|
630 | gzip -9 <$? >$@
|
---|
631 |
|
---|
632 | html-$(RELEASE).tar.bz2: html-$(RELEASE).tar
|
---|
633 | bzip2 -9 <$? >$@
|
---|
634 |
|
---|
635 | html-$(RELEASE).zip: $(ALLHTMLFILES) $(HTMLCSSFILES)
|
---|
636 | rm -f $@
|
---|
637 | mkdir Python-Docs-$(RELEASE)
|
---|
638 | cd html && tar cf ../temp.tar $(HTMLPKGFILES)
|
---|
639 | cd Python-Docs-$(RELEASE) && tar xf ../temp.tar
|
---|
640 | rm temp.tar
|
---|
641 | zip -q -r -9 $@ Python-Docs-$(RELEASE)
|
---|
642 | rm -r Python-Docs-$(RELEASE)
|
---|
643 |
|
---|
644 | isilo-$(RELEASE).zip: isilo
|
---|
645 | rm -f $@
|
---|
646 | mkdir Python-Docs-$(RELEASE)
|
---|
647 | cp isilo/python-*.pdb Python-Docs-$(RELEASE)
|
---|
648 | zip -q -r -9 $@ Python-Docs-$(RELEASE)
|
---|
649 | rm -r Python-Docs-$(RELEASE)
|
---|
650 |
|
---|
651 |
|
---|
652 | # convenience targets:
|
---|
653 |
|
---|
654 | tarhtml: html-$(RELEASE).tgz
|
---|
655 | tarinfo: info-$(RELEASE).tgz
|
---|
656 | tarps: postscript-$(PAPER)-$(RELEASE).tgz
|
---|
657 | tarpdf: pdf-$(PAPER)-$(RELEASE).tgz
|
---|
658 | tarlatex: latex-$(RELEASE).tgz
|
---|
659 |
|
---|
660 | tarballs: tarpdf tarps tarhtml
|
---|
661 |
|
---|
662 | ziphtml: html-$(RELEASE).zip
|
---|
663 | zipps: postscript-$(PAPER)-$(RELEASE).zip
|
---|
664 | zippdf: pdf-$(PAPER)-$(RELEASE).zip
|
---|
665 | ziplatex: latex-$(RELEASE).zip
|
---|
666 | zipisilo: isilo-$(RELEASE).zip
|
---|
667 |
|
---|
668 | zips: zippdf zipps ziphtml
|
---|
669 |
|
---|
670 | bziphtml: html-$(RELEASE).tar.bz2
|
---|
671 | bzipinfo: info-$(RELEASE).tar.bz2
|
---|
672 | bzipps: postscript-$(PAPER)-$(RELEASE).tar.bz2
|
---|
673 | bzippdf: pdf-$(PAPER)-$(RELEASE).tar.bz2
|
---|
674 | bziplatex: latex-$(RELEASE).tar.bz2
|
---|
675 |
|
---|
676 | bzips: bzippdf bzipps bziphtml
|
---|
677 |
|
---|
678 | disthtml: bziphtml ziphtml
|
---|
679 | distinfo: bzipinfo
|
---|
680 | distps: bzipps zipps
|
---|
681 | distpdf: bzippdf zippdf
|
---|
682 | distlatex: bziplatex ziplatex
|
---|
683 |
|
---|
684 | # We use the "pkglist" target at the end of these to ensure the
|
---|
685 | # package list is updated after building either of these; this seems a
|
---|
686 | # reasonable compromise between only building it for distfiles or
|
---|
687 | # having to build it manually. Doing it here allows the packages for
|
---|
688 | # distribution to be built using either of
|
---|
689 | # make distfiles && make PAPER=a4 paperdist
|
---|
690 | # make paperdist && make PAPER=a4 distfiles
|
---|
691 | # The small amount of additional work is a small price to pay for not
|
---|
692 | # having to remember which order to do it in. ;)
|
---|
693 | paperdist: distpdf distps pkglist
|
---|
694 | edist: disthtml pkglist
|
---|
695 |
|
---|
696 | # The pkglist.html file is used as part of the download.html page on
|
---|
697 | # python.org; it is not used as intermediate input here or as part of
|
---|
698 | # the packages created.
|
---|
699 | pkglist:
|
---|
700 | $(TOOLSDIR)/mkpkglist >pkglist.html
|
---|
701 |
|
---|
702 | distfiles: paperdist edist
|
---|
703 | $(TOOLSDIR)/mksourcepkg --bzip2 --zip $(RELEASE)
|
---|
704 | $(TOOLSDIR)/mkpkglist >pkglist.html
|
---|
705 |
|
---|
706 |
|
---|
707 | # Housekeeping targets
|
---|
708 |
|
---|
709 | # Remove temporary files; all except the following:
|
---|
710 | # - sources: .tex, .bib, .sty, *.cls
|
---|
711 | # - useful results: .dvi, .pdf, .ps, .texi, .info
|
---|
712 | clean:
|
---|
713 | rm -f html-$(RELEASE).tar
|
---|
714 | cd $(INFODIR) && $(MAKE) clean
|
---|
715 |
|
---|
716 | # Remove temporaries as well as final products
|
---|
717 | clobber:
|
---|
718 | rm -f html-$(RELEASE).tar
|
---|
719 | rm -f html-$(RELEASE).tgz info-$(RELEASE).tgz
|
---|
720 | rm -f pdf-$(RELEASE).tgz postscript-$(RELEASE).tgz
|
---|
721 | rm -f latex-$(RELEASE).tgz html-$(RELEASE).zip
|
---|
722 | rm -f pdf-$(RELEASE).zip postscript-$(RELEASE).zip
|
---|
723 | rm -f $(DVIFILES) $(PSFILES) $(PDFFILES)
|
---|
724 | cd $(INFODIR) && $(MAKE) clobber
|
---|
725 | rm -f paper-$(PAPER)/*.tex paper-$(PAPER)/*.ind paper-$(PAPER)/*.idx
|
---|
726 | rm -f paper-$(PAPER)/*.l2h paper-$(PAPER)/*.how paper-$(PAPER)/README
|
---|
727 | rm -rf html/index.html html/modindex.html html/acks.html
|
---|
728 | rm -rf html/api/ html/doc/ html/ext/ html/lib/ html/mac/
|
---|
729 | rm -rf html/ref/ html/tut/ html/inst/ html/dist/
|
---|
730 | rm -rf html/whatsnew/
|
---|
731 | rm -rf isilo/api/ isilo/doc/ isilo/ext/ isilo/lib/ isilo/mac/
|
---|
732 | rm -rf isilo/ref/ isilo/tut/ isilo/inst/ isilo/dist/
|
---|
733 | rm -rf isilo/whatsnew/
|
---|
734 | rm -f isilo/python-*.pdb isilo-$(RELEASE).zip
|
---|
735 |
|
---|
736 | realclean distclean: clobber
|
---|