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, |
8d99e09d | 4 | # 2004, 2005, 2006 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 | |
2d0f2dd6 | 36 | INFO_TARGETS = ../info/emacs ../info/emacs-xtra ../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 RS |
63 | |
64 | EMACSSOURCES= \ | |
65 | ${srcdir}/emacs.texi \ | |
78f743c7 | 66 | ${srcdir}/doclicense.texi \ |
3ff8ce93 RS |
67 | ${srcdir}/screen.texi \ |
68 | ${srcdir}/commands.texi \ | |
69 | ${srcdir}/entering.texi \ | |
70 | ${srcdir}/basic.texi \ | |
71 | ${srcdir}/mini.texi \ | |
72 | ${srcdir}/m-x.texi \ | |
73 | ${srcdir}/help.texi \ | |
74 | ${srcdir}/mark.texi \ | |
75 | ${srcdir}/killing.texi \ | |
76 | ${srcdir}/regs.texi \ | |
77 | ${srcdir}/display.texi \ | |
78 | ${srcdir}/search.texi \ | |
79 | ${srcdir}/fixit.texi \ | |
80 | ${srcdir}/files.texi \ | |
81 | ${srcdir}/buffers.texi \ | |
82 | ${srcdir}/windows.texi \ | |
83 | ${srcdir}/frames.texi \ | |
32395fcf | 84 | ${srcdir}/mule.texi \ |
3ff8ce93 RS |
85 | ${srcdir}/major.texi \ |
86 | ${srcdir}/indent.texi \ | |
87 | ${srcdir}/text.texi \ | |
88 | ${srcdir}/programs.texi \ | |
89 | ${srcdir}/building.texi \ | |
78f743c7 | 90 | ${srcdir}/maintaining.texi \ |
3ff8ce93 | 91 | ${srcdir}/abbrevs.texi \ |
3ff8ce93 RS |
92 | ${srcdir}/sending.texi \ |
93 | ${srcdir}/rmail.texi \ | |
94 | ${srcdir}/dired.texi \ | |
95 | ${srcdir}/calendar.texi \ | |
96 | ${srcdir}/misc.texi \ | |
97 | ${srcdir}/custom.texi \ | |
98 | ${srcdir}/trouble.texi \ | |
99 | ${srcdir}/cmdargs.texi \ | |
78f743c7 | 100 | ${srcdir}/xresources.texi \ |
3ff8ce93 | 101 | ${srcdir}/anti.texi \ |
78f743c7 | 102 | ${srcdir}/macos.texi \ |
11f7f688 | 103 | ${srcdir}/msdog.texi \ |
3ff8ce93 | 104 | ${srcdir}/gnu.texi \ |
11f7f688 | 105 | ${srcdir}/glossary.texi \ |
0d79e1ab LT |
106 | ${srcdir}/ack.texi \ |
107 | ${srcdir}/kmacro.texi | |
3ff8ce93 | 108 | |
855c2ccd MB |
109 | info: $(top_srcdir)/info $(INFO_TARGETS) |
110 | ||
36fcdbf6 MB |
111 | $(top_srcdir)/info: |
112 | mkdir $@ | |
113 | ||
3ff8ce93 RS |
114 | dvi: $(DVI_TARGETS) |
115 | ||
e8edd7c5 RS |
116 | # Note that all the Info targets build the Info files |
117 | # in srcdir. There is no provision for Info files | |
118 | # to exist in the build directory. | |
119 | # In a distribution of Emacs, the Info files should be up to date. | |
120 | ||
7c836af3 | 121 | # The following target uses an explicit -o switch to work around |
db921254 EZ |
122 | # the @setfilename directive in info.texi, which is required for |
123 | # the Texinfo distribution. | |
124 | ||
3ff8ce93 | 125 | ../info/info: ${INFOSOURCES} |
db921254 | 126 | cd $(srcdir); $(MAKEINFO) --no-split info.texi -o $@ |
3ff8ce93 RS |
127 | |
128 | info.dvi: ${INFOSOURCES} | |
2ca250f9 | 129 | $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi |
3ff8ce93 RS |
130 | |
131 | ../info/emacs: ${EMACSSOURCES} | |
b9aed9ca | 132 | cd $(srcdir); $(MAKEINFO) emacs.texi |
3ff8ce93 RS |
133 | |
134 | emacs.dvi: ${EMACSSOURCES} | |
2ca250f9 | 135 | $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi |
3ff8ce93 | 136 | |
0a8ad7c4 EZ |
137 | # This target is here so you could easily get the list of the *.texi |
138 | # files which belong to the Emacs manual (as opposed to the separate | |
139 | # manuals for CL, CC Mode, Ebrowse, etc.). With this target, you can | |
140 | # say things like "grep foo `make emacsman`". | |
141 | emacsman: | |
142 | @echo $(EMACSSOURCES) | |
143 | ||
0aa97803 | 144 | ../info/ccmode: cc-mode.texi |
b9aed9ca | 145 | cd $(srcdir); $(MAKEINFO) cc-mode.texi |
40bb1f49 | 146 | cc-mode.dvi: cc-mode.texi |
2ca250f9 | 147 | $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi |
40bb1f49 | 148 | |
a226b66d GM |
149 | ../info/ada-mode: ada-mode.texi |
150 | cd $(srcdir); $(MAKEINFO) ada-mode.texi | |
151 | ada-mode.dvi: ada-mode.texi | |
152 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi | |
153 | ||
6684834d SM |
154 | ../info/pcl-cvs: pcl-cvs.texi |
155 | cd $(srcdir); $(MAKEINFO) pcl-cvs.texi | |
156 | pcl-cvs.dvi: pcl-cvs.texi | |
157 | $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi | |
158 | ||
572a0c97 JW |
159 | ../info/eshell: eshell.texi |
160 | cd $(srcdir); $(MAKEINFO) eshell.texi | |
161 | eshell.dvi: eshell.texi | |
162 | $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi | |
163 | ||
3ff8ce93 | 164 | ../info/cl: cl.texi |
b9aed9ca | 165 | cd $(srcdir); $(MAKEINFO) cl.texi |
3ff8ce93 | 166 | cl.dvi: cl.texi |
2ca250f9 | 167 | $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi |
3ff8ce93 RS |
168 | |
169 | ../info/dired-x: dired-x.texi | |
b9aed9ca | 170 | cd $(srcdir); $(MAKEINFO) dired-x.texi |
3ff8ce93 | 171 | dired-x.dvi: dired-x.texi |
2ca250f9 | 172 | $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi |
3ff8ce93 | 173 | |
11022425 | 174 | ../info/ediff: ediff.texi |
b9aed9ca | 175 | cd $(srcdir); $(MAKEINFO) ediff.texi |
11022425 | 176 | ediff.dvi: ediff.texi |
2ca250f9 | 177 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi |
11022425 | 178 | |
2d0f2dd6 LT |
179 | ../info/emacs-xtra: emacs-xtra.texi |
180 | cd $(srcdir); $(MAKEINFO) emacs-xtra.texi | |
181 | emacs-xtra.dvi: emacs-xtra.texi | |
182 | $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi | |
183 | ||
3ff8ce93 | 184 | ../info/forms: forms.texi |
b9aed9ca | 185 | cd $(srcdir); $(MAKEINFO) forms.texi |
3ff8ce93 | 186 | forms.dvi: forms.texi |
2ca250f9 | 187 | $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi |
3ff8ce93 | 188 | |
23f87bed | 189 | # gnus/message/emacs-mime/sieve/pgg are part of Gnus: |
ef1ee5da | 190 | ../info/gnus: gnus.texi gnus-faq.texi |
5f016f40 | 191 | cd $(srcdir); $(MAKEINFO) gnus.texi |
ef1ee5da | 192 | gnus.dvi: gnus.texi gnus-faq.texi |
177c0ea7 | 193 | sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi |
55c875c2 DL |
194 | $(ENVADD) $(TEXI2DVI) gnustmp.texi |
195 | cp gnustmp.dvi $*.dvi | |
196 | rm gnustmp.* | |
ef1ee5da | 197 | |
5f016f40 PE |
198 | ../info/message: message.texi |
199 | cd $(srcdir); $(MAKEINFO) message.texi | |
200 | message.dvi: message.texi | |
2ca250f9 | 201 | $(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi |
ef1ee5da | 202 | |
23f87bed MB |
203 | ../info/sieve: sieve.texi |
204 | cd $(srcdir); $(MAKEINFO) sieve.texi | |
205 | sieve.dvi: sieve.texi | |
206 | $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi | |
1a1d61e0 | 207 | |
23f87bed MB |
208 | ../info/emacs-mime: emacs-mime.texi |
209 | cd $(srcdir); $(MAKEINFO) emacs-mime.texi | |
210 | emacs-mime.dvi: emacs-mime.texi | |
211 | $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi | |
ef1ee5da | 212 | |
23f87bed MB |
213 | ../info/pgg: pgg.texi |
214 | cd $(srcdir); $(MAKEINFO) pgg.texi | |
215 | pgg.dvi: pgg.texi | |
216 | $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi | |
5f016f40 | 217 | |
f32cdadd | 218 | ../info/mh-e: mh-e.texi |
b9aed9ca | 219 | cd $(srcdir); $(MAKEINFO) mh-e.texi |
f32cdadd | 220 | mh-e.dvi: mh-e.texi |
2ca250f9 | 221 | $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi |
f32cdadd | 222 | |
cf96540d RS |
223 | ../info/reftex: reftex.texi |
224 | cd $(srcdir); $(MAKEINFO) reftex.texi | |
225 | reftex.dvi: reftex.texi | |
2ca250f9 | 226 | $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi |
cf96540d | 227 | |
3ff8ce93 | 228 | ../info/sc: sc.texi |
b9aed9ca | 229 | cd $(srcdir); $(MAKEINFO) sc.texi |
3ff8ce93 | 230 | sc.dvi: sc.texi |
2ca250f9 | 231 | $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi |
3ff8ce93 RS |
232 | |
233 | ../info/vip: vip.texi | |
b9aed9ca | 234 | cd $(srcdir); $(MAKEINFO) vip.texi |
3ff8ce93 | 235 | vip.dvi: vip.texi |
2ca250f9 | 236 | $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi |
3ff8ce93 | 237 | |
5f016f40 PE |
238 | ../info/viper: viper.texi |
239 | cd $(srcdir); $(MAKEINFO) viper.texi | |
240 | viper.dvi: viper.texi | |
2ca250f9 | 241 | $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi |
168054a6 | 242 | |
791f12e4 PA |
243 | ../info/widget: widget.texi |
244 | cd $(srcdir); $(MAKEINFO) widget.texi | |
245 | widget.dvi: widget.texi | |
2ca250f9 | 246 | $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi |
791f12e4 | 247 | |
429fc7c6 | 248 | ../info/efaq: faq.texi |
84e7cd78 DL |
249 | cd $(srcdir); $(MAKEINFO) faq.texi |
250 | faq.dvi: faq.texi | |
251 | $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi | |
252 | ||
3ff8ce93 | 253 | ../etc/GNU: gnu1.texi gnu.texi |
2ca250f9 | 254 | cd $(srcdir) && makeinfo --no-headers -o ../etc/GNU gnu1.texi |
3ff8ce93 | 255 | |
6bfff064 DL |
256 | ../info/autotype: autotype.texi |
257 | cd $(srcdir); $(MAKEINFO) autotype.texi | |
258 | autotype.dvi: autotype.texi | |
259 | $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi | |
260 | ||
1128d4c6 EZ |
261 | ../info/calc: calc.texi |
262 | cd $(srcdir); $(MAKEINFO) calc.texi | |
ef0ce4e0 EZ |
263 | |
264 | calc.dvi: calc.texi | |
265 | $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi | |
1128d4c6 | 266 | |
73ec1670 EZ |
267 | # This is produced with --no-split to avoid making files whose |
268 | # names clash on DOS 8+3 filesystems | |
4598da60 | 269 | ../info/idlwave: idlwave.texi |
73ec1670 | 270 | cd $(srcdir); $(MAKEINFO) --no-split idlwave.texi |
4598da60 EZ |
271 | idlwave.dvi: idlwave.texi |
272 | $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi | |
273 | ||
20ed8664 GM |
274 | ../info/eudc: eudc.texi |
275 | cd $(srcdir); $(MAKEINFO) eudc.texi | |
276 | eudc.dvi: eudc.texi | |
277 | $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi | |
278 | ||
2f155bc2 GM |
279 | ../info/ebrowse: ebrowse.texi |
280 | cd $(srcdir); $(MAKEINFO) ebrowse.texi | |
281 | ebrowse.dvi: ebrowse.texi | |
282 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi | |
283 | ||
db2672fe EZ |
284 | ../info/woman: woman.texi |
285 | cd $(srcdir); $(MAKEINFO) woman.texi | |
286 | woman.dvi: woman.texi | |
287 | $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi | |
288 | ||
89205dcb RS |
289 | ../info/org: org.texi |
290 | cd $(srcdir); $(MAKEINFO) org.texi | |
291 | org.dvi: org.texi | |
292 | $(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi | |
293 | ||
948a35c1 SM |
294 | ../info/url: url.texi |
295 | cd $(srcdir); $(MAKEINFO) url.texi | |
296 | url.dvi: url.texi | |
297 | $(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi | |
298 | ||
543951ab EL |
299 | ../info/speedbar: speedbar.texi |
300 | cd $(srcdir); $(MAKEINFO) speedbar.texi | |
301 | speedbar.dvi: speedbar.texi | |
302 | $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi | |
82bb16f8 | 303 | |
142941b8 | 304 | ../info/tramp: tramp.texi trampver.texi |
b1a2b924 | 305 | cd $(srcdir); $(MAKEINFO) -D emacs tramp.texi |
142941b8 | 306 | tramp.dvi: tramp.texi trampver.texi |
d591a834 KG |
307 | $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi |
308 | ||
7ed9159a JY |
309 | ../info/ses: ses.texi |
310 | cd $(srcdir); $(MAKEINFO) ses.texi | |
311 | ses.dvi: ses.texi | |
312 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi | |
313 | ||
d5df5512 SJ |
314 | ../info/smtpmail: smtpmail.texi |
315 | cd $(srcdir); $(MAKEINFO) smtpmail.texi | |
316 | smtpmail.dvi: smtpmail.texi | |
317 | $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi | |
318 | ||
3c15ca69 EZ |
319 | ../info/flymake: flymake.texi |
320 | cd $(srcdir); $(MAKEINFO) flymake.texi | |
321 | flymake.dvi: flymake.texi | |
322 | $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi | |
323 | ||
b09bc6a4 RS |
324 | ../info/newsticker: newsticker.texi |
325 | cd $(srcdir); $(MAKEINFO) newsticker.texi | |
326 | newsticker.dvi: newsticker.texi | |
327 | $(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi | |
328 | ||
ecabda0e EZ |
329 | ../info/rcirc: rcirc.texi |
330 | cd $(srcdir); $(MAKEINFO) rcirc.texi | |
331 | rcirc.dvi: rcirc.texi | |
332 | $(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi | |
333 | ||
597993cf MB |
334 | ../info/erc: erc.texi |
335 | cd $(srcdir); $(MAKEINFO) erc.texi | |
336 | erc.dvi: erc.texi | |
337 | $(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi | |
338 | ||
3ff8ce93 | 339 | mostlyclean: |
8da1a051 | 340 | rm -f *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.* |
3ff8ce93 RS |
341 | |
342 | clean: mostlyclean | |
343 | rm -f *.dvi | |
344 | ||
345 | distclean: clean | |
346 | ||
347 | maintainer-clean: distclean | |
8da1a051 | 348 | rm -f *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc |
89205dcb | 349 | for file in $(INFO_TARGETS); do rm -f $${file}*; done |
3ff8ce93 RS |
350 | |
351 | ||
352 | # Formerly this directory had texindex.c and getopt.c in it | |
353 | # and this makefile built them to make texindex. | |
354 | # That caused trouble because this is run entirely in the source directory. | |
355 | # Since we expect to get texi2dvi from elsewhere, | |
356 | # it is ok to expect texindex from elsewhere also. |