| # Makefile for Python documentation | 
 | # --------------------------------- | 
 | # | 
 | # See also the README file. | 
 | # | 
 | # This is a bit of a mess.  The documents are identified by short names: | 
 | #   api -- Python/C API Reference Manual | 
 | #   doc -- Documenting Python | 
 | #   ext -- Extending and Embedding the Python Interpreter | 
 | #   lib -- Library Reference Manual | 
 | #   mac -- Macintosh Library Modules | 
 | #   ref -- Python Reference Manual | 
 | #   tut -- Python Tutorial | 
 | #   inst -- Installing Python Modules | 
 | #   dist -- Distributing Python Modules | 
 | # | 
 | # The LaTeX sources for each of these documents are in subdirectories | 
 | # with the three-letter designations above as the directory names. | 
 | # | 
 | # The main target creates HTML for each of the documents.  You can | 
 | # also do "make lib" (etc.) to create the HTML versions of individual | 
 | # documents. | 
 | # | 
 | # The document classes and styles are in the texinputs/ directory. | 
 | # These define a number of macros that are similar in name and intent | 
 | # as macros in Texinfo (e.g. \code{...} and \emph{...}), as well as a | 
 | # number of environments for formatting function and data definitions. | 
 | # Documentation for the macros is included in "Documenting Python"; see | 
 | # http://www.python.org/doc/current/doc/doc.html, or the sources for | 
 | # this document in the doc/ directory. | 
 | # | 
 | # Everything is processed by LaTeX.  See the file `README' for more | 
 | # information on the tools needed for processing. | 
 | # | 
 | # There's a problem with generating the index which has been solved by | 
 | # a sed command applied to the index file.  The shell script fix_hack | 
 | # does this (the Makefile takes care of calling it). | 
 | # | 
 | # Additional targets attempt to convert selected LaTeX sources to | 
 | # various other formats.  These are generally site specific because | 
 | # the tools used are all but universal.  These targets are: | 
 | # | 
 | #   ps  -- convert all documents from LaTeX to PostScript | 
 | #   pdf -- convert all documents from LaTeX to the | 
 | #		Portable Document Format | 
 | # | 
 | # See the README file for more information on these targets. | 
 | # | 
 | # The formatted output is located in subdirectories.  For PDF and | 
 | # PostScript, look in the paper-$(PAPER)/ directory.  For HTML, look in | 
 | # the html/ directory.  If you want to fix the GNU info process, look | 
 | # in the info/ directory; please send patches to python-docs@python.org. | 
 |  | 
 | # This Makefile only includes information on how to perform builds; for | 
 | # dependency information, see Makefile.deps. | 
 |  | 
 | # Customization -- you *may* have to edit this | 
 |  | 
 | # You could set this to a4: | 
 | PAPER=letter | 
 |  | 
 | # Ideally, you shouldn't need to edit beyond this point | 
 |  | 
 | INFODIR=	info | 
 | TOOLSDIR=	tools | 
 |  | 
 | # This is the *documentation* release, and is used to construct the file | 
 | # names of the downloadable tarballs. | 
 | RELEASE=2.2b1 | 
 |  | 
 | PYTHON=	   python | 
 | DVIPS=	   dvips -N0 -t $(PAPER) | 
 |  | 
 | MKDVI=	   $(PYTHON) ../tools/mkhowto --paper=$(PAPER) --dvi | 
 | MKHTML=	   $(PYTHON) tools/mkhowto --html --about html/stdabout.dat \ | 
 | 		--address $(PYTHONDOCS) --up-link ../index.html \ | 
 | 		--up-title "Python Documentation Index" \ | 
 | 		--global-module-index "../modindex.html" | 
 | MKISILOHTML=$(PYTHON) tools/mkhowto --html --about html/stdabout.dat \ | 
 | 		--l2h-init perl/isilo.perl --numeric --split 1 | 
 | MKISILO=   iSilo386 -U -y -rCR -d0 | 
 | MKPDF=	   $(PYTHON) ../tools/mkhowto --paper=$(PAPER) --pdf | 
 | MKPS=	   $(PYTHON) ../tools/mkhowto --paper=$(PAPER) --ps | 
 |  | 
 | BUILDINDEX=$(TOOLSDIR)/buildindex.py | 
 |  | 
 | PYTHONDOCS="See <i><a href=\"about.html\">About this document...</a></i> for information on suggesting changes." | 
 | HTMLBASE=  file:`pwd` | 
 |  | 
 | # what's what | 
 | MANDVIFILES=	paper-$(PAPER)/api.dvi paper-$(PAPER)/ext.dvi \ | 
 | 		paper-$(PAPER)/lib.dvi paper-$(PAPER)/mac.dvi \ | 
 | 		paper-$(PAPER)/ref.dvi paper-$(PAPER)/tut.dvi | 
 | HOWTODVIFILES=	paper-$(PAPER)/doc.dvi paper-$(PAPER)/inst.dvi \ | 
 | 		paper-$(PAPER)/dist.dvi | 
 |  | 
 | MANPDFFILES=	paper-$(PAPER)/api.pdf paper-$(PAPER)/ext.pdf \ | 
 | 		paper-$(PAPER)/lib.pdf paper-$(PAPER)/mac.pdf \ | 
 | 		paper-$(PAPER)/ref.pdf paper-$(PAPER)/tut.pdf | 
 | HOWTOPDFFILES=	paper-$(PAPER)/doc.pdf paper-$(PAPER)/inst.pdf \ | 
 | 		paper-$(PAPER)/dist.pdf | 
 |  | 
 | MANPSFILES=	paper-$(PAPER)/api.ps paper-$(PAPER)/ext.ps \ | 
 | 		paper-$(PAPER)/lib.ps paper-$(PAPER)/mac.ps \ | 
 | 		paper-$(PAPER)/ref.ps paper-$(PAPER)/tut.ps | 
 | HOWTOPSFILES=	paper-$(PAPER)/doc.ps paper-$(PAPER)/inst.ps \ | 
 | 		paper-$(PAPER)/dist.ps | 
 |  | 
 | DVIFILES=	$(MANDVIFILES) $(HOWTODVIFILES) | 
 | PDFFILES=	$(MANPDFFILES) $(HOWTOPDFFILES) | 
 | PSFILES=	$(MANPSFILES) $(HOWTOPSFILES) | 
 |  | 
 | HTMLCSSFILES=html/api/api.css \ | 
 | 	html/doc/doc.css \ | 
 | 	html/ext/ext.css \ | 
 | 	html/lib/lib.css \ | 
 | 	html/mac/mac.css \ | 
 | 	html/ref/ref.css \ | 
 | 	html/tut/tut.css \ | 
 | 	html/inst/inst.css \ | 
 | 	html/dist/dist.css | 
 |  | 
 | ISILOCSSFILES=isilo/api/api.css \ | 
 | 	isilo/doc/doc.css \ | 
 | 	isilo/ext/ext.css \ | 
 | 	isilo/lib/lib.css \ | 
 | 	isilo/mac/mac.css \ | 
 | 	isilo/ref/ref.css \ | 
 | 	isilo/tut/tut.css \ | 
 | 	isilo/inst/inst.css \ | 
 | 	isilo/dist/dist.css | 
 |  | 
 | ALLCSSFILES=$(HTMLCSSFILES) $(ISILOCSSFILES) | 
 |  | 
 | INDEXFILES=html/api/api.html \ | 
 | 	html/doc/doc.html \ | 
 | 	html/ext/ext.html \ | 
 | 	html/lib/lib.html \ | 
 | 	html/mac/mac.html \ | 
 | 	html/ref/ref.html \ | 
 | 	html/tut/tut.html \ | 
 | 	html/inst/inst.html \ | 
 | 	html/dist/dist.html | 
 |  | 
 | ALLHTMLFILES=$(INDEXFILES) html/index.html html/modindex.html html/acks.html | 
 |  | 
 | COMMONPERL= perl/manual.perl perl/python.perl perl/l2hinit.perl | 
 |  | 
 | include Makefile.deps | 
 |  | 
 | # These must be declared phony since there | 
 | # are directories with matching names: | 
 | .PHONY: api doc ext lib mac ref tut inst dist | 
 | .PHONY: html info isilo | 
 |  | 
 |  | 
 | # Main target | 
 | all:	html | 
 |  | 
 | dvi:	$(DVIFILES) | 
 | pdf:	$(PDFFILES) | 
 | ps:	$(PSFILES) | 
 |  | 
 | world:	ps pdf html distfiles | 
 |  | 
 |  | 
 | # Rules to build PostScript and PDF formats | 
 | .SUFFIXES: .dvi .ps | 
 |  | 
 | .dvi.ps: | 
 | 	$(DVIPS) -o $@ $< | 
 |  | 
 |  | 
 | # Targets for each document: | 
 | # Python/C API Reference Manual | 
 | paper-$(PAPER)/api.dvi: paper-$(PAPER)/api.tex $(APIFILES) | 
 | 	cd paper-$(PAPER) && $(MKDVI) api.tex | 
 |  | 
 | paper-$(PAPER)/api.pdf: paper-$(PAPER)/api.tex $(APIFILES) | 
 | 	cd paper-$(PAPER) && $(MKPDF) api.tex | 
 |  | 
 | paper-$(PAPER)/api.tex: api/api.tex api/refcounts.dat tools/anno-api.py | 
 | 	$(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/api.tex | 
 |  | 
 | # Distributing Python Modules | 
 | paper-$(PAPER)/dist.dvi: $(DISTFILES) | 
 | 	cd paper-$(PAPER) && $(MKDVI) ../dist/dist.tex | 
 |  | 
 | paper-$(PAPER)/dist.pdf: $(DISTFILES) | 
 | 	cd paper-$(PAPER) && $(MKPDF) ../dist/dist.tex | 
 |  | 
 | # Documenting Python | 
 | paper-$(PAPER)/doc.dvi: $(DOCFILES) | 
 | 	cd paper-$(PAPER) && $(MKDVI) ../doc/doc.tex | 
 |  | 
 | paper-$(PAPER)/doc.pdf: $(DOCFILES) | 
 | 	cd paper-$(PAPER) && $(MKPDF) ../doc/doc.tex | 
 |  | 
 | # Extending and Embedding the Python Interpreter | 
 | paper-$(PAPER)/ext.dvi: $(EXTFILES) | 
 | 	cd paper-$(PAPER) && $(MKDVI) ../ext/ext.tex | 
 |  | 
 | paper-$(PAPER)/ext.pdf: $(EXTFILES) | 
 | 	cd paper-$(PAPER) && $(MKPDF) ../ext/ext.tex | 
 |  | 
 | # Installing Python Modules | 
 | paper-$(PAPER)/inst.dvi: $(INSTFILES) | 
 | 	cd paper-$(PAPER) && $(MKDVI) ../inst/inst.tex | 
 |  | 
 | paper-$(PAPER)/inst.pdf: $(INSTFILES) | 
 | 	cd paper-$(PAPER) && $(MKPDF) ../inst/inst.tex | 
 |  | 
 | # Python Library Reference | 
 | paper-$(PAPER)/lib.dvi: $(LIBFILES) | 
 | 	cd paper-$(PAPER) && $(MKDVI) ../lib/lib.tex | 
 |  | 
 | paper-$(PAPER)/lib.pdf: $(LIBFILES) | 
 | 	cd paper-$(PAPER) && $(MKPDF) ../lib/lib.tex | 
 |  | 
 | # Macintosh Library Modules | 
 | paper-$(PAPER)/mac.dvi: $(MACFILES) | 
 | 	cd paper-$(PAPER) && $(MKDVI) ../mac/mac.tex | 
 |  | 
 | paper-$(PAPER)/mac.pdf: $(MACFILES) | 
 | 	cd paper-$(PAPER) && $(MKPDF) ../mac/mac.tex | 
 |  | 
 | # Python Reference Manual | 
 | paper-$(PAPER)/ref.dvi: $(REFFILES) | 
 | 	cd paper-$(PAPER) && $(MKDVI) ../ref/ref.tex | 
 |  | 
 | paper-$(PAPER)/ref.pdf: $(REFFILES) | 
 | 	cd paper-$(PAPER) && $(MKPDF) ../ref/ref.tex | 
 |  | 
 | # Python Tutorial | 
 | paper-$(PAPER)/tut.dvi: $(TUTFILES) | 
 | 	cd paper-$(PAPER) && $(MKDVI) ../tut/tut.tex | 
 |  | 
 | paper-$(PAPER)/tut.pdf: $(TUTFILES) | 
 | 	cd paper-$(PAPER) && $(MKPDF) ../tut/tut.tex | 
 |  | 
 | # The remaining part of the Makefile is concerned with various | 
 | # conversions, as described above.  See also the README file. | 
 |  | 
 | info: | 
 | 	cd $(INFODIR) && $(MAKE) | 
 |  | 
 | # Targets to convert the manuals to HTML using Nikos Drakos' LaTeX to | 
 | # HTML converter.  For more info on this program, see | 
 | # <URL:http://cbl.leeds.ac.uk/nikos/tex2html/doc/latex2html/latex2html.html>. | 
 |  | 
 | # Note that LaTeX2HTML inserts references to an icons directory in | 
 | # each page that it generates.  I have placed a copy of this directory | 
 | # in the distribution to simplify the process of creating a | 
 | # self-contained HTML distribution; for this purpose I have also added | 
 | # a (trivial) index.html.  Change the definition of $ICONSERVER in | 
 | # perl/l2hinit.perl to use a different location for the icons directory. | 
 |  | 
 | # If you have the standard LaTeX2HTML icons installed, the versions shipped | 
 | # with this documentation should be stored in a separate directory and used | 
 | # instead.  The standard set does *not* include all the icons used in the | 
 | # Python documentation. | 
 |  | 
 | $(ALLCSSFILES): html/style.css | 
 | 	cp $< $@ | 
 |  | 
 | $(INDEXFILES): $(COMMONPERL) html/about.dat tools/node2label.pl | 
 |  | 
 | html/acks.html: ACKS $(TOOLSDIR)/support.py $(TOOLSDIR)/mkackshtml | 
 | 	$(PYTHON) $(TOOLSDIR)/mkackshtml --address $(PYTHONDOCS) \ | 
 | 		--output html/acks.html <ACKS | 
 |  | 
 |  | 
 | # html/index.html is dependent on $(INDEXFILES) since we want the date | 
 | # on the front index to be updated whenever any of the child documents | 
 | # are updated and boilerplate.tex uses \today as the date.  The index | 
 | # files are not used to actually generate content. | 
 |  | 
 | BOILERPLATE=texinputs/boilerplate.tex | 
 | html/index.html: $(INDEXFILES) | 
 | html/index.html: html/index.html.in $(BOILERPLATE) tools/rewrite.py | 
 | 	$(PYTHON) tools/rewrite.py $(BOILERPLATE) RELEASE=$(RELEASE) \ | 
 | 		<$< >$@ | 
 |  | 
 | html/modindex.html: $(TOOLSDIR)/support.py $(TOOLSDIR)/mkmodindex | 
 | html/modindex.html: html/lib/lib.html html/mac/mac.html | 
 | 	cd html && \ | 
 | 	 $(PYTHON) ../$(TOOLSDIR)/mkmodindex --columns 4 \ | 
 | 		--output modindex.html --address $(PYTHONDOCS) \ | 
 | 		lib/modindex.html mac/modindex.html | 
 |  | 
 | html:	$(ALLHTMLFILES) $(HTMLCSSFILES) | 
 |  | 
 | api: html/api/api.html html/api/api.css | 
 | html/api/api.html: $(APIFILES) | 
 | 	$(MKHTML) --dir html/api api/api.tex | 
 |  | 
 | doc: html/doc/doc.html html/doc/doc.css | 
 | html/doc/doc.html: $(DOCFILES) | 
 | 	$(MKHTML) --dir html/doc doc/doc.tex | 
 |  | 
 | ext: html/ext/ext.html html/ext/ext.css | 
 | html/ext/ext.html: $(EXTFILES) | 
 | 	$(MKHTML) --dir html/ext ext/ext.tex | 
 |  | 
 | lib: html/lib/lib.html html/lib/lib.css | 
 | html/lib/lib.html: $(LIBFILES) | 
 | 	$(MKHTML) --dir html/lib lib/lib.tex | 
 |  | 
 | mac: html/mac/mac.html html/mac/mac.css | 
 | html/mac/mac.html: $(MACFILES) | 
 | 	$(MKHTML) --dir html/mac mac/mac.tex | 
 |  | 
 | ref: html/ref/ref.html html/ref/ref.css | 
 | html/ref/ref.html: $(REFFILES) | 
 | 	$(MKHTML) --dir html/ref ref/ref.tex | 
 |  | 
 | tut: html/tut/tut.html html/tut/tut.css | 
 | html/tut/tut.html: $(TUTFILES) | 
 | 	$(MKHTML) --dir html/tut --numeric --split 3 tut/tut.tex | 
 |  | 
 | inst: html/inst/inst.html html/inst/inst.css | 
 | html/inst/inst.html: $(INSTFILES) perl/distutils.perl | 
 | 	$(MKHTML) --dir html/inst --split 4 inst/inst.tex | 
 |  | 
 | dist: html/dist/dist.html html/dist/dist.css | 
 | html/dist/dist.html: $(DISTFILES) perl/distutils.perl | 
 | 	$(MKHTML) --dir html/dist --split 4 dist/dist.tex | 
 |  | 
 |  | 
 | # The iSilo format is used by the iSilo document reader for PalmOS devices. | 
 |  | 
 | ISILOINDEXFILES=isilo/api/api.html \ | 
 | 	isilo/doc/doc.html \ | 
 | 	isilo/ext/ext.html \ | 
 | 	isilo/lib/lib.html \ | 
 | 	isilo/mac/mac.html \ | 
 | 	isilo/ref/ref.html \ | 
 | 	isilo/tut/tut.html \ | 
 | 	isilo/inst/inst.html \ | 
 | 	isilo/dist/dist.html | 
 |  | 
 | $(ISILOINDEXFILES): $(COMMONPERL) html/about.dat perl/isilo.perl | 
 |  | 
 | isilo:	isilo/python-api-$(RELEASE).pdb \ | 
 | 	isilo/python-doc-$(RELEASE).pdb \ | 
 | 	isilo/python-ext-$(RELEASE).pdb \ | 
 | 	isilo/python-lib-$(RELEASE).pdb \ | 
 | 	isilo/python-mac-$(RELEASE).pdb \ | 
 | 	isilo/python-ref-$(RELEASE).pdb \ | 
 | 	isilo/python-tut-$(RELEASE).pdb \ | 
 | 	isilo/python-dist-$(RELEASE).pdb \ | 
 | 	isilo/python-inst-$(RELEASE).pdb | 
 |  | 
 | isilo/python-api-$(RELEASE).pdb: isilo/api/api.html isilo/api/api.css | 
 | 	$(MKISILO) "-iPython/C API Reference Manual" \ | 
 | 		isilo/api/api.html $@ | 
 |  | 
 | isilo/python-doc-$(RELEASE).pdb: isilo/doc/doc.html isilo/doc/doc.css | 
 | 	$(MKISILO) "-iDocumenting Python" \ | 
 | 		isilo/doc/doc.html $@ | 
 |  | 
 | isilo/python-ext-$(RELEASE).pdb: isilo/ext/ext.html isilo/ext/ext.css | 
 | 	$(MKISILO) "-iExtending & Embedding Python" \ | 
 | 		isilo/ext/ext.html $@ | 
 |  | 
 | isilo/python-lib-$(RELEASE).pdb: isilo/lib/lib.html isilo/lib/lib.css | 
 | 	$(MKISILO) "-iPython Library Reference" \ | 
 | 		isilo/lib/lib.html $@ | 
 |  | 
 | isilo/python-mac-$(RELEASE).pdb: isilo/mac/mac.html isilo/mac/mac.css | 
 | 	$(MKISILO) "-iPython/C API Reference Manual" \ | 
 | 		isilo/mac/mac.html $@ | 
 |  | 
 | isilo/python-ref-$(RELEASE).pdb: isilo/ref/ref.html isilo/ref/ref.css | 
 | 	$(MKISILO) "-iPython Reference Manual" \ | 
 | 		isilo/ref/ref.html $@ | 
 |  | 
 | isilo/python-tut-$(RELEASE).pdb: isilo/tut/tut.html isilo/tut/tut.css | 
 | 	$(MKISILO) "-iPython Tutorial" \ | 
 | 		isilo/tut/tut.html $@ | 
 |  | 
 | isilo/python-dist-$(RELEASE).pdb: isilo/dist/dist.html isilo/dist/dist.css | 
 | 	$(MKISILO) "-iDistributing Python Modules" \ | 
 | 		isilo/dist/dist.html $@ | 
 |  | 
 | isilo/python-inst-$(RELEASE).pdb: isilo/inst/inst.html isilo/inst/inst.css | 
 | 	$(MKISILO) "-iInstalling Python Modules" \ | 
 | 		isilo/inst/inst.html $@ | 
 |  | 
 | isilo/api/api.html: $(APIFILES) | 
 | 	$(MKISILOHTML) --dir isilo/api api/api.tex | 
 |  | 
 | isilo/doc/doc.html: $(DOCFILES) | 
 | 	$(MKISILOHTML) --dir isilo/doc doc/doc.tex | 
 |  | 
 | isilo/ext/ext.html: $(EXTFILES) | 
 | 	$(MKISILOHTML) --dir isilo/ext ext/ext.tex | 
 |  | 
 | isilo/lib/lib.html: $(LIBFILES) | 
 | 	$(MKISILOHTML) --dir isilo/lib lib/lib.tex | 
 |  | 
 | isilo/mac/mac.html: $(MACFILES) | 
 | 	$(MKISILOHTML) --dir isilo/mac mac/mac.tex | 
 |  | 
 | isilo/ref/ref.html: $(REFFILES) | 
 | 	$(MKISILOHTML) --dir isilo/ref ref/ref.tex | 
 |  | 
 | isilo/tut/tut.html: $(TUTFILES) | 
 | 	$(MKISILOHTML) --dir isilo/tut tut/tut.tex | 
 |  | 
 | isilo/inst/inst.html: $(INSTFILES) perl/distutils.perl | 
 | 	$(MKISILOHTML) --dir isilo/inst inst/inst.tex | 
 |  | 
 | isilo/dist/dist.html: $(DISTFILES) perl/distutils.perl | 
 | 	$(MKISILOHTML) --dir isilo/dist dist/dist.tex | 
 |  | 
 | # These are useful if you need to transport the iSilo-ready HTML to | 
 | # another machine to perform the conversion: | 
 |  | 
 | isilozip:  isilo-html-$(RELEASE).zip | 
 |  | 
 | isilo-html-$(RELEASE).zip:	$(ISILOINDEXFILES) | 
 | 	rm -f $@ | 
 | 	cd isilo && \ | 
 | 		zip -q -9 ../$@ */*.css */*.html */*.txt | 
 |  | 
 |  | 
 | # webchecker needs an extra flag to process the huge index from the libref | 
 | WEBCHECKER=$(PYTHON) ../Tools/webchecker/webchecker.py | 
 | HTMLBASE=  file:`pwd`/html | 
 |  | 
 | webcheck: $(ALLHTMLFILES) | 
 | 	$(WEBCHECKER) $(HTMLBASE)/api/ | 
 | 	$(WEBCHECKER) $(HTMLBASE)/doc/ | 
 | 	$(WEBCHECKER) $(HTMLBASE)/ext/ | 
 | 	$(WEBCHECKER) -m290000 $(HTMLBASE)/lib/ | 
 | 	$(WEBCHECKER) $(HTMLBASE)/mac/ | 
 | 	$(WEBCHECKER) $(HTMLBASE)/ref/ | 
 | 	$(WEBCHECKER) $(HTMLBASE)/tut/ | 
 | 	$(WEBCHECKER) $(HTMLBASE)/dist/ | 
 | 	$(WEBCHECKER) $(HTMLBASE)/inst/ | 
 |  | 
 | fastwebcheck: $(ALLHTMLFILES) | 
 | 	$(WEBCHECKER) -x $(HTMLBASE)/api/ | 
 | 	$(WEBCHECKER) -x $(HTMLBASE)/doc/ | 
 | 	$(WEBCHECKER) -x $(HTMLBASE)/ext/ | 
 | 	$(WEBCHECKER) -x -m290000 $(HTMLBASE)/lib/ | 
 | 	$(WEBCHECKER) -x $(HTMLBASE)/mac/ | 
 | 	$(WEBCHECKER) -x $(HTMLBASE)/ref/ | 
 | 	$(WEBCHECKER) -x $(HTMLBASE)/tut/ | 
 | 	$(WEBCHECKER) -x $(HTMLBASE)/dist/ | 
 | 	$(WEBCHECKER) -x $(HTMLBASE)/inst/ | 
 |  | 
 |  | 
 | # Release packaging targets: | 
 |  | 
 | paper-$(PAPER)/README: $(PSFILES) $(TOOLSDIR)/getpagecounts | 
 | 	cd paper-$(PAPER) && ../$(TOOLSDIR)/getpagecounts >../$@ | 
 |  | 
 | info-$(RELEASE).tgz: info | 
 | 	cd $(INFODIR) && tar cf - README python.dir python-*.info* \ | 
 | 		| gzip -9 >$@ | 
 |  | 
 | info-$(RELEASE).tar.bz2: info | 
 | 	cd $(INFODIR) && tar cf - README python.dir python-*.info* \ | 
 | 		| bzip2 -9 >$@ | 
 |  | 
 | latex-$(RELEASE).tgz: | 
 | 	$(PYTHON) $(TOOLSDIR)/mksourcepkg --gzip $(RELEASE) | 
 |  | 
 | latex-$(RELEASE).tar.bz2: | 
 | 	$(PYTHON) $(TOOLSDIR)/mksourcepkg --bzip2 $(RELEASE) | 
 |  | 
 | latex-$(RELEASE).zip: | 
 | 	rm -f $@ | 
 | 	$(PYTHON) $(TOOLSDIR)/mksourcepkg --zip $(RELEASE) | 
 |  | 
 | pdf-$(PAPER)-$(RELEASE).tar: $(PDFFILES) | 
 | 	cd paper-$(PAPER) && tar cf ../$@ *.pdf | 
 |  | 
 | pdf-$(PAPER)-$(RELEASE).tgz: pdf-$(PAPER)-$(RELEASE).tar | 
 | 	gzip -9 <$? >$@ | 
 |  | 
 | pdf-$(PAPER)-$(RELEASE).tar.bz2: pdf-$(PAPER)-$(RELEASE).tar | 
 | 	bzip2 -9 <$? >$@ | 
 |  | 
 | pdf-$(PAPER)-$(RELEASE).zip: pdf | 
 | 	rm -f $@ | 
 | 	cd paper-$(PAPER) && zip -q -9 ../$@ *.pdf | 
 |  | 
 | postscript-$(PAPER)-$(RELEASE).tar: $(PSFILES) paper-$(PAPER)/README | 
 | 	cd paper-$(PAPER) && tar cf ../$@ *.ps README | 
 |  | 
 | postscript-$(PAPER)-$(RELEASE).tar.bz2: postscript-$(PAPER)-$(RELEASE).tar | 
 | 	bzip2 -9 <$< >$@ | 
 |  | 
 | postscript-$(PAPER)-$(RELEASE).tgz: postscript-$(PAPER)-$(RELEASE).tar | 
 | 	gzip -9 <$< >$@ | 
 |  | 
 | postscript-$(PAPER)-$(RELEASE).zip: $(PSFILES) paper-$(PAPER)/README | 
 | 	rm -f $@ | 
 | 	cd paper-$(PAPER) && zip -q -9 ../$@ *.ps README | 
 |  | 
 | html-$(RELEASE).tar:	$(ALLHTMLFILES) $(HTMLCSSFILES) | 
 | 	cd html && \ | 
 | 		tar cf ../html-$(RELEASE).tar *.html */*.css */*.html \ | 
 | 					      */*.gif */*.txt | 
 |  | 
 | html-$(RELEASE).tgz:	html-$(RELEASE).tar | 
 | 	gzip -9 <$? >$@ | 
 |  | 
 | html-$(RELEASE).tar.bz2: html-$(RELEASE).tar | 
 | 	bzip2 -9 <$? >$@ | 
 |  | 
 | html-$(RELEASE).zip:	$(ALLHTMLFILES) $(HTMLCSSFILES) | 
 | 	rm -f $@ | 
 | 	cd html && \ | 
 | 		zip -q -9 ../$@ *.html */*.css */*.html */*.gif */*.txt | 
 |  | 
 | isilo-$(RELEASE).zip:	isilo | 
 | 	cd isilo && zip -q -9 ../$@ python-*-$(RELEASE).pdb | 
 |  | 
 |  | 
 | # convenience targets: | 
 |  | 
 | tarhtml:	html-$(RELEASE).tgz | 
 | tarinfo:	info-$(RELEASE).tgz | 
 | tarps:		postscript-$(PAPER)-$(RELEASE).tgz | 
 | tarpdf:		pdf-$(PAPER)-$(RELEASE).tgz | 
 | tarlatex:	latex-$(RELEASE).tgz | 
 |  | 
 | tarballs:	tarpdf tarps tarhtml | 
 |  | 
 | ziphtml:	html-$(RELEASE).zip | 
 | zipps:		postscript-$(PAPER)-$(RELEASE).zip | 
 | zippdf:		pdf-$(PAPER)-$(RELEASE).zip | 
 | ziplatex:	latex-$(RELEASE).zip | 
 | zipisilo:	isilo-$(RELEASE).zip | 
 |  | 
 | zips:		zippdf zipps ziphtml | 
 |  | 
 | bziphtml:	html-$(RELEASE).tar.bz2 | 
 | bzipinfo:	info-$(RELEASE).tar.bz2 | 
 | bzipps:		postscript-$(PAPER)-$(RELEASE).tar.bz2 | 
 | bzippdf:	pdf-$(PAPER)-$(RELEASE).tar.bz2 | 
 | bziplatex:	latex-$(RELEASE).tar.bz2 | 
 |  | 
 | bzips:		bzippdf bzipps bziphtml | 
 |  | 
 | disthtml:	tarhtml bziphtml ziphtml | 
 | distinfo:	tarinfo bzipinfo | 
 | distps:		tarps bzipps zipps | 
 | distpdf:	tarpdf bzippdf zippdf | 
 | distlatex:	tarlatex bziplatex ziplatex | 
 |  | 
 | paperdist:	distpdf distps | 
 | edist:		disthtml | 
 |  | 
 | distfiles:	paperdist edist | 
 | 	$(TOOLSDIR)/mksourcepkg --all $(RELEASE) | 
 |  | 
 |  | 
 | # Housekeeping targets | 
 |  | 
 | # Remove temporary files; all except the following: | 
 | # - sources: .tex, .bib, .sty, *.cls | 
 | # - useful results: .dvi, .pdf, .ps, .texi, .info | 
 | clean: | 
 | 	rm -f html-$(RELEASE).tar | 
 | 	cd $(INFODIR) && $(MAKE) clean | 
 |  | 
 | # Remove temporaries as well as final products | 
 | clobber: | 
 | 	rm -f html-$(RELEASE).tar | 
 | 	rm -f html-$(RELEASE).tgz info-$(RELEASE).tgz | 
 | 	rm -f pdf-$(RELEASE).tgz postscript-$(RELEASE).tgz | 
 | 	rm -f latex-$(RELEASE).tgz html-$(RELEASE).zip | 
 | 	rm -f pdf-$(RELEASE).zip postscript-$(RELEASE).zip | 
 | 	rm -f $(DVIFILES) $(PSFILES) $(PDFFILES) | 
 | 	cd $(INFODIR) && $(MAKE) clobber | 
 | 	rm -rf html/index.html html/modindex.html html/acks.html | 
 | 	rm -rf html/api/ html/doc/ html/ext/ html/lib/ html/mac/ | 
 | 	rm -rf html/ref/ html/tut/ html/inst/ html/dist/ | 
 | 	rm -rf isilo/api/ isilo/doc/ isilo/ext/ isilo/lib/ isilo/mac/ | 
 | 	rm -rf isilo/ref/ isilo/tut/ isilo/inst/ isilo/dist/ | 
 | 	rm -f isilo/python-*-$(RELEASE).pdb isilo-$(RELEASE).zip | 
 |  | 
 | realclean distclean:  clobber |