1 # Makefile for Python documentation
2 # ---------------------------------
4 # See also the README file.
6 # This is a bit of a mess. The main documents are:
7 # tut -- Tutorial (file tut.tex)
8 # lib -- Library Reference (file lib.tex, inputs lib*.tex)
9 # ref -- Language Reference (file ref.tex, inputs ref*.tex)
10 # ext -- Extending and Embedding (file ext.tex)
12 # The main target "make all" creates DVI and PostScript for these
13 # four. You can also do "make lib" (etc.) to process individual
17 # qua -- Paper published in the CWI Quarterly (file qua.tex)
19 # There's one local style file: myformat.sty. This defines a number
20 # of macros that are similar in name and intent as macros in Texinfo
21 # (e.g. \code{...} and \emph{...}), as well as a number of
22 # environments for formatting function and data definitions, also in
23 # the style of Texinfo.
25 # Everything is processed by LaTeX. The following tools are used:
29 # bibtex (only for formatting qua.tex)
31 # There's a problem with generating the index which has been solved by
32 # a sed command applied to the index file. The shell script fix_hack
33 # does this (the Makefile takes care of calling it).
35 # To preview the dvi files produced by LaTeX it would be useful to
38 # Additional targets attempt to convert selected LaTeX sources to
39 # various other formats. These are generally site specific because
40 # the tools used are all but universal. These targets are:
41 # l2h -- convert tut, ref, ext (but not lib!) from LaTeX to HTML
42 # lib.texi -- convert lib from LaTeX to Texinfo
43 # lib.info -- convert lib from Texinfo to Emacs INFO
44 # libwww -- convert lib from Texinfo to HTML
45 # See the README file for more info on these targets.
47 # Customizations -- you *may* have to edit these
49 # Where are the various programs?
57 L2H
= /ufs
/guido
/l2h
/latex2html
58 L2HARGS
= -address
$$USER@
`domainname` -dont_include myformat
60 # Install destination -- not used now but might be useful some time...
62 LIBDESTDIR
= $DESTDIR/lib
63 LIBDEST
= $LIBDESTDIR/python
64 DOCDESTDIR
= $LIBDEST/doc
66 # Ideally, you shouldn't need to edit beyond this point
69 all: tut.
dvi lib.
dvi ref.
dvi ext.
dvi
71 # Individual document fake targets
77 # CWI Quarterly document fake target
81 tut.
dvi lib.
dvi ref.
dvi ext.
dvi: myformat.sty fix_hack
90 ref.
dvi: ref.
tex ref1.
tex ref2.
tex ref3.
tex ref4.
tex ref5.
tex ref6.
tex \
99 # LaTeX source files for the Python Library Reference
101 libal.
tex libaifc.
tex liballos.
tex \
102 libamoeba.
tex libarray.
tex libaudio.
tex libaudioop.
tex \
103 libbltin.
tex libbinascii.
tex \
105 libcgi.
tex libcopy.
tex libctb.
tex libcrypto.
tex \
108 libfcntl.
tex libfl.
tex libfm.
tex libftplib.
tex libfuncs.
tex \
109 libgdbm.
tex libgetopt.
tex libgl.
tex libgopherlib.
tex libgrp.
tex \
110 libhtmllib.
tex libhttplib.
tex \
111 libimageop.
tex libimgfile.
tex libintro.
tex \
113 libmac.
tex libmacconsole.
tex libmacdnr.
tex \
114 libmacfs.
tex libmacos.
tex libmacostools.
tex libmactcp.
tex \
115 libmacspeech.
tex libmacui.
tex \
116 libmain.
tex libmarshal.
tex libmath.
tex \
117 libmd5.
tex libmimetools.
tex libmisc.
tex \
118 libmm.
tex libmpz.
tex \
120 libobjs.
tex libos.
tex \
121 libpanel.
tex libparser.
tex libpickle.
tex libposix.
tex libposixfile.
tex \
122 libppath.
tex libprofile.
tex libpwd.
tex libpython.
tex \
123 librand.
tex libregex.
tex libregsub.
tex \
124 librfc822.
tex librgbimg.
tex librotor.
tex \
125 libselect.
tex libsgi.
tex libsgmllib.
tex \
126 libshelve.
tex libsocket.
tex libsomeos.
tex libstdwin.
tex \
127 libstring.
tex libstrings.
tex libstruct.
tex libsun.
tex libsys.
tex \
128 libtempfile.
tex libtermios.
tex libthread.
tex libtime.
tex \
129 libtraceback.
tex libtypes.
tex libtypes2.
tex \
130 libunix.
tex liburllib.
tex liburlparse.
tex \
131 libwhrandom.
tex libwww.
tex
142 # Extensions document
152 qua.
dvi: qua.
tex quabib.bib
160 # The remaining part of the Makefile is concerned with various
161 # conversions, as described above. See also the README file.
163 lib.texi
: lib
*.
tex texipre.dat texipost.dat partparse.py fix.el
164 $(PYTHON
) partparse.py
-o @lib.texi
`./whichlibs`
165 $(EMACS
) -batch
-l fix.el
-f save-buffer
-kill
166 mv @lib.texi lib.texi
170 python-lib.
info: lib.texi
171 -$(MAKEINFO
) --footnote-style end
--fill-column
72 \
172 --paragraph-indent
0 lib.texi
174 lib.
info: python-lib.
info
176 # This target is very local to CWI...
178 $(PYTHON
) texi2html.py
-d lib.texi
/ufs
/guido
/public_html
/python-lib
180 # Targets to convert the manuals to HTML using Nikos Drakos' LaTeX to
181 # HTML converter. For more info on this program, see
182 # <URL:http://cbl.leeds.ac.uk/nikos/tex2html/doc/latex2html/latex2html.html>.
183 # (I've had some trouble getting this to work with the netpbm version
184 # of the pbmplus library; ppmtogif dumped core because giftopnm
185 # outputs bitmap (pbm) files. I've fixed this by changing the source
186 # of LaTeX2HTML to insert a call to pnmtoppm, which I wrote myself.
187 # You can probably also use "pbmtopgm | pgmtoppm"...
189 # In order to use these targets, you must edit the definition of L2H
190 # earlier in the Makefile to point to the latex2html program. Note
191 # that LaTeX2HTML inserts references to an "icons" directory in each
192 # page that it generates. You can customize where these icons are to
193 # be found; I generally make it point to "../icons" and then create a
194 # symbolic link to the icons directory in the LaTeX2HTML source at the
197 l2h
: l2htut l2href l2hext
200 $(L2H
) $(L2HARGS
) tut.
tex
205 $(L2H
) $(L2HARGS
) ref.
tex
210 $(L2H
) $(L2HARGS
) ext.
tex
214 # This target doesn't quite work, since l2h doesn't understand the
215 # funcdesc and similar environments, and turns them into GIF images.
216 # Use the "libwww" target above instead.
218 $(L2H
) $(L2HARGS
) lib.
tex
223 # Housekeeping targets
225 # Remove temporary files
227 rm -f @
* *~
*.aux
*.idx
*.ilg
*.ind
*.log
*.toc
*.blg
*.bbl
*.pyc
229 # Sources: .tex, .bib, .sty
230 # Useful results: .dvi, .ps, .texi, .info
232 # Remove temporaries as well as final products
234 rm -f
*.
dvi *.ps
*.texi
*.
info *.info-
[0-9]*