1 #### Makefile for documentation other than the Emacs manual.
3 # Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
4 # 2004, 2005, 2006, 2007, 2008, 2009, 2010
5 # Free Software Foundation, Inc.
7 # This file is part of GNU Emacs.
9 # GNU Emacs is free software: you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation, either version 3 of the License, or
12 # (at your option) any later version.
14 # GNU Emacs is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
19 # You should have received a copy of the GNU General Public License
20 # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24 # Where to find the source code. $(srcdir) will be the man-aux
25 # subdirectory of the source tree. This is
26 # set by the configure script's `--srcdir' option.
29 # Tell make where to find source files; this is needed for the makefiles.
32 ## Where the output files go.
33 ## Note that the setfilename command in the .texi files assumes this.
35 ## Directory with emacsver.texi.
36 ## Currently only used by efaq; could be added to MAKEINFO.
37 emacsdir
= $(srcdir)/..
/emacs
39 # The makeinfo program is part of the Texinfo distribution.
40 # Use --force so that it generates output even if there are errors.
41 MAKEINFO
= makeinfo --force
43 # Also add new entries to INFO_FILES in the top-level Makefile.in.
58 $(infodir)/emacs-mime \
69 $(infodir)/mairix-el \
72 $(infodir)/newsticker \
73 $(infodir)/nxml-mode \
197 # The following rule does not work with all versions of `make'.
198 .SUFFIXES
: .texi .
dvi
202 ENVADD
= TEXINPUTS
="$(srcdir):$(TEXINPUTS)" MAKEINFO
="$(MAKEINFO) -I$(srcdir)"
207 info: $(INFO_TARGETS
)
210 mkdir
$@ ||
test -d
$@
216 # Note that all the Info targets build the Info files
217 # in srcdir. There is no provision for Info files
218 # to exist in the build directory.
219 # In a distribution of Emacs, the Info files should be up to date.
221 ## "short" target names for convenience, to just rebuild one manual.
222 ada-mode
: $(infodir)/ada-mode
223 $(infodir)/ada-mode
: ada-mode.texi
$(infodir)
224 cd
$(srcdir); $(MAKEINFO
) ada-mode.texi
225 ada-mode.
dvi: ada-mode.texi
226 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ada-mode.texi
227 ada-mode.pdf
: ada-mode.texi
228 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ada-mode.texi
230 auth
: $(infodir)/auth
231 $(infodir)/auth
: auth.texi
$(infodir)
232 cd
$(srcdir); $(MAKEINFO
) auth.texi
234 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/auth.texi
236 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/auth.texi
238 autotype
: $(infodir)/autotype
239 $(infodir)/autotype
: autotype.texi
$(infodir)
240 cd
$(srcdir); $(MAKEINFO
) autotype.texi
241 autotype.
dvi: autotype.texi
242 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/autotype.texi
243 autotype.pdf
: autotype.texi
244 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/autotype.texi
246 calc
: $(infodir)/calc
247 $(infodir)/calc
: calc.texi
$(infodir)
248 cd
$(srcdir); $(MAKEINFO
) calc.texi
250 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/calc.texi
252 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/calc.texi
254 ccmode
: $(infodir)/ccmode
255 $(infodir)/ccmode
: cc-mode.texi
$(infodir)
256 cd
$(srcdir); $(MAKEINFO
) cc-mode.texi
257 cc-mode.
dvi: cc-mode.texi
258 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/cc-mode.texi
259 cc-mode.pdf
: cc-mode.texi
260 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/cc-mode.texi
263 $(infodir)/cl
: cl.texi
$(infodir)
264 cd
$(srcdir); $(MAKEINFO
) cl.texi
266 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/cl.texi
268 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/cl.texi
270 dbus
: $(infodir)/dbus
271 $(infodir)/dbus
: dbus.texi
$(infodir)
272 cd
$(srcdir); $(MAKEINFO
) dbus.texi
274 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/dbus.texi
276 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/dbus.texi
278 dired-x
: $(infodir)/dired-x
279 $(infodir)/dired-x
: dired-x.texi
$(infodir)
280 cd
$(srcdir); $(MAKEINFO
) dired-x.texi
281 dired-x.
dvi: dired-x.texi
282 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/dired-x.texi
283 dired-x.pdf
: dired-x.texi
284 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/dired-x.texi
286 ebrowse
: $(infodir)/ebrowse
287 $(infodir)/ebrowse
: ebrowse.texi
$(infodir)
288 cd
$(srcdir); $(MAKEINFO
) ebrowse.texi
289 ebrowse.
dvi: ebrowse.texi
290 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ebrowse.texi
291 ebrowse.pdf
: ebrowse.texi
292 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ebrowse.texi
295 $(infodir)/ede
: ede.texi
$(infodir)
296 cd
$(srcdir); $(MAKEINFO
) ede.texi
298 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ede.texi
300 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ede.texi
302 ediff
: $(infodir)/ediff
303 $(infodir)/ediff
: ediff.texi
$(infodir)
304 cd
$(srcdir); $(MAKEINFO
) ediff.texi
305 ediff.
dvi: ediff.texi
306 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ediff.texi
307 ediff.pdf
: ediff.texi
308 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ediff.texi
311 $(infodir)/edt
: edt.texi
$(infodir)
312 cd
$(srcdir); $(MAKEINFO
) edt.texi
314 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/edt.texi
316 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/edt.texi
318 eieio
: $(infodir)/eieio
319 $(infodir)/eieio
: eieio.texi
$(infodir)
320 cd
$(srcdir); $(MAKEINFO
) eieio.texi
321 eieio.
dvi: eieio.texi
322 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/eieio.texi
323 eieio.pdf
: eieio.texi
324 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/eieio.texi
326 emacs-mime
: $(infodir)/emacs-mime
327 $(infodir)/emacs-mime
: emacs-mime.texi
$(infodir)
328 cd
$(srcdir); $(MAKEINFO
) --enable-encoding emacs-mime.texi
329 emacs-mime.
dvi: emacs-mime.texi
330 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/emacs-mime.texi
331 emacs-mime.pdf
: emacs-mime.texi
332 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/emacs-mime.texi
335 $(infodir)/epa
: epa.texi
$(infodir)
336 cd
$(srcdir); $(MAKEINFO
) epa.texi
338 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/epa.texi
340 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/epa.texi
343 $(infodir)/erc
: erc.texi
$(infodir)
344 cd
$(srcdir); $(MAKEINFO
) erc.texi
346 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/erc.texi
348 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/erc.texi
350 eshell
: $(infodir)/eshell
351 $(infodir)/eshell
: eshell.texi
$(infodir)
352 cd
$(srcdir); $(MAKEINFO
) eshell.texi
353 eshell.
dvi: eshell.texi
354 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/eshell.texi
355 eshell.pdf
: eshell.texi
356 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/eshell.texi
358 eudc
: $(infodir)/eudc
359 $(infodir)/eudc
: eudc.texi
360 cd
$(srcdir); $(MAKEINFO
) eudc.texi
362 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/eudc.texi
364 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/eudc.texi
366 efaq
: $(infodir)/efaq
367 $(infodir)/efaq
: faq.texi
$(emacsdir
)/emacsver.texi
$(infodir)
368 cd
$(srcdir); $(MAKEINFO
) -I
$(emacsdir
) faq.texi
370 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/faq.texi
372 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/faq.texi
374 flymake
: $(infodir)/flymake
375 $(infodir)/flymake
: flymake.texi
376 cd
$(srcdir); $(MAKEINFO
) flymake.texi
377 flymake.
dvi: flymake.texi
378 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/flymake.texi
379 flymake.pdf
: flymake.texi
380 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/flymake.texi
382 forms
: $(infodir)/forms
383 $(infodir)/forms
: forms.texi
$(infodir)
384 cd
$(srcdir); $(MAKEINFO
) forms.texi
385 forms.
dvi: forms.texi
386 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/forms.texi
387 forms.pdf
: forms.texi
388 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/forms.texi
390 # gnus/message/emacs-mime/sieve/pgg are part of Gnus:
391 gnus
: $(infodir)/gnus
392 $(infodir)/gnus
: gnus.texi gnus-faq.texi
$(infodir)
393 cd
$(srcdir); $(MAKEINFO
) gnus.texi
394 gnus.
dvi: gnus.texi gnus-faq.texi
395 sed
-e
'/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi
> gnustmp.texi
396 $(ENVADD
) $(TEXI2DVI
) gnustmp.texi
397 cp gnustmp.
dvi $*.
dvi
399 gnus.pdf
: gnus.texi gnus-faq.texi
400 sed
-e
'/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi
> gnustmp.texi
401 $(ENVADD
) $(TEXI2PDF
) gnustmp.texi
405 # This is produced with --no-split to avoid making files whose
406 # names clash on DOS 8+3 filesystems
407 idlwave
: $(infodir)/idlwave
408 $(infodir)/idlwave
: idlwave.texi
$(infodir)
409 cd
$(srcdir); $(MAKEINFO
) --no-split idlwave.texi
410 idlwave.
dvi: idlwave.texi
411 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/idlwave.texi
412 idlwave.pdf
: idlwave.texi
413 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/idlwave.texi
415 # The following target uses an explicit -o switch to work around
416 # the @setfilename directive in info.texi, which is required for
417 # the Texinfo distribution.
418 ###info : $(infodir)/info # circular!
419 $(infodir)/info: info.texi
$(infodir)
420 cd
$(srcdir); $(MAKEINFO
) --no-split
info.texi
-o
$@
422 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/info.texi
424 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/info.texi
426 mairix-el
: $(infodir)/mairix-el
427 $(infodir)/mairix-el
: mairix-el.texi
$(infodir)
428 cd
$(srcdir); $(MAKEINFO
) mairix-el.texi
429 mairix-el.
dvi: mairix-el.texi
430 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/mairix-el.texi
431 mairix-el.pdf
: mairix-el.texi
432 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/mairix-el.texi
434 message
: $(infodir)/message
435 $(infodir)/message
: message.texi
$(infodir)
436 cd
$(srcdir); $(MAKEINFO
) message.texi
437 message.
dvi: message.texi
438 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/message.texi
439 message.pdf
: message.texi
440 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/message.texi
442 mh-e
: $(infodir)/mh-e
443 $(infodir)/mh-e
: mh-e.texi
$(infodir)
444 cd
$(srcdir); $(MAKEINFO
) mh-e.texi
446 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/mh-e.texi
448 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/mh-e.texi
450 newsticker
: $(infodir)/newsticker
451 $(infodir)/newsticker
: newsticker.texi
$(infodir)
452 cd
$(srcdir); $(MAKEINFO
) newsticker.texi
453 newsticker.
dvi: newsticker.texi
454 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/newsticker.texi
455 newsticker.pdf
: newsticker.texi
456 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/newsticker.texi
458 nxml-mode
: $(infodir)/nxml-mode
459 $(infodir)/nxml-mode
: nxml-mode.texi
$(infodir)
460 cd
$(srcdir); $(MAKEINFO
) nxml-mode.texi
461 nxml-mode.
dvi: nxml-mode.texi
462 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/nxml-mode.texi
463 nxml-mode.pdf
: nxml-mode.texi
464 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/nxml-mode.texi
467 $(infodir)/org
: org.texi
$(infodir)
468 cd
$(srcdir); $(MAKEINFO
) org.texi
470 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/org.texi
472 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/org.texi
474 pcl-cvs
: $(infodir)/pcl-cvs
475 $(infodir)/pcl-cvs
: pcl-cvs.texi
$(infodir)
476 cd
$(srcdir); $(MAKEINFO
) pcl-cvs.texi
477 pcl-cvs.
dvi: pcl-cvs.texi
478 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/pcl-cvs.texi
479 pcl-cvs.pdf
: pcl-cvs.texi
480 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/pcl-cvs.texi
483 $(infodir)/pgg
: pgg.texi
$(infodir)
484 cd
$(srcdir); $(MAKEINFO
) pgg.texi
486 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/pgg.texi
488 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/pgg.texi
490 rcirc
: $(infodir)/rcirc
491 $(infodir)/rcirc
: rcirc.texi
$(infodir)
492 cd
$(srcdir); $(MAKEINFO
) rcirc.texi
493 rcirc.
dvi: rcirc.texi
494 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/rcirc.texi
495 rcirc.pdf
: rcirc.texi
496 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/rcirc.texi
498 reftex
: $(infodir)/reftex
499 $(infodir)/reftex
: reftex.texi
$(infodir)
500 cd
$(srcdir); $(MAKEINFO
) reftex.texi
501 reftex.
dvi: reftex.texi
502 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/reftex.texi
503 reftex.pdf
: reftex.texi
504 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/reftex.texi
506 remember
: $(infodir)/remember
507 $(infodir)/remember
: remember.texi
$(infodir)
508 cd
$(srcdir); $(MAKEINFO
) remember.texi
509 remember.
dvi: remember.texi
510 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/remember.texi
511 remember.pdf
: remember.texi
512 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/remember.texi
514 sasl
: $(infodir)/sasl
515 $(infodir)/sasl
: sasl.texi
$(infodir)
516 cd
$(srcdir); $(MAKEINFO
) sasl.texi
518 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/sasl.texi
520 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/sasl.texi
523 $(infodir)/sc
: sc.texi
$(infodir)
524 cd
$(srcdir); $(MAKEINFO
) sc.texi
526 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/sc.texi
528 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/sc.texi
530 semantic
: $(infodir)/semantic
531 $(infodir)/semantic
: semantic.texi sem-user.texi
$(infodir)
532 cd
$(srcdir); $(MAKEINFO
) semantic.texi
533 semantic.
dvi: semantic.texi
534 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/semantic.texi
535 semantic.pdf
: semantic.texi
536 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/semantic.texi
539 $(infodir)/ses
: ses.texi
$(infodir)
540 cd
$(srcdir); $(MAKEINFO
) ses.texi
542 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ses.texi
544 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ses.texi
546 sieve
: $(infodir)/sieve
547 $(infodir)/sieve
: sieve.texi
$(infodir)
548 cd
$(srcdir); $(MAKEINFO
) sieve.texi
549 sieve.
dvi: sieve.texi
550 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/sieve.texi
551 sieve.pdf
: sieve.texi
552 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/sieve.texi
554 smtpmail
: $(infodir)/smtpmail
555 $(infodir)/smtpmail
: smtpmail.texi
$(infodir)
556 cd
$(srcdir); $(MAKEINFO
) smtpmail.texi
557 smtpmail.
dvi: smtpmail.texi
558 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/smtpmail.texi
559 smtpmail.pdf
: smtpmail.texi
560 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/smtpmail.texi
562 speedbar
: $(infodir)/speedbar
563 $(infodir)/speedbar
: speedbar.texi
$(infodir)
564 cd
$(srcdir); $(MAKEINFO
) speedbar.texi
565 speedbar.
dvi: speedbar.texi
566 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/speedbar.texi
567 speedbar.pdf
: speedbar.texi
568 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/speedbar.texi
570 tramp
: $(infodir)/tramp
571 $(infodir)/tramp
: tramp.texi trampver.texi
$(infodir)
572 cd
$(srcdir); $(MAKEINFO
) -D emacs tramp.texi
573 tramp.
dvi: tramp.texi trampver.texi
574 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/tramp.texi
575 tramp.pdf
: tramp.texi trampver.texi
576 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/tramp.texi
579 $(infodir)/url
: url.texi
$(infodir)
580 cd
$(srcdir); $(MAKEINFO
) url.texi
582 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/url.texi
584 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/url.texi
587 $(infodir)/vip
: vip.texi
$(infodir)
588 cd
$(srcdir); $(MAKEINFO
) vip.texi
590 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/vip.texi
592 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/vip.texi
594 viper
: $(infodir)/viper
595 $(infodir)/viper
: viper.texi
$(infodir)
596 cd
$(srcdir); $(MAKEINFO
) viper.texi
597 viper.
dvi: viper.texi
598 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/viper.texi
599 viper.pdf
: viper.texi
600 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/viper.texi
602 widget
: $(infodir)/widget
603 $(infodir)/widget
: widget.texi
$(infodir)
604 cd
$(srcdir); $(MAKEINFO
) widget.texi
605 widget.
dvi: widget.texi
606 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/widget.texi
607 widget.pdf
: widget.texi
608 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/widget.texi
610 woman
: $(infodir)/woman
611 $(infodir)/woman
: woman.texi
$(infodir)
612 cd
$(srcdir); $(MAKEINFO
) woman.texi
613 woman.
dvi: woman.texi
614 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/woman.texi
615 woman.pdf
: woman.texi
616 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/woman.texi
619 .PHONY
: mostlyclean clean distclean maintainer-clean
622 rm -f
*.aux
*.log
*.cp
*.cps
*.fn
*.fns
*.ky
*.kys \
623 *.op
*.ops
*.pg
*.pgs
*.tp
*.tps
*.vr
*.vrs
627 rm -f
$(DVI_TARGETS
) $(PDF_TARGETS
)
632 maintainer-clean
: distclean
633 for file in
$(INFO_TARGETS
); do \
634 rm -f
$${file} $${file}-[1-9] $${file}-[1-9][0-9]; \
637 ### Makefile ends here