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