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)"
204 mkinfodir
= @
test -d
${infodir} || mkdir
${infodir} ||
test -d
${infodir}
208 info: $(INFO_TARGETS
)
214 # Note that all the Info targets build the Info files
215 # in srcdir. There is no provision for Info files
216 # to exist in the build directory.
217 # In a distribution of Emacs, the Info files should be up to date.
219 ## "short" target names for convenience, to just rebuild one manual.
220 ada-mode
: $(infodir)/ada-mode
221 $(infodir)/ada-mode
: ada-mode.texi
223 cd
$(srcdir); $(MAKEINFO
) ada-mode.texi
224 ada-mode.
dvi: ada-mode.texi
225 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ada-mode.texi
226 ada-mode.pdf
: ada-mode.texi
227 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ada-mode.texi
229 auth
: $(infodir)/auth
230 $(infodir)/auth
: auth.texi
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
241 cd
$(srcdir); $(MAKEINFO
) autotype.texi
242 autotype.
dvi: autotype.texi
243 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/autotype.texi
244 autotype.pdf
: autotype.texi
245 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/autotype.texi
247 calc
: $(infodir)/calc
248 $(infodir)/calc
: calc.texi
250 cd
$(srcdir); $(MAKEINFO
) calc.texi
252 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/calc.texi
254 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/calc.texi
256 ccmode
: $(infodir)/ccmode
257 $(infodir)/ccmode
: cc-mode.texi
259 cd
$(srcdir); $(MAKEINFO
) cc-mode.texi
260 cc-mode.
dvi: cc-mode.texi
261 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/cc-mode.texi
262 cc-mode.pdf
: cc-mode.texi
263 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/cc-mode.texi
266 $(infodir)/cl
: cl.texi
268 cd
$(srcdir); $(MAKEINFO
) cl.texi
270 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/cl.texi
272 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/cl.texi
274 dbus
: $(infodir)/dbus
275 $(infodir)/dbus
: dbus.texi
277 cd
$(srcdir); $(MAKEINFO
) dbus.texi
279 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/dbus.texi
281 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/dbus.texi
283 dired-x
: $(infodir)/dired-x
284 $(infodir)/dired-x
: dired-x.texi
286 cd
$(srcdir); $(MAKEINFO
) dired-x.texi
287 dired-x.
dvi: dired-x.texi
288 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/dired-x.texi
289 dired-x.pdf
: dired-x.texi
290 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/dired-x.texi
292 ebrowse
: $(infodir)/ebrowse
293 $(infodir)/ebrowse
: ebrowse.texi
295 cd
$(srcdir); $(MAKEINFO
) ebrowse.texi
296 ebrowse.
dvi: ebrowse.texi
297 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ebrowse.texi
298 ebrowse.pdf
: ebrowse.texi
299 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ebrowse.texi
302 $(infodir)/ede
: ede.texi
304 cd
$(srcdir); $(MAKEINFO
) ede.texi
306 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ede.texi
308 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ede.texi
310 ediff
: $(infodir)/ediff
311 $(infodir)/ediff
: ediff.texi
313 cd
$(srcdir); $(MAKEINFO
) ediff.texi
314 ediff.
dvi: ediff.texi
315 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ediff.texi
316 ediff.pdf
: ediff.texi
317 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ediff.texi
320 $(infodir)/edt
: edt.texi
322 cd
$(srcdir); $(MAKEINFO
) edt.texi
324 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/edt.texi
326 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/edt.texi
328 eieio
: $(infodir)/eieio
329 $(infodir)/eieio
: eieio.texi
331 cd
$(srcdir); $(MAKEINFO
) eieio.texi
332 eieio.
dvi: eieio.texi
333 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/eieio.texi
334 eieio.pdf
: eieio.texi
335 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/eieio.texi
337 emacs-mime
: $(infodir)/emacs-mime
338 $(infodir)/emacs-mime
: emacs-mime.texi
340 cd
$(srcdir); $(MAKEINFO
) --enable-encoding emacs-mime.texi
341 emacs-mime.
dvi: emacs-mime.texi
342 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/emacs-mime.texi
343 emacs-mime.pdf
: emacs-mime.texi
344 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/emacs-mime.texi
347 $(infodir)/epa
: epa.texi
349 cd
$(srcdir); $(MAKEINFO
) epa.texi
351 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/epa.texi
353 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/epa.texi
356 $(infodir)/erc
: erc.texi
358 cd
$(srcdir); $(MAKEINFO
) erc.texi
360 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/erc.texi
362 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/erc.texi
364 eshell
: $(infodir)/eshell
365 $(infodir)/eshell
: eshell.texi
367 cd
$(srcdir); $(MAKEINFO
) eshell.texi
368 eshell.
dvi: eshell.texi
369 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/eshell.texi
370 eshell.pdf
: eshell.texi
371 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/eshell.texi
373 eudc
: $(infodir)/eudc
374 $(infodir)/eudc
: eudc.texi
376 cd
$(srcdir); $(MAKEINFO
) eudc.texi
378 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/eudc.texi
380 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/eudc.texi
382 efaq
: $(infodir)/efaq
383 $(infodir)/efaq
: faq.texi
$(emacsdir
)/emacsver.texi
385 cd
$(srcdir); $(MAKEINFO
) -I
$(emacsdir
) faq.texi
387 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/faq.texi
389 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/faq.texi
391 flymake
: $(infodir)/flymake
392 $(infodir)/flymake
: flymake.texi
394 cd
$(srcdir); $(MAKEINFO
) flymake.texi
395 flymake.
dvi: flymake.texi
396 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/flymake.texi
397 flymake.pdf
: flymake.texi
398 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/flymake.texi
400 forms
: $(infodir)/forms
401 $(infodir)/forms
: forms.texi
403 cd
$(srcdir); $(MAKEINFO
) forms.texi
404 forms.
dvi: forms.texi
405 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/forms.texi
406 forms.pdf
: forms.texi
407 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/forms.texi
409 # gnus/message/emacs-mime/sieve/pgg are part of Gnus:
410 gnus
: $(infodir)/gnus
411 $(infodir)/gnus
: gnus.texi gnus-faq.texi
413 cd
$(srcdir); $(MAKEINFO
) gnus.texi
414 gnus.
dvi: gnus.texi gnus-faq.texi
415 sed
-e
'/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi
> gnustmp.texi
416 $(ENVADD
) $(TEXI2DVI
) gnustmp.texi
417 cp gnustmp.
dvi $*.
dvi
419 gnus.pdf
: gnus.texi gnus-faq.texi
420 sed
-e
'/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi
> gnustmp.texi
421 $(ENVADD
) $(TEXI2PDF
) gnustmp.texi
425 # This is produced with --no-split to avoid making files whose
426 # names clash on DOS 8+3 filesystems
427 idlwave
: $(infodir)/idlwave
428 $(infodir)/idlwave
: idlwave.texi
430 cd
$(srcdir); $(MAKEINFO
) --no-split idlwave.texi
431 idlwave.
dvi: idlwave.texi
432 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/idlwave.texi
433 idlwave.pdf
: idlwave.texi
434 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/idlwave.texi
436 # The following target uses an explicit -o switch to work around
437 # the @setfilename directive in info.texi, which is required for
438 # the Texinfo distribution.
439 ###info : $(infodir)/info # circular!
440 $(infodir)/info: info.texi
442 cd
$(srcdir); $(MAKEINFO
) --no-split
info.texi
-o
$@
444 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/info.texi
446 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/info.texi
448 mairix-el
: $(infodir)/mairix-el
449 $(infodir)/mairix-el
: mairix-el.texi
451 cd
$(srcdir); $(MAKEINFO
) mairix-el.texi
452 mairix-el.
dvi: mairix-el.texi
453 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/mairix-el.texi
454 mairix-el.pdf
: mairix-el.texi
455 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/mairix-el.texi
457 message
: $(infodir)/message
458 $(infodir)/message
: message.texi
460 cd
$(srcdir); $(MAKEINFO
) message.texi
461 message.
dvi: message.texi
462 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/message.texi
463 message.pdf
: message.texi
464 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/message.texi
466 mh-e
: $(infodir)/mh-e
467 $(infodir)/mh-e
: mh-e.texi
469 cd
$(srcdir); $(MAKEINFO
) mh-e.texi
471 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/mh-e.texi
473 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/mh-e.texi
475 newsticker
: $(infodir)/newsticker
476 $(infodir)/newsticker
: newsticker.texi
478 cd
$(srcdir); $(MAKEINFO
) newsticker.texi
479 newsticker.
dvi: newsticker.texi
480 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/newsticker.texi
481 newsticker.pdf
: newsticker.texi
482 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/newsticker.texi
484 nxml-mode
: $(infodir)/nxml-mode
485 $(infodir)/nxml-mode
: nxml-mode.texi
487 cd
$(srcdir); $(MAKEINFO
) nxml-mode.texi
488 nxml-mode.
dvi: nxml-mode.texi
489 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/nxml-mode.texi
490 nxml-mode.pdf
: nxml-mode.texi
491 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/nxml-mode.texi
494 $(infodir)/org
: org.texi
496 cd
$(srcdir); $(MAKEINFO
) org.texi
498 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/org.texi
500 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/org.texi
502 pcl-cvs
: $(infodir)/pcl-cvs
503 $(infodir)/pcl-cvs
: pcl-cvs.texi
505 cd
$(srcdir); $(MAKEINFO
) pcl-cvs.texi
506 pcl-cvs.
dvi: pcl-cvs.texi
507 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/pcl-cvs.texi
508 pcl-cvs.pdf
: pcl-cvs.texi
509 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/pcl-cvs.texi
512 $(infodir)/pgg
: pgg.texi
514 cd
$(srcdir); $(MAKEINFO
) pgg.texi
516 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/pgg.texi
518 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/pgg.texi
520 rcirc
: $(infodir)/rcirc
521 $(infodir)/rcirc
: rcirc.texi
523 cd
$(srcdir); $(MAKEINFO
) rcirc.texi
524 rcirc.
dvi: rcirc.texi
525 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/rcirc.texi
526 rcirc.pdf
: rcirc.texi
527 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/rcirc.texi
529 reftex
: $(infodir)/reftex
530 $(infodir)/reftex
: reftex.texi
532 cd
$(srcdir); $(MAKEINFO
) reftex.texi
533 reftex.
dvi: reftex.texi
534 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/reftex.texi
535 reftex.pdf
: reftex.texi
536 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/reftex.texi
538 remember
: $(infodir)/remember
539 $(infodir)/remember
: remember.texi
541 cd
$(srcdir); $(MAKEINFO
) remember.texi
542 remember.
dvi: remember.texi
543 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/remember.texi
544 remember.pdf
: remember.texi
545 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/remember.texi
547 sasl
: $(infodir)/sasl
548 $(infodir)/sasl
: sasl.texi
550 cd
$(srcdir); $(MAKEINFO
) sasl.texi
552 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/sasl.texi
554 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/sasl.texi
557 $(infodir)/sc
: sc.texi
559 cd
$(srcdir); $(MAKEINFO
) sc.texi
561 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/sc.texi
563 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/sc.texi
565 semantic
: $(infodir)/semantic
566 $(infodir)/semantic
: semantic.texi sem-user.texi
568 cd
$(srcdir); $(MAKEINFO
) semantic.texi
569 semantic.
dvi: semantic.texi
570 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/semantic.texi
571 semantic.pdf
: semantic.texi
572 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/semantic.texi
575 $(infodir)/ses
: ses.texi
577 cd
$(srcdir); $(MAKEINFO
) ses.texi
579 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ses.texi
581 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ses.texi
583 sieve
: $(infodir)/sieve
584 $(infodir)/sieve
: sieve.texi
586 cd
$(srcdir); $(MAKEINFO
) sieve.texi
587 sieve.
dvi: sieve.texi
588 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/sieve.texi
589 sieve.pdf
: sieve.texi
590 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/sieve.texi
592 smtpmail
: $(infodir)/smtpmail
593 $(infodir)/smtpmail
: smtpmail.texi
595 cd
$(srcdir); $(MAKEINFO
) smtpmail.texi
596 smtpmail.
dvi: smtpmail.texi
597 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/smtpmail.texi
598 smtpmail.pdf
: smtpmail.texi
599 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/smtpmail.texi
601 speedbar
: $(infodir)/speedbar
602 $(infodir)/speedbar
: speedbar.texi
604 cd
$(srcdir); $(MAKEINFO
) speedbar.texi
605 speedbar.
dvi: speedbar.texi
606 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/speedbar.texi
607 speedbar.pdf
: speedbar.texi
608 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/speedbar.texi
610 tramp
: $(infodir)/tramp
611 $(infodir)/tramp
: tramp.texi trampver.texi
613 cd
$(srcdir); $(MAKEINFO
) -D emacs tramp.texi
614 tramp.
dvi: tramp.texi trampver.texi
615 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/tramp.texi
616 tramp.pdf
: tramp.texi trampver.texi
617 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/tramp.texi
620 $(infodir)/url
: url.texi
622 cd
$(srcdir); $(MAKEINFO
) url.texi
624 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/url.texi
626 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/url.texi
629 $(infodir)/vip
: vip.texi
631 cd
$(srcdir); $(MAKEINFO
) vip.texi
633 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/vip.texi
635 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/vip.texi
637 viper
: $(infodir)/viper
638 $(infodir)/viper
: viper.texi
640 cd
$(srcdir); $(MAKEINFO
) viper.texi
641 viper.
dvi: viper.texi
642 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/viper.texi
643 viper.pdf
: viper.texi
644 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/viper.texi
646 widget
: $(infodir)/widget
647 $(infodir)/widget
: widget.texi
649 cd
$(srcdir); $(MAKEINFO
) widget.texi
650 widget.
dvi: widget.texi
651 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/widget.texi
652 widget.pdf
: widget.texi
653 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/widget.texi
655 woman
: $(infodir)/woman
656 $(infodir)/woman
: woman.texi
658 cd
$(srcdir); $(MAKEINFO
) woman.texi
659 woman.
dvi: woman.texi
660 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/woman.texi
661 woman.pdf
: woman.texi
662 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/woman.texi
665 .PHONY
: mostlyclean clean distclean maintainer-clean
668 rm -f
*.aux
*.log
*.cp
*.cps
*.fn
*.fns
*.ky
*.kys \
669 *.op
*.ops
*.pg
*.pgs
*.tp
*.tps
*.vr
*.vrs
673 rm -f
$(DVI_TARGETS
) $(PDF_TARGETS
)
678 maintainer-clean
: distclean
679 for file in
$(INFO_TARGETS
); do \
680 rm -f
$${file} $${file}-[1-9] $${file}-[1-9][0-9]; \
683 ### Makefile ends here