Commit | Line | Data |
---|---|---|
3ff8ce93 RS |
1 | #### Makefile for the Emacs Manual and other documentation. |
2 | ||
b65d8176 | 3 | # Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, |
4e6835db | 4 | # 2004, 2005, 2006, 2007 Free Software Foundation, Inc. |
b3ae7a0a GM |
5 | |
6 | # This file is part of GNU Emacs. | |
7 | ||
8 | # GNU Emacs is free software; you can redistribute it and/or modify | |
9 | # it under the terms of the GNU General Public License as published by | |
10 | # the Free Software Foundation; either version 2, or (at your option) | |
11 | # any later version. | |
12 | ||
13 | # GNU Emacs is distributed in the hope that it will be useful, | |
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | # GNU General Public License for more details. | |
17 | ||
18 | # You should have received a copy of the GNU General Public License | |
19 | # along with GNU Emacs; see the file COPYING. If not, write to | |
364c38d3 LK |
20 | # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
21 | # Boston, MA 02110-1301, USA. | |
b3ae7a0a | 22 | |
74a4eee3 RS |
23 | # Where to find the source code. $(srcdir) will be the man |
24 | # subdirectory of the source tree. This is | |
3ff8ce93 RS |
25 | # set by the configure script's `--srcdir' option. |
26 | srcdir=@srcdir@ | |
36fcdbf6 | 27 | top_srcdir=@top_srcdir@ |
3ff8ce93 RS |
28 | |
29 | # Tell make where to find source files; this is needed for the makefiles. | |
30 | VPATH=@srcdir@ | |
31 | ||
32 | ||
33 | # The makeinfo program is part of the Texinfo distribution. | |
4a8b387f RS |
34 | # Use --force so that it generates output even if there are errors. |
35 | MAKEINFO = makeinfo --force | |
e645f2ad | 36 | INFO_TARGETS = ../info/emacs ../info/ccmode ../info/cl \ |
933bdce2 | 37 | ../info/dired-x ../info/ediff ../info/forms ../info/gnus \ |
23f87bed MB |
38 | ../info/message ../info/sieve ../info/pgg ../info/emacs-mime \ |
39 | ../info/info ../info/mh-e ../info/reftex \ | |
84e7cd78 | 40 | ../info/sc ../info/vip ../info/viper ../info/widget \ |
1128d4c6 | 41 | ../info/efaq ../info/ada-mode ../info/autotype ../info/calc \ |
db2672fe | 42 | ../info/idlwave ../info/eudc ../info/ebrowse ../info/pcl-cvs \ |
948a35c1 | 43 | ../info/woman ../info/eshell ../info/org ../info/url \ |
3c15ca69 | 44 | ../info/speedbar ../info/tramp ../info/ses ../info/smtpmail \ |
597993cf | 45 | ../info/flymake ../info/newsticker ../info/rcirc ../info/erc |
ef0ce4e0 | 46 | DVI_TARGETS = emacs.dvi calc.dvi cc-mode.dvi cl.dvi dired-x.dvi \ |
23f87bed MB |
47 | ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \ |
48 | gnus.dvi message.dvi sieve.dvi pgg.dvi mh-e.dvi \ | |
a226b66d | 49 | reftex.dvi sc.dvi vip.dvi viper.dvi widget.dvi faq.dvi \ |
6684834d | 50 | ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \ |
948a35c1 | 51 | pcl-cvs.dvi woman.dvi eshell.dvi org.dvi url.dvi \ |
2d0f2dd6 | 52 | speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \ |
597993cf | 53 | newsticker.dvi emacs-xtra.dvi rcirc.dvi erc.dvi |
444c5586 | 54 | INFOSOURCES = info.texi |
3ff8ce93 RS |
55 | |
56 | # The following rule does not work with all versions of `make'. | |
57 | .SUFFIXES: .texi .dvi | |
58 | .texi.dvi: | |
59 | texi2dvi $< | |
60 | ||
61 | TEXI2DVI = texi2dvi | |
177c0ea7 | 62 | ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" |
3ff8ce93 | 63 | |
e645f2ad EZ |
64 | EMACS_XTRA=\ |
65 | $(srcdir)/arevert-xtra.texi \ | |
66 | $(srcdir)/cal-xtra.texi \ | |
67 | $(srcdir)/dired-xtra.texi \ | |
68 | $(srcdir)/picture-xtra.texi \ | |
69 | $(srcdir)/emerge-xtra.texi \ | |
70 | $(srcdir)/vc-xtra.texi \ | |
71 | $(srcdir)/vc1-xtra.texi \ | |
72 | $(srcdir)/vc2-xtra.texi \ | |
73 | $(srcdir)/fortran-xtra.texi \ | |
74 | $(srcdir)/msdog-xtra.texi | |
75 | ||
3ff8ce93 RS |
76 | EMACSSOURCES= \ |
77 | ${srcdir}/emacs.texi \ | |
78f743c7 | 78 | ${srcdir}/doclicense.texi \ |
3ff8ce93 RS |
79 | ${srcdir}/screen.texi \ |
80 | ${srcdir}/commands.texi \ | |
81 | ${srcdir}/entering.texi \ | |
82 | ${srcdir}/basic.texi \ | |
83 | ${srcdir}/mini.texi \ | |
84 | ${srcdir}/m-x.texi \ | |
85 | ${srcdir}/help.texi \ | |
86 | ${srcdir}/mark.texi \ | |
87 | ${srcdir}/killing.texi \ | |
88 | ${srcdir}/regs.texi \ | |
89 | ${srcdir}/display.texi \ | |
90 | ${srcdir}/search.texi \ | |
91 | ${srcdir}/fixit.texi \ | |
92 | ${srcdir}/files.texi \ | |
93 | ${srcdir}/buffers.texi \ | |
94 | ${srcdir}/windows.texi \ | |
95 | ${srcdir}/frames.texi \ | |
32395fcf | 96 | ${srcdir}/mule.texi \ |
3ff8ce93 RS |
97 | ${srcdir}/major.texi \ |
98 | ${srcdir}/indent.texi \ | |
99 | ${srcdir}/text.texi \ | |
100 | ${srcdir}/programs.texi \ | |
101 | ${srcdir}/building.texi \ | |
78f743c7 | 102 | ${srcdir}/maintaining.texi \ |
3ff8ce93 | 103 | ${srcdir}/abbrevs.texi \ |
3ff8ce93 RS |
104 | ${srcdir}/sending.texi \ |
105 | ${srcdir}/rmail.texi \ | |
106 | ${srcdir}/dired.texi \ | |
107 | ${srcdir}/calendar.texi \ | |
108 | ${srcdir}/misc.texi \ | |
109 | ${srcdir}/custom.texi \ | |
110 | ${srcdir}/trouble.texi \ | |
111 | ${srcdir}/cmdargs.texi \ | |
78f743c7 | 112 | ${srcdir}/xresources.texi \ |
3ff8ce93 | 113 | ${srcdir}/anti.texi \ |
78f743c7 | 114 | ${srcdir}/macos.texi \ |
11f7f688 | 115 | ${srcdir}/msdog.texi \ |
3ff8ce93 | 116 | ${srcdir}/gnu.texi \ |
11f7f688 | 117 | ${srcdir}/glossary.texi \ |
0d79e1ab | 118 | ${srcdir}/ack.texi \ |
e645f2ad EZ |
119 | ${srcdir}/kmacro.texi \ |
120 | $(EMACS_XTRA) | |
3ff8ce93 | 121 | |
855c2ccd MB |
122 | info: $(top_srcdir)/info $(INFO_TARGETS) |
123 | ||
36fcdbf6 MB |
124 | $(top_srcdir)/info: |
125 | mkdir $@ | |
126 | ||
3ff8ce93 RS |
127 | dvi: $(DVI_TARGETS) |
128 | ||
e8edd7c5 RS |
129 | # Note that all the Info targets build the Info files |
130 | # in srcdir. There is no provision for Info files | |
131 | # to exist in the build directory. | |
132 | # In a distribution of Emacs, the Info files should be up to date. | |
133 | ||
7c836af3 | 134 | # The following target uses an explicit -o switch to work around |
db921254 EZ |
135 | # the @setfilename directive in info.texi, which is required for |
136 | # the Texinfo distribution. | |
137 | ||
3ff8ce93 | 138 | ../info/info: ${INFOSOURCES} |
db921254 | 139 | cd $(srcdir); $(MAKEINFO) --no-split info.texi -o $@ |
3ff8ce93 RS |
140 | |
141 | info.dvi: ${INFOSOURCES} | |
2ca250f9 | 142 | $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi |
3ff8ce93 RS |
143 | |
144 | ../info/emacs: ${EMACSSOURCES} | |
b9aed9ca | 145 | cd $(srcdir); $(MAKEINFO) emacs.texi |
3ff8ce93 | 146 | |
d0d62cd5 | 147 | emacs.dvi: ${EMACSSOURCES} |
2ca250f9 | 148 | $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi |
3ff8ce93 | 149 | |
0a8ad7c4 EZ |
150 | # This target is here so you could easily get the list of the *.texi |
151 | # files which belong to the Emacs manual (as opposed to the separate | |
152 | # manuals for CL, CC Mode, Ebrowse, etc.). With this target, you can | |
153 | # say things like "grep foo `make emacsman`". | |
154 | emacsman: | |
155 | @echo $(EMACSSOURCES) | |
156 | ||
0aa97803 | 157 | ../info/ccmode: cc-mode.texi |
b9aed9ca | 158 | cd $(srcdir); $(MAKEINFO) cc-mode.texi |
40bb1f49 | 159 | cc-mode.dvi: cc-mode.texi |
2ca250f9 | 160 | $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi |
40bb1f49 | 161 | |
a226b66d GM |
162 | ../info/ada-mode: ada-mode.texi |
163 | cd $(srcdir); $(MAKEINFO) ada-mode.texi | |
164 | ada-mode.dvi: ada-mode.texi | |
165 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi | |
166 | ||
6684834d SM |
167 | ../info/pcl-cvs: pcl-cvs.texi |
168 | cd $(srcdir); $(MAKEINFO) pcl-cvs.texi | |
169 | pcl-cvs.dvi: pcl-cvs.texi | |
170 | $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi | |
171 | ||
572a0c97 JW |
172 | ../info/eshell: eshell.texi |
173 | cd $(srcdir); $(MAKEINFO) eshell.texi | |
174 | eshell.dvi: eshell.texi | |
175 | $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi | |
176 | ||
3ff8ce93 | 177 | ../info/cl: cl.texi |
b9aed9ca | 178 | cd $(srcdir); $(MAKEINFO) cl.texi |
3ff8ce93 | 179 | cl.dvi: cl.texi |
2ca250f9 | 180 | $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi |
3ff8ce93 RS |
181 | |
182 | ../info/dired-x: dired-x.texi | |
b9aed9ca | 183 | cd $(srcdir); $(MAKEINFO) dired-x.texi |
3ff8ce93 | 184 | dired-x.dvi: dired-x.texi |
2ca250f9 | 185 | $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi |
3ff8ce93 | 186 | |
11022425 | 187 | ../info/ediff: ediff.texi |
b9aed9ca | 188 | cd $(srcdir); $(MAKEINFO) ediff.texi |
11022425 | 189 | ediff.dvi: ediff.texi |
2ca250f9 | 190 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi |
11022425 | 191 | |
e645f2ad | 192 | emacs-xtra.dvi: emacs-xtra.texi $(EMACS_XTRA) |
2d0f2dd6 LT |
193 | $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi |
194 | ||
3ff8ce93 | 195 | ../info/forms: forms.texi |
b9aed9ca | 196 | cd $(srcdir); $(MAKEINFO) forms.texi |
3ff8ce93 | 197 | forms.dvi: forms.texi |
2ca250f9 | 198 | $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi |
3ff8ce93 | 199 | |
23f87bed | 200 | # gnus/message/emacs-mime/sieve/pgg are part of Gnus: |
ef1ee5da | 201 | ../info/gnus: gnus.texi gnus-faq.texi |
5f016f40 | 202 | cd $(srcdir); $(MAKEINFO) gnus.texi |
ef1ee5da | 203 | gnus.dvi: gnus.texi gnus-faq.texi |
177c0ea7 | 204 | sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi |
55c875c2 DL |
205 | $(ENVADD) $(TEXI2DVI) gnustmp.texi |
206 | cp gnustmp.dvi $*.dvi | |
207 | rm gnustmp.* | |
ef1ee5da | 208 | |
5f016f40 PE |
209 | ../info/message: message.texi |
210 | cd $(srcdir); $(MAKEINFO) message.texi | |
211 | message.dvi: message.texi | |
2ca250f9 | 212 | $(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi |
ef1ee5da | 213 | |
23f87bed MB |
214 | ../info/sieve: sieve.texi |
215 | cd $(srcdir); $(MAKEINFO) sieve.texi | |
216 | sieve.dvi: sieve.texi | |
217 | $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi | |
1a1d61e0 | 218 | |
23f87bed MB |
219 | ../info/emacs-mime: emacs-mime.texi |
220 | cd $(srcdir); $(MAKEINFO) emacs-mime.texi | |
221 | emacs-mime.dvi: emacs-mime.texi | |
222 | $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi | |
ef1ee5da | 223 | |
23f87bed MB |
224 | ../info/pgg: pgg.texi |
225 | cd $(srcdir); $(MAKEINFO) pgg.texi | |
226 | pgg.dvi: pgg.texi | |
227 | $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi | |
5f016f40 | 228 | |
f32cdadd | 229 | ../info/mh-e: mh-e.texi |
b9aed9ca | 230 | cd $(srcdir); $(MAKEINFO) mh-e.texi |
f32cdadd | 231 | mh-e.dvi: mh-e.texi |
2ca250f9 | 232 | $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi |
f32cdadd | 233 | |
cf96540d RS |
234 | ../info/reftex: reftex.texi |
235 | cd $(srcdir); $(MAKEINFO) reftex.texi | |
236 | reftex.dvi: reftex.texi | |
2ca250f9 | 237 | $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi |
cf96540d | 238 | |
3ff8ce93 | 239 | ../info/sc: sc.texi |
b9aed9ca | 240 | cd $(srcdir); $(MAKEINFO) sc.texi |
3ff8ce93 | 241 | sc.dvi: sc.texi |
2ca250f9 | 242 | $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi |
3ff8ce93 RS |
243 | |
244 | ../info/vip: vip.texi | |
b9aed9ca | 245 | cd $(srcdir); $(MAKEINFO) vip.texi |
3ff8ce93 | 246 | vip.dvi: vip.texi |
2ca250f9 | 247 | $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi |
3ff8ce93 | 248 | |
5f016f40 PE |
249 | ../info/viper: viper.texi |
250 | cd $(srcdir); $(MAKEINFO) viper.texi | |
251 | viper.dvi: viper.texi | |
2ca250f9 | 252 | $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi |
168054a6 | 253 | |
791f12e4 PA |
254 | ../info/widget: widget.texi |
255 | cd $(srcdir); $(MAKEINFO) widget.texi | |
256 | widget.dvi: widget.texi | |
2ca250f9 | 257 | $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi |
791f12e4 | 258 | |
429fc7c6 | 259 | ../info/efaq: faq.texi |
84e7cd78 DL |
260 | cd $(srcdir); $(MAKEINFO) faq.texi |
261 | faq.dvi: faq.texi | |
262 | $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi | |
263 | ||
3ff8ce93 | 264 | ../etc/GNU: gnu1.texi gnu.texi |
2ca250f9 | 265 | cd $(srcdir) && makeinfo --no-headers -o ../etc/GNU gnu1.texi |
3ff8ce93 | 266 | |
6bfff064 DL |
267 | ../info/autotype: autotype.texi |
268 | cd $(srcdir); $(MAKEINFO) autotype.texi | |
269 | autotype.dvi: autotype.texi | |
270 | $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi | |
271 | ||
1128d4c6 EZ |
272 | ../info/calc: calc.texi |
273 | cd $(srcdir); $(MAKEINFO) calc.texi | |
ef0ce4e0 EZ |
274 | |
275 | calc.dvi: calc.texi | |
276 | $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi | |
1128d4c6 | 277 | |
73ec1670 EZ |
278 | # This is produced with --no-split to avoid making files whose |
279 | # names clash on DOS 8+3 filesystems | |
4598da60 | 280 | ../info/idlwave: idlwave.texi |
73ec1670 | 281 | cd $(srcdir); $(MAKEINFO) --no-split idlwave.texi |
4598da60 EZ |
282 | idlwave.dvi: idlwave.texi |
283 | $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi | |
284 | ||
20ed8664 GM |
285 | ../info/eudc: eudc.texi |
286 | cd $(srcdir); $(MAKEINFO) eudc.texi | |
287 | eudc.dvi: eudc.texi | |
288 | $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi | |
289 | ||
2f155bc2 GM |
290 | ../info/ebrowse: ebrowse.texi |
291 | cd $(srcdir); $(MAKEINFO) ebrowse.texi | |
292 | ebrowse.dvi: ebrowse.texi | |
293 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi | |
294 | ||
db2672fe EZ |
295 | ../info/woman: woman.texi |
296 | cd $(srcdir); $(MAKEINFO) woman.texi | |
297 | woman.dvi: woman.texi | |
298 | $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi | |
299 | ||
89205dcb RS |
300 | ../info/org: org.texi |
301 | cd $(srcdir); $(MAKEINFO) org.texi | |
302 | org.dvi: org.texi | |
303 | $(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi | |
304 | ||
948a35c1 SM |
305 | ../info/url: url.texi |
306 | cd $(srcdir); $(MAKEINFO) url.texi | |
307 | url.dvi: url.texi | |
308 | $(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi | |
309 | ||
543951ab EL |
310 | ../info/speedbar: speedbar.texi |
311 | cd $(srcdir); $(MAKEINFO) speedbar.texi | |
312 | speedbar.dvi: speedbar.texi | |
313 | $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi | |
82bb16f8 | 314 | |
142941b8 | 315 | ../info/tramp: tramp.texi trampver.texi |
b1a2b924 | 316 | cd $(srcdir); $(MAKEINFO) -D emacs tramp.texi |
142941b8 | 317 | tramp.dvi: tramp.texi trampver.texi |
d591a834 KG |
318 | $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi |
319 | ||
7ed9159a JY |
320 | ../info/ses: ses.texi |
321 | cd $(srcdir); $(MAKEINFO) ses.texi | |
322 | ses.dvi: ses.texi | |
323 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi | |
324 | ||
d5df5512 SJ |
325 | ../info/smtpmail: smtpmail.texi |
326 | cd $(srcdir); $(MAKEINFO) smtpmail.texi | |
327 | smtpmail.dvi: smtpmail.texi | |
328 | $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi | |
329 | ||
3c15ca69 EZ |
330 | ../info/flymake: flymake.texi |
331 | cd $(srcdir); $(MAKEINFO) flymake.texi | |
332 | flymake.dvi: flymake.texi | |
333 | $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi | |
334 | ||
b09bc6a4 RS |
335 | ../info/newsticker: newsticker.texi |
336 | cd $(srcdir); $(MAKEINFO) newsticker.texi | |
337 | newsticker.dvi: newsticker.texi | |
338 | $(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi | |
339 | ||
ecabda0e EZ |
340 | ../info/rcirc: rcirc.texi |
341 | cd $(srcdir); $(MAKEINFO) rcirc.texi | |
342 | rcirc.dvi: rcirc.texi | |
343 | $(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi | |
344 | ||
597993cf MB |
345 | ../info/erc: erc.texi |
346 | cd $(srcdir); $(MAKEINFO) erc.texi | |
347 | erc.dvi: erc.texi | |
348 | $(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi | |
349 | ||
3ff8ce93 | 350 | mostlyclean: |
8da1a051 | 351 | rm -f *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.* |
3ff8ce93 RS |
352 | |
353 | clean: mostlyclean | |
354 | rm -f *.dvi | |
355 | ||
356 | distclean: clean | |
357 | ||
358 | maintainer-clean: distclean | |
8da1a051 | 359 | rm -f *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc |
89205dcb | 360 | for file in $(INFO_TARGETS); do rm -f $${file}*; done |
3ff8ce93 RS |
361 | |
362 | ||
363 | # Formerly this directory had texindex.c and getopt.c in it | |
364 | # and this makefile built them to make texindex. | |
365 | # That caused trouble because this is run entirely in the source directory. | |
366 | # Since we expect to get texi2dvi from elsewhere, | |
367 | # it is ok to expect texindex from elsewhere also. |