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, 2011 Free Software Foundation, Inc.
6 # This file is part of GNU Emacs.
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 3 of the License, or
11 # (at your option) any later version.
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.
18 # You should have received a copy of the GNU General Public License
19 # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
23 # Where to find the source code. $(srcdir) will be the man-aux
24 # subdirectory of the source tree. This is
25 # set by the configure script's `--srcdir' option.
28 # Tell make where to find source files; this is needed for the makefiles.
29 # Note the other doc Makefiles do not use VPATH anymore, instead
30 # they set infodir to an absolute path. Not doing that here in
31 # case INFO_TARGETS gets too long for some feeble shells.
32 # (cf src/Makefile.in's shortlisp)
35 ## Where the output files go.
36 ## Note that the setfilename command in the .texi files assumes this.
38 ## Directory with emacsver.texi.
39 ## Currently only used by efaq and calc.
40 emacsdir
= $(srcdir)/..
/emacs
42 # The makeinfo program is part of the Texinfo distribution.
43 # Use --force so that it generates output even if there are errors.
44 MAKEINFO
= makeinfo --force -I
$(emacsdir
)
46 # Also add new entries to INFO_FILES in the top-level Makefile.in.
61 $(infodir)/emacs-mime \
73 $(infodir)/mairix-el \
76 $(infodir)/newsticker \
77 $(infodir)/nxml-mode \
203 ENVADD
= TEXINPUTS
="$(srcdir):$(emacsdir):$(TEXINPUTS)" MAKEINFO
="$(MAKEINFO) -I$(srcdir)"
205 mkinfodir
= @cd
${srcdir}; test -d
${infodir} || mkdir
${infodir} ||
test -d
${infodir}
209 info: $(INFO_TARGETS
)
215 # Note that all the Info targets build the Info files
216 # in srcdir. There is no provision for Info files
217 # to exist in the build directory.
218 # In a distribution of Emacs, the Info files should be up to date.
220 ## "short" target names for convenience, to just rebuild one manual.
221 ada-mode
: $(infodir)/ada-mode
222 $(infodir)/ada-mode
: ada-mode.texi
224 cd
$(srcdir); $(MAKEINFO
) $<
225 ada-mode.
dvi: ${srcdir}/ada-mode.texi
226 $(ENVADD
) $(TEXI2DVI
) $<
227 ada-mode.pdf
: ${srcdir}/ada-mode.texi
228 $(ENVADD
) $(TEXI2PDF
) $<
230 auth
: $(infodir)/auth
231 $(infodir)/auth
: auth.texi
233 cd
$(srcdir); $(MAKEINFO
) $<
234 auth.
dvi: ${srcdir}/auth.texi
235 $(ENVADD
) $(TEXI2DVI
) $<
236 auth.pdf
: ${srcdir}/auth.texi
237 $(ENVADD
) $(TEXI2PDF
) $<
239 autotype
: $(infodir)/autotype
240 $(infodir)/autotype
: autotype.texi
242 cd
$(srcdir); $(MAKEINFO
) $<
243 autotype.
dvi: ${srcdir}/autotype.texi
244 $(ENVADD
) $(TEXI2DVI
) $<
245 autotype.pdf
: ${srcdir}/autotype.texi
246 $(ENVADD
) $(TEXI2PDF
) $<
248 calc
: $(infodir)/calc
249 $(infodir)/calc
: calc.texi
$(emacsdir
)/emacsver.texi
251 cd
$(srcdir); $(MAKEINFO
) $<
252 calc.
dvi: ${srcdir}/calc.texi
$(emacsdir
)/emacsver.texi
253 $(ENVADD
) $(TEXI2DVI
) $<
254 calc.pdf
: ${srcdir}/calc.texi
$(emacsdir
)/emacsver.texi
255 $(ENVADD
) $(TEXI2PDF
) $<
257 ccmode
: $(infodir)/ccmode
258 $(infodir)/ccmode
: cc-mode.texi
260 cd
$(srcdir); $(MAKEINFO
) $<
261 cc-mode.
dvi: ${srcdir}/cc-mode.texi
262 $(ENVADD
) $(TEXI2DVI
) $<
263 cc-mode.pdf
: ${srcdir}/cc-mode.texi
264 $(ENVADD
) $(TEXI2PDF
) $<
267 $(infodir)/cl
: cl.texi
269 cd
$(srcdir); $(MAKEINFO
) $<
270 cl.
dvi: ${srcdir}/cl.texi
271 $(ENVADD
) $(TEXI2DVI
) $<
272 cl.pdf
: ${srcdir}/cl.texi
273 $(ENVADD
) $(TEXI2PDF
) $<
275 dbus
: $(infodir)/dbus
276 $(infodir)/dbus
: dbus.texi
278 cd
$(srcdir); $(MAKEINFO
) $<
279 dbus.
dvi: ${srcdir}/dbus.texi
280 $(ENVADD
) $(TEXI2DVI
) $<
281 dbus.pdf
: ${srcdir}/dbus.texi
282 $(ENVADD
) $(TEXI2PDF
) $<
284 dired-x
: $(infodir)/dired-x
285 $(infodir)/dired-x
: dired-x.texi
287 cd
$(srcdir); $(MAKEINFO
) $<
288 dired-x.
dvi: ${srcdir}/dired-x.texi
289 $(ENVADD
) $(TEXI2DVI
) $<
290 dired-x.pdf
: ${srcdir}/dired-x.texi
291 $(ENVADD
) $(TEXI2PDF
) $<
293 ebrowse
: $(infodir)/ebrowse
294 $(infodir)/ebrowse
: ebrowse.texi
296 cd
$(srcdir); $(MAKEINFO
) $<
297 ebrowse.
dvi: ${srcdir}/ebrowse.texi
298 $(ENVADD
) $(TEXI2DVI
) $<
299 ebrowse.pdf
: ${srcdir}/ebrowse.texi
300 $(ENVADD
) $(TEXI2PDF
) $<
303 $(infodir)/ede
: ede.texi
305 cd
$(srcdir); $(MAKEINFO
) $<
306 ede.
dvi: ${srcdir}/ede.texi
307 $(ENVADD
) $(TEXI2DVI
) $<
308 ede.pdf
: ${srcdir}/ede.texi
309 $(ENVADD
) $(TEXI2PDF
) $<
311 ediff
: $(infodir)/ediff
312 $(infodir)/ediff
: ediff.texi
314 cd
$(srcdir); $(MAKEINFO
) $<
315 ediff.
dvi: ${srcdir}/ediff.texi
316 $(ENVADD
) $(TEXI2DVI
) $<
317 ediff.pdf
: ${srcdir}/ediff.texi
318 $(ENVADD
) $(TEXI2PDF
) $<
321 $(infodir)/edt
: edt.texi
323 cd
$(srcdir); $(MAKEINFO
) $<
324 edt.
dvi: ${srcdir}/edt.texi
325 $(ENVADD
) $(TEXI2DVI
) $<
326 edt.pdf
: ${srcdir}/edt.texi
327 $(ENVADD
) $(TEXI2PDF
) $<
329 eieio
: $(infodir)/eieio
330 $(infodir)/eieio
: eieio.texi
332 cd
$(srcdir); $(MAKEINFO
) $<
333 eieio.
dvi: ${srcdir}/eieio.texi
334 $(ENVADD
) $(TEXI2DVI
) $<
335 eieio.pdf
: ${srcdir}/eieio.texi
336 $(ENVADD
) $(TEXI2PDF
) $<
338 emacs-mime
: $(infodir)/emacs-mime
339 $(infodir)/emacs-mime
: emacs-mime.texi
341 cd
$(srcdir); $(MAKEINFO
) --enable-encoding
$<
342 emacs-mime.
dvi: ${srcdir}/emacs-mime.texi
343 $(ENVADD
) $(TEXI2DVI
) $<
344 emacs-mime.pdf
: ${srcdir}/emacs-mime.texi
345 $(ENVADD
) $(TEXI2PDF
) $<
348 $(infodir)/epa
: epa.texi
350 cd
$(srcdir); $(MAKEINFO
) $<
351 epa.
dvi: ${srcdir}/epa.texi
352 $(ENVADD
) $(TEXI2DVI
) $<
353 epa.pdf
: ${srcdir}/epa.texi
354 $(ENVADD
) $(TEXI2PDF
) $<
357 $(infodir)/erc
: erc.texi
359 cd
$(srcdir); $(MAKEINFO
) $<
360 erc.
dvi: ${srcdir}/erc.texi
361 $(ENVADD
) $(TEXI2DVI
) $<
362 erc.pdf
: ${srcdir}/erc.texi
363 $(ENVADD
) $(TEXI2PDF
) $<
366 $(infodir)/ert
: ert.texi
$(infodir)
367 cd
$(srcdir); $(MAKEINFO
) ert.texi
369 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ert.texi
371 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ert.texi
373 eshell
: $(infodir)/eshell
374 $(infodir)/eshell
: eshell.texi
376 cd
$(srcdir); $(MAKEINFO
) $<
377 eshell.
dvi: ${srcdir}/eshell.texi
378 $(ENVADD
) $(TEXI2DVI
) $<
379 eshell.pdf
: ${srcdir}/eshell.texi
380 $(ENVADD
) $(TEXI2PDF
) $<
382 eudc
: $(infodir)/eudc
383 $(infodir)/eudc
: eudc.texi
385 cd
$(srcdir); $(MAKEINFO
) $<
386 eudc.
dvi: ${srcdir}/eudc.texi
387 $(ENVADD
) $(TEXI2DVI
) $<
388 eudc.pdf
: ${srcdir}/eudc.texi
389 $(ENVADD
) $(TEXI2PDF
) $<
391 efaq
: $(infodir)/efaq
392 $(infodir)/efaq
: faq.texi
$(emacsdir
)/emacsver.texi
394 cd
$(srcdir); $(MAKEINFO
) $<
395 faq.
dvi: ${srcdir}/faq.texi
$(emacsdir
)/emacsver.texi
396 $(ENVADD
) $(TEXI2DVI
) $<
397 faq.pdf
: ${srcdir}/faq.texi
$(emacsdir
)/emacsver.texi
398 $(ENVADD
) $(TEXI2PDF
) $<
400 flymake
: $(infodir)/flymake
401 $(infodir)/flymake
: flymake.texi
403 cd
$(srcdir); $(MAKEINFO
) $<
404 flymake.
dvi: ${srcdir}/flymake.texi
405 $(ENVADD
) $(TEXI2DVI
) $<
406 flymake.pdf
: ${srcdir}/flymake.texi
407 $(ENVADD
) $(TEXI2PDF
) $<
409 forms
: $(infodir)/forms
410 $(infodir)/forms
: forms.texi
412 cd
$(srcdir); $(MAKEINFO
) $<
413 forms.
dvi: ${srcdir}/forms.texi
414 $(ENVADD
) $(TEXI2DVI
) $<
415 forms.pdf
: ${srcdir}/forms.texi
416 $(ENVADD
) $(TEXI2PDF
) $<
418 # gnus/message/emacs-mime/sieve/pgg are part of Gnus:
419 gnus
: $(infodir)/gnus
420 $(infodir)/gnus
: gnus.texi gnus-faq.texi
422 cd
$(srcdir); $(MAKEINFO
) $<
423 gnus.
dvi: ${srcdir}/gnus.texi gnus-faq.texi
424 sed
-e
'/@iflatex/,/@end iflatex/d' $< > gnustmp.texi
425 $(ENVADD
) $(TEXI2DVI
) gnustmp.texi
426 cp gnustmp.
dvi $*.
dvi
428 gnus.pdf
: ${srcdir}/gnus.texi gnus-faq.texi
429 sed
-e
'/@iflatex/,/@end iflatex/d' $< > gnustmp.texi
430 $(ENVADD
) $(TEXI2PDF
) gnustmp.texi
434 # This is produced with --no-split to avoid making files whose
435 # names clash on DOS 8+3 filesystems
436 idlwave
: $(infodir)/idlwave
437 $(infodir)/idlwave
: idlwave.texi
439 cd
$(srcdir); $(MAKEINFO
) --no-split
$<
440 idlwave.
dvi: ${srcdir}/idlwave.texi
441 $(ENVADD
) $(TEXI2DVI
) $<
442 idlwave.pdf
: ${srcdir}/idlwave.texi
443 $(ENVADD
) $(TEXI2PDF
) $<
445 # The following target uses an explicit -o switch to work around
446 # the @setfilename directive in info.texi, which is required for
447 # the Texinfo distribution.
448 ###info : $(infodir)/info # circular!
449 $(infodir)/info: info.texi
451 cd
$(srcdir); $(MAKEINFO
) --no-split
$< -o
$@
452 info.
dvi: ${srcdir}/info.texi
453 $(ENVADD
) $(TEXI2DVI
) $<
454 info.pdf
: ${srcdir}/info.texi
455 $(ENVADD
) $(TEXI2PDF
) $<
457 mairix-el
: $(infodir)/mairix-el
458 $(infodir)/mairix-el
: mairix-el.texi
460 cd
$(srcdir); $(MAKEINFO
) $<
461 mairix-el.
dvi: ${srcdir}/mairix-el.texi
462 $(ENVADD
) $(TEXI2DVI
) $<
463 mairix-el.pdf
: ${srcdir}/mairix-el.texi
464 $(ENVADD
) $(TEXI2PDF
) $<
466 message
: $(infodir)/message
467 $(infodir)/message
: message.texi
469 cd
$(srcdir); $(MAKEINFO
) $<
470 message.
dvi: ${srcdir}/message.texi
471 $(ENVADD
) $(TEXI2DVI
) $<
472 message.pdf
: ${srcdir}/message.texi
473 $(ENVADD
) $(TEXI2PDF
) $<
475 mh-e
: $(infodir)/mh-e
476 $(infodir)/mh-e
: mh-e.texi
478 cd
$(srcdir); $(MAKEINFO
) $<
479 mh-e.
dvi: ${srcdir}/mh-e.texi
480 $(ENVADD
) $(TEXI2DVI
) $<
481 mh-e.pdf
: ${srcdir}/mh-e.texi
482 $(ENVADD
) $(TEXI2PDF
) $<
484 newsticker
: $(infodir)/newsticker
485 $(infodir)/newsticker
: newsticker.texi
487 cd
$(srcdir); $(MAKEINFO
) $<
488 newsticker.
dvi: ${srcdir}/newsticker.texi
489 $(ENVADD
) $(TEXI2DVI
) $<
490 newsticker.pdf
: ${srcdir}/newsticker.texi
491 $(ENVADD
) $(TEXI2PDF
) $<
493 nxml-mode
: $(infodir)/nxml-mode
494 $(infodir)/nxml-mode
: nxml-mode.texi
496 cd
$(srcdir); $(MAKEINFO
) $<
497 nxml-mode.
dvi: ${srcdir}/nxml-mode.texi
498 $(ENVADD
) $(TEXI2DVI
) $<
499 nxml-mode.pdf
: ${srcdir}/nxml-mode.texi
500 $(ENVADD
) $(TEXI2PDF
) $<
503 $(infodir)/org
: org.texi
505 cd
$(srcdir); $(MAKEINFO
) $<
506 org.
dvi: ${srcdir}/org.texi
507 $(ENVADD
) $(TEXI2DVI
) $<
508 org.pdf
: ${srcdir}/org.texi
509 $(ENVADD
) $(TEXI2PDF
) $<
511 pcl-cvs
: $(infodir)/pcl-cvs
512 $(infodir)/pcl-cvs
: pcl-cvs.texi
514 cd
$(srcdir); $(MAKEINFO
) $<
515 pcl-cvs.
dvi: ${srcdir}/pcl-cvs.texi
516 $(ENVADD
) $(TEXI2DVI
) $<
517 pcl-cvs.pdf
: ${srcdir}/pcl-cvs.texi
518 $(ENVADD
) $(TEXI2PDF
) $<
521 $(infodir)/pgg
: pgg.texi
523 cd
$(srcdir); $(MAKEINFO
) $<
524 pgg.
dvi: ${srcdir}/pgg.texi
525 $(ENVADD
) $(TEXI2DVI
) $<
526 pgg.pdf
: ${srcdir}/pgg.texi
527 $(ENVADD
) $(TEXI2PDF
) $<
529 rcirc
: $(infodir)/rcirc
530 $(infodir)/rcirc
: rcirc.texi
532 cd
$(srcdir); $(MAKEINFO
) $<
533 rcirc.
dvi: ${srcdir}/rcirc.texi
534 $(ENVADD
) $(TEXI2DVI
) $<
535 rcirc.pdf
: ${srcdir}/rcirc.texi
536 $(ENVADD
) $(TEXI2PDF
) $<
538 reftex
: $(infodir)/reftex
539 $(infodir)/reftex
: reftex.texi
541 cd
$(srcdir); $(MAKEINFO
) $<
542 reftex.
dvi: ${srcdir}/reftex.texi
543 $(ENVADD
) $(TEXI2DVI
) $<
544 reftex.pdf
: ${srcdir}/reftex.texi
545 $(ENVADD
) $(TEXI2PDF
) $<
547 remember
: $(infodir)/remember
548 $(infodir)/remember
: remember.texi
550 cd
$(srcdir); $(MAKEINFO
) $<
551 remember.
dvi: ${srcdir}/remember.texi
552 $(ENVADD
) $(TEXI2DVI
) $<
553 remember.pdf
: ${srcdir}/remember.texi
554 $(ENVADD
) $(TEXI2PDF
) $<
556 sasl
: $(infodir)/sasl
557 $(infodir)/sasl
: sasl.texi
559 cd
$(srcdir); $(MAKEINFO
) $<
560 sasl.
dvi: ${srcdir}/sasl.texi
561 $(ENVADD
) $(TEXI2DVI
) $<
562 sasl.pdf
: ${srcdir}/sasl.texi
563 $(ENVADD
) $(TEXI2PDF
) $<
566 $(infodir)/sc
: sc.texi
568 cd
$(srcdir); $(MAKEINFO
) $<
569 sc.
dvi: ${srcdir}/sc.texi
570 $(ENVADD
) $(TEXI2DVI
) $<
571 sc.pdf
: ${srcdir}/sc.texi
572 $(ENVADD
) $(TEXI2PDF
) $<
574 semantic
: $(infodir)/semantic
575 $(infodir)/semantic
: semantic.texi sem-user.texi
577 cd
$(srcdir); $(MAKEINFO
) $<
578 semantic.
dvi: ${srcdir}/semantic.texi sem-user.texi
579 $(ENVADD
) $(TEXI2DVI
) $<
580 semantic.pdf
: ${srcdir}/semantic.texi sem-user.texi
581 $(ENVADD
) $(TEXI2PDF
) $<
584 $(infodir)/ses
: ses.texi
586 cd
$(srcdir); $(MAKEINFO
) $<
587 ses.
dvi: ${srcdir}/ses.texi
588 $(ENVADD
) $(TEXI2DVI
) $<
589 ses.pdf
: ${srcdir}/ses.texi
590 $(ENVADD
) $(TEXI2PDF
) $<
592 sieve
: $(infodir)/sieve
593 $(infodir)/sieve
: sieve.texi
595 cd
$(srcdir); $(MAKEINFO
) $<
596 sieve.
dvi: ${srcdir}/sieve.texi
597 $(ENVADD
) $(TEXI2DVI
) $<
598 sieve.pdf
: ${srcdir}/sieve.texi
599 $(ENVADD
) $(TEXI2PDF
) $<
601 smtpmail
: $(infodir)/smtpmail
602 $(infodir)/smtpmail
: smtpmail.texi
604 cd
$(srcdir); $(MAKEINFO
) $<
605 smtpmail.
dvi: ${srcdir}/smtpmail.texi
606 $(ENVADD
) $(TEXI2DVI
) $<
607 smtpmail.pdf
: ${srcdir}/smtpmail.texi
608 $(ENVADD
) $(TEXI2PDF
) $<
610 speedbar
: $(infodir)/speedbar
611 $(infodir)/speedbar
: speedbar.texi
613 cd
$(srcdir); $(MAKEINFO
) $<
614 speedbar.
dvi: ${srcdir}/speedbar.texi
615 $(ENVADD
) $(TEXI2DVI
) $<
616 speedbar.pdf
: ${srcdir}/speedbar.texi
617 $(ENVADD
) $(TEXI2PDF
) $<
619 tramp
: $(infodir)/tramp
620 $(infodir)/tramp
: tramp.texi trampver.texi
622 cd
$(srcdir); $(MAKEINFO
) -D emacs
$<
623 tramp.
dvi: ${srcdir}/tramp.texi trampver.texi
624 $(ENVADD
) $(TEXI2DVI
) $<
625 tramp.pdf
: ${srcdir}/tramp.texi trampver.texi
626 $(ENVADD
) $(TEXI2PDF
) $<
629 $(infodir)/url
: url.texi
631 cd
$(srcdir); $(MAKEINFO
) $<
632 url.
dvi: ${srcdir}/url.texi
633 $(ENVADD
) $(TEXI2DVI
) $<
634 url.pdf
: ${srcdir}/url.texi
635 $(ENVADD
) $(TEXI2PDF
) $<
638 $(infodir)/vip
: vip.texi
640 cd
$(srcdir); $(MAKEINFO
) $<
641 vip.
dvi: ${srcdir}/vip.texi
642 $(ENVADD
) $(TEXI2DVI
) $<
643 vip.pdf
: ${srcdir}/vip.texi
644 $(ENVADD
) $(TEXI2PDF
) $<
646 viper
: $(infodir)/viper
647 $(infodir)/viper
: viper.texi
649 cd
$(srcdir); $(MAKEINFO
) $<
650 viper.
dvi: ${srcdir}/viper.texi
651 $(ENVADD
) $(TEXI2DVI
) $<
652 viper.pdf
: ${srcdir}/viper.texi
653 $(ENVADD
) $(TEXI2PDF
) $<
655 widget
: $(infodir)/widget
656 $(infodir)/widget
: widget.texi
658 cd
$(srcdir); $(MAKEINFO
) $<
659 widget.
dvi: ${srcdir}/widget.texi
660 $(ENVADD
) $(TEXI2DVI
) $<
661 widget.pdf
: ${srcdir}/widget.texi
662 $(ENVADD
) $(TEXI2PDF
) $<
664 woman
: $(infodir)/woman
665 $(infodir)/woman
: woman.texi
667 cd
$(srcdir); $(MAKEINFO
) $<
668 woman.
dvi: ${srcdir}/woman.texi
669 $(ENVADD
) $(TEXI2DVI
) $<
670 woman.pdf
: ${srcdir}/woman.texi
671 $(ENVADD
) $(TEXI2PDF
) $<
674 .PHONY
: mostlyclean clean distclean maintainer-clean
677 rm -f
*.aux
*.log
*.toc
*.cp
*.cps
*.fn
*.fns
*.ky
*.kys \
678 *.op
*.ops
*.pg
*.pgs
*.tp
*.tps
*.vr
*.vrs
682 rm -f
$(DVI_TARGETS
) $(PDF_TARGETS
)
687 ## infodir is relative to srcdir.
688 maintainer-clean
: distclean
689 cd
$(srcdir); for file in
$(INFO_TARGETS
); do \
690 rm -f
$${file} $${file}-[1-9] $${file}-[1-9][0-9]; \
693 ### Makefile ends here