Commit | Line | Data |
---|---|---|
3ff8ce93 RS |
1 | #### Makefile for the Emacs Manual and other documentation. |
2 | ||
48d67035 | 3 | # Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 |
b3ae7a0a GM |
4 | # Free Software Foundation, Inc. |
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 | |
20 | # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
21 | # Boston, MA 02111-1307, USA. | |
22 | ||
3ff8ce93 RS |
23 | # Where to find the source code. The source code for Emacs's C kernel is |
24 | # expected to be in ${srcdir}/src, and the source code for Emacs's | |
25 | # utility programs is expected to be in ${srcdir}/lib-src. This is | |
26 | # set by the configure script's `--srcdir' option. | |
27 | srcdir=@srcdir@ | |
36fcdbf6 | 28 | top_srcdir=@top_srcdir@ |
3ff8ce93 RS |
29 | |
30 | # Tell make where to find source files; this is needed for the makefiles. | |
31 | VPATH=@srcdir@ | |
32 | ||
33 | ||
34 | # The makeinfo program is part of the Texinfo distribution. | |
35 | MAKEINFO = makeinfo | |
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 \ |
23f87bed | 43 | ../info/woman ../info/eshell \ |
3c15ca69 EZ |
44 | ../info/speedbar ../info/tramp ../info/ses ../info/smtpmail \ |
45 | ../info/flymake | |
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 \ |
23f87bed | 51 | pcl-cvs.dvi woman.dvi eshell.dvi \ |
2d0f2dd6 LT |
52 | speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \ |
53 | emacs-xtra.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 RS |
91 | ${srcdir}/abbrevs.texi \ |
92 | ${srcdir}/picture.texi \ | |
93 | ${srcdir}/sending.texi \ | |
94 | ${srcdir}/rmail.texi \ | |
95 | ${srcdir}/dired.texi \ | |
96 | ${srcdir}/calendar.texi \ | |
97 | ${srcdir}/misc.texi \ | |
98 | ${srcdir}/custom.texi \ | |
99 | ${srcdir}/trouble.texi \ | |
100 | ${srcdir}/cmdargs.texi \ | |
78f743c7 | 101 | ${srcdir}/xresources.texi \ |
3ff8ce93 | 102 | ${srcdir}/anti.texi \ |
78f743c7 | 103 | ${srcdir}/macos.texi \ |
11f7f688 | 104 | ${srcdir}/msdog.texi \ |
3ff8ce93 | 105 | ${srcdir}/gnu.texi \ |
11f7f688 | 106 | ${srcdir}/glossary.texi \ |
0d79e1ab LT |
107 | ${srcdir}/ack.texi \ |
108 | ${srcdir}/kmacro.texi | |
3ff8ce93 | 109 | |
855c2ccd MB |
110 | info: $(top_srcdir)/info $(INFO_TARGETS) |
111 | ||
36fcdbf6 MB |
112 | $(top_srcdir)/info: |
113 | mkdir $@ | |
114 | ||
3ff8ce93 RS |
115 | dvi: $(DVI_TARGETS) |
116 | ||
e8edd7c5 RS |
117 | # Note that all the Info targets build the Info files |
118 | # in srcdir. There is no provision for Info files | |
119 | # to exist in the build directory. | |
120 | # In a distribution of Emacs, the Info files should be up to date. | |
121 | ||
7c836af3 | 122 | # The following target uses an explicit -o switch to work around |
db921254 EZ |
123 | # the @setfilename directive in info.texi, which is required for |
124 | # the Texinfo distribution. | |
125 | ||
3ff8ce93 | 126 | ../info/info: ${INFOSOURCES} |
db921254 | 127 | cd $(srcdir); $(MAKEINFO) --no-split info.texi -o $@ |
3ff8ce93 RS |
128 | |
129 | info.dvi: ${INFOSOURCES} | |
2ca250f9 | 130 | $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi |
3ff8ce93 RS |
131 | |
132 | ../info/emacs: ${EMACSSOURCES} | |
b9aed9ca | 133 | cd $(srcdir); $(MAKEINFO) emacs.texi |
3ff8ce93 RS |
134 | |
135 | emacs.dvi: ${EMACSSOURCES} | |
2ca250f9 | 136 | $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi |
3ff8ce93 | 137 | |
0a8ad7c4 EZ |
138 | # This target is here so you could easily get the list of the *.texi |
139 | # files which belong to the Emacs manual (as opposed to the separate | |
140 | # manuals for CL, CC Mode, Ebrowse, etc.). With this target, you can | |
141 | # say things like "grep foo `make emacsman`". | |
142 | emacsman: | |
143 | @echo $(EMACSSOURCES) | |
144 | ||
0aa97803 | 145 | ../info/ccmode: cc-mode.texi |
b9aed9ca | 146 | cd $(srcdir); $(MAKEINFO) cc-mode.texi |
40bb1f49 | 147 | cc-mode.dvi: cc-mode.texi |
2ca250f9 | 148 | $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi |
40bb1f49 | 149 | |
a226b66d GM |
150 | ../info/ada-mode: ada-mode.texi |
151 | cd $(srcdir); $(MAKEINFO) ada-mode.texi | |
152 | ada-mode.dvi: ada-mode.texi | |
153 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi | |
154 | ||
6684834d SM |
155 | ../info/pcl-cvs: pcl-cvs.texi |
156 | cd $(srcdir); $(MAKEINFO) pcl-cvs.texi | |
157 | pcl-cvs.dvi: pcl-cvs.texi | |
158 | $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi | |
159 | ||
572a0c97 JW |
160 | ../info/eshell: eshell.texi |
161 | cd $(srcdir); $(MAKEINFO) eshell.texi | |
162 | eshell.dvi: eshell.texi | |
163 | $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi | |
164 | ||
3ff8ce93 | 165 | ../info/cl: cl.texi |
b9aed9ca | 166 | cd $(srcdir); $(MAKEINFO) cl.texi |
3ff8ce93 | 167 | cl.dvi: cl.texi |
2ca250f9 | 168 | $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi |
3ff8ce93 RS |
169 | |
170 | ../info/dired-x: dired-x.texi | |
b9aed9ca | 171 | cd $(srcdir); $(MAKEINFO) dired-x.texi |
3ff8ce93 | 172 | dired-x.dvi: dired-x.texi |
2ca250f9 | 173 | $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi |
3ff8ce93 | 174 | |
11022425 | 175 | ../info/ediff: ediff.texi |
b9aed9ca | 176 | cd $(srcdir); $(MAKEINFO) ediff.texi |
11022425 | 177 | ediff.dvi: ediff.texi |
2ca250f9 | 178 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi |
11022425 | 179 | |
2d0f2dd6 LT |
180 | ../info/emacs-xtra: emacs-xtra.texi |
181 | cd $(srcdir); $(MAKEINFO) emacs-xtra.texi | |
182 | emacs-xtra.dvi: emacs-xtra.texi | |
183 | $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi | |
184 | ||
3ff8ce93 | 185 | ../info/forms: forms.texi |
b9aed9ca | 186 | cd $(srcdir); $(MAKEINFO) forms.texi |
3ff8ce93 | 187 | forms.dvi: forms.texi |
2ca250f9 | 188 | $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi |
3ff8ce93 | 189 | |
23f87bed | 190 | # gnus/message/emacs-mime/sieve/pgg are part of Gnus: |
5f016f40 PE |
191 | ../info/gnus: gnus.texi |
192 | cd $(srcdir); $(MAKEINFO) gnus.texi | |
193 | gnus.dvi: gnus.texi | |
177c0ea7 | 194 | sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi |
55c875c2 DL |
195 | $(ENVADD) $(TEXI2DVI) gnustmp.texi |
196 | cp gnustmp.dvi $*.dvi | |
197 | rm gnustmp.* | |
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 |
23f87bed MB |
202 | ../info/sieve: sieve.texi |
203 | cd $(srcdir); $(MAKEINFO) sieve.texi | |
204 | sieve.dvi: sieve.texi | |
205 | $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi | |
206 | ../info/emacs-mime: emacs-mime.texi | |
207 | cd $(srcdir); $(MAKEINFO) emacs-mime.texi | |
208 | emacs-mime.dvi: emacs-mime.texi | |
209 | $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi | |
210 | ../info/pgg: pgg.texi | |
211 | cd $(srcdir); $(MAKEINFO) pgg.texi | |
212 | pgg.dvi: pgg.texi | |
213 | $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi | |
5f016f40 | 214 | |
f32cdadd | 215 | ../info/mh-e: mh-e.texi |
b9aed9ca | 216 | cd $(srcdir); $(MAKEINFO) mh-e.texi |
f32cdadd | 217 | mh-e.dvi: mh-e.texi |
2ca250f9 | 218 | $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi |
f32cdadd | 219 | |
cf96540d RS |
220 | ../info/reftex: reftex.texi |
221 | cd $(srcdir); $(MAKEINFO) reftex.texi | |
222 | reftex.dvi: reftex.texi | |
2ca250f9 | 223 | $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi |
cf96540d | 224 | |
3ff8ce93 | 225 | ../info/sc: sc.texi |
b9aed9ca | 226 | cd $(srcdir); $(MAKEINFO) sc.texi |
3ff8ce93 | 227 | sc.dvi: sc.texi |
2ca250f9 | 228 | $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi |
3ff8ce93 RS |
229 | |
230 | ../info/vip: vip.texi | |
b9aed9ca | 231 | cd $(srcdir); $(MAKEINFO) vip.texi |
3ff8ce93 | 232 | vip.dvi: vip.texi |
2ca250f9 | 233 | $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi |
3ff8ce93 | 234 | |
5f016f40 PE |
235 | ../info/viper: viper.texi |
236 | cd $(srcdir); $(MAKEINFO) viper.texi | |
237 | viper.dvi: viper.texi | |
2ca250f9 | 238 | $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi |
168054a6 | 239 | |
791f12e4 PA |
240 | ../info/widget: widget.texi |
241 | cd $(srcdir); $(MAKEINFO) widget.texi | |
242 | widget.dvi: widget.texi | |
2ca250f9 | 243 | $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi |
791f12e4 | 244 | |
429fc7c6 | 245 | ../info/efaq: faq.texi |
84e7cd78 DL |
246 | cd $(srcdir); $(MAKEINFO) faq.texi |
247 | faq.dvi: faq.texi | |
248 | $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi | |
249 | ||
3ff8ce93 | 250 | ../etc/GNU: gnu1.texi gnu.texi |
2ca250f9 | 251 | cd $(srcdir) && makeinfo --no-headers -o ../etc/GNU gnu1.texi |
3ff8ce93 | 252 | |
6bfff064 DL |
253 | ../info/autotype: autotype.texi |
254 | cd $(srcdir); $(MAKEINFO) autotype.texi | |
255 | autotype.dvi: autotype.texi | |
256 | $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi | |
257 | ||
1128d4c6 EZ |
258 | ../info/calc: calc.texi |
259 | cd $(srcdir); $(MAKEINFO) calc.texi | |
ef0ce4e0 EZ |
260 | |
261 | calc.dvi: calc.texi | |
262 | $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi | |
1128d4c6 | 263 | |
73ec1670 EZ |
264 | # This is produced with --no-split to avoid making files whose |
265 | # names clash on DOS 8+3 filesystems | |
4598da60 | 266 | ../info/idlwave: idlwave.texi |
73ec1670 | 267 | cd $(srcdir); $(MAKEINFO) --no-split idlwave.texi |
4598da60 EZ |
268 | idlwave.dvi: idlwave.texi |
269 | $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi | |
270 | ||
20ed8664 GM |
271 | ../info/eudc: eudc.texi |
272 | cd $(srcdir); $(MAKEINFO) eudc.texi | |
273 | eudc.dvi: eudc.texi | |
274 | $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi | |
275 | ||
2f155bc2 GM |
276 | ../info/ebrowse: ebrowse.texi |
277 | cd $(srcdir); $(MAKEINFO) ebrowse.texi | |
278 | ebrowse.dvi: ebrowse.texi | |
279 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi | |
280 | ||
db2672fe EZ |
281 | ../info/woman: woman.texi |
282 | cd $(srcdir); $(MAKEINFO) woman.texi | |
283 | woman.dvi: woman.texi | |
284 | $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi | |
285 | ||
543951ab EL |
286 | ../info/speedbar: speedbar.texi |
287 | cd $(srcdir); $(MAKEINFO) speedbar.texi | |
288 | speedbar.dvi: speedbar.texi | |
289 | $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi | |
82bb16f8 | 290 | |
142941b8 | 291 | ../info/tramp: tramp.texi trampver.texi |
b1a2b924 | 292 | cd $(srcdir); $(MAKEINFO) -D emacs tramp.texi |
142941b8 | 293 | tramp.dvi: tramp.texi trampver.texi |
d591a834 KG |
294 | $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi |
295 | ||
7ed9159a JY |
296 | ../info/ses: ses.texi |
297 | cd $(srcdir); $(MAKEINFO) ses.texi | |
298 | ses.dvi: ses.texi | |
299 | $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi | |
300 | ||
d5df5512 SJ |
301 | ../info/smtpmail: smtpmail.texi |
302 | cd $(srcdir); $(MAKEINFO) smtpmail.texi | |
303 | smtpmail.dvi: smtpmail.texi | |
304 | $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi | |
305 | ||
3c15ca69 EZ |
306 | ../info/flymake: flymake.texi |
307 | cd $(srcdir); $(MAKEINFO) flymake.texi | |
308 | flymake.dvi: flymake.texi | |
309 | $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi | |
310 | ||
3ff8ce93 | 311 | mostlyclean: |
8da1a051 | 312 | rm -f *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.* |
3ff8ce93 RS |
313 | |
314 | clean: mostlyclean | |
315 | rm -f *.dvi | |
316 | ||
317 | distclean: clean | |
318 | ||
319 | maintainer-clean: distclean | |
8da1a051 | 320 | rm -f *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc |
3ff8ce93 RS |
321 | # Don't delete these, because they are outside the current directory. |
322 | # for file in $(INFO_TARGETS); do rm -f $${file}*; done | |
323 | ||
324 | ||
325 | # Formerly this directory had texindex.c and getopt.c in it | |
326 | # and this makefile built them to make texindex. | |
327 | # That caused trouble because this is run entirely in the source directory. | |
328 | # Since we expect to get texi2dvi from elsewhere, | |
329 | # it is ok to expect texindex from elsewhere also. |