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
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.
30 # Note the other doc Makefiles do not use VPATH anymore, instead
31 # they set infodir to an absolute path. Not doing that here in
32 # case INFO_TARGETS gets too long for some feeble shells.
33 # (cf src/Makefile.in's shortlisp)
36 ## Where the output files go.
37 ## Note that the setfilename command in the .texi files assumes this.
39 ## Directory with emacsver.texi.
40 ## Currently only used by efaq and calc.
41 emacsdir
= $(srcdir)/..
/emacs
43 # The makeinfo program is part of the Texinfo distribution.
44 # Use --force so that it generates output even if there are errors.
45 MAKEINFO
= makeinfo --force -I
$(emacsdir
)
47 # Also add new entries to INFO_FILES in the top-level Makefile.in.
62 $(infodir)/emacs-mime \
74 $(infodir)/mairix-el \
77 $(infodir)/newsticker \
78 $(infodir)/nxml-mode \
204 ENVADD
= TEXINPUTS
="$(srcdir):$(emacsdir):$(TEXINPUTS)" MAKEINFO
="$(MAKEINFO) -I$(srcdir)"
206 mkinfodir
= @cd
${srcdir}; test -d
${infodir} || mkdir
${infodir} ||
test -d
${infodir}
210 info: $(INFO_TARGETS
)
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
225 cd
$(srcdir); $(MAKEINFO
) $<
226 ada-mode.
dvi: ${srcdir}/ada-mode.texi
227 $(ENVADD
) $(TEXI2DVI
) $<
228 ada-mode.pdf
: ${srcdir}/ada-mode.texi
229 $(ENVADD
) $(TEXI2PDF
) $<
231 auth
: $(infodir)/auth
232 $(infodir)/auth
: auth.texi
234 cd
$(srcdir); $(MAKEINFO
) $<
235 auth.
dvi: ${srcdir}/auth.texi
236 $(ENVADD
) $(TEXI2DVI
) $<
237 auth.pdf
: ${srcdir}/auth.texi
238 $(ENVADD
) $(TEXI2PDF
) $<
240 autotype
: $(infodir)/autotype
241 $(infodir)/autotype
: autotype.texi
243 cd
$(srcdir); $(MAKEINFO
) $<
244 autotype.
dvi: ${srcdir}/autotype.texi
245 $(ENVADD
) $(TEXI2DVI
) $<
246 autotype.pdf
: ${srcdir}/autotype.texi
247 $(ENVADD
) $(TEXI2PDF
) $<
249 calc
: $(infodir)/calc
250 $(infodir)/calc
: calc.texi
$(emacsdir
)/emacsver.texi
252 cd
$(srcdir); $(MAKEINFO
) $<
253 calc.
dvi: ${srcdir}/calc.texi
$(emacsdir
)/emacsver.texi
254 $(ENVADD
) $(TEXI2DVI
) $<
255 calc.pdf
: ${srcdir}/calc.texi
$(emacsdir
)/emacsver.texi
256 $(ENVADD
) $(TEXI2PDF
) $<
258 ccmode
: $(infodir)/ccmode
259 $(infodir)/ccmode
: cc-mode.texi
261 cd
$(srcdir); $(MAKEINFO
) $<
262 cc-mode.
dvi: ${srcdir}/cc-mode.texi
263 $(ENVADD
) $(TEXI2DVI
) $<
264 cc-mode.pdf
: ${srcdir}/cc-mode.texi
265 $(ENVADD
) $(TEXI2PDF
) $<
268 $(infodir)/cl
: cl.texi
270 cd
$(srcdir); $(MAKEINFO
) $<
271 cl.
dvi: ${srcdir}/cl.texi
272 $(ENVADD
) $(TEXI2DVI
) $<
273 cl.pdf
: ${srcdir}/cl.texi
274 $(ENVADD
) $(TEXI2PDF
) $<
276 dbus
: $(infodir)/dbus
277 $(infodir)/dbus
: dbus.texi
279 cd
$(srcdir); $(MAKEINFO
) $<
280 dbus.
dvi: ${srcdir}/dbus.texi
281 $(ENVADD
) $(TEXI2DVI
) $<
282 dbus.pdf
: ${srcdir}/dbus.texi
283 $(ENVADD
) $(TEXI2PDF
) $<
285 dired-x
: $(infodir)/dired-x
286 $(infodir)/dired-x
: dired-x.texi
288 cd
$(srcdir); $(MAKEINFO
) $<
289 dired-x.
dvi: ${srcdir}/dired-x.texi
290 $(ENVADD
) $(TEXI2DVI
) $<
291 dired-x.pdf
: ${srcdir}/dired-x.texi
292 $(ENVADD
) $(TEXI2PDF
) $<
294 ebrowse
: $(infodir)/ebrowse
295 $(infodir)/ebrowse
: ebrowse.texi
297 cd
$(srcdir); $(MAKEINFO
) $<
298 ebrowse.
dvi: ${srcdir}/ebrowse.texi
299 $(ENVADD
) $(TEXI2DVI
) $<
300 ebrowse.pdf
: ${srcdir}/ebrowse.texi
301 $(ENVADD
) $(TEXI2PDF
) $<
304 $(infodir)/ede
: ede.texi
306 cd
$(srcdir); $(MAKEINFO
) $<
307 ede.
dvi: ${srcdir}/ede.texi
308 $(ENVADD
) $(TEXI2DVI
) $<
309 ede.pdf
: ${srcdir}/ede.texi
310 $(ENVADD
) $(TEXI2PDF
) $<
312 ediff
: $(infodir)/ediff
313 $(infodir)/ediff
: ediff.texi
315 cd
$(srcdir); $(MAKEINFO
) $<
316 ediff.
dvi: ${srcdir}/ediff.texi
317 $(ENVADD
) $(TEXI2DVI
) $<
318 ediff.pdf
: ${srcdir}/ediff.texi
319 $(ENVADD
) $(TEXI2PDF
) $<
322 $(infodir)/edt
: edt.texi
324 cd
$(srcdir); $(MAKEINFO
) $<
325 edt.
dvi: ${srcdir}/edt.texi
326 $(ENVADD
) $(TEXI2DVI
) $<
327 edt.pdf
: ${srcdir}/edt.texi
328 $(ENVADD
) $(TEXI2PDF
) $<
330 eieio
: $(infodir)/eieio
331 $(infodir)/eieio
: eieio.texi
333 cd
$(srcdir); $(MAKEINFO
) $<
334 eieio.
dvi: ${srcdir}/eieio.texi
335 $(ENVADD
) $(TEXI2DVI
) $<
336 eieio.pdf
: ${srcdir}/eieio.texi
337 $(ENVADD
) $(TEXI2PDF
) $<
339 emacs-mime
: $(infodir)/emacs-mime
340 $(infodir)/emacs-mime
: emacs-mime.texi
342 cd
$(srcdir); $(MAKEINFO
) --enable-encoding
$<
343 emacs-mime.
dvi: ${srcdir}/emacs-mime.texi
344 $(ENVADD
) $(TEXI2DVI
) $<
345 emacs-mime.pdf
: ${srcdir}/emacs-mime.texi
346 $(ENVADD
) $(TEXI2PDF
) $<
349 $(infodir)/epa
: epa.texi
351 cd
$(srcdir); $(MAKEINFO
) $<
352 epa.
dvi: ${srcdir}/epa.texi
353 $(ENVADD
) $(TEXI2DVI
) $<
354 epa.pdf
: ${srcdir}/epa.texi
355 $(ENVADD
) $(TEXI2PDF
) $<
358 $(infodir)/erc
: erc.texi
360 cd
$(srcdir); $(MAKEINFO
) $<
361 erc.
dvi: ${srcdir}/erc.texi
362 $(ENVADD
) $(TEXI2DVI
) $<
363 erc.pdf
: ${srcdir}/erc.texi
364 $(ENVADD
) $(TEXI2PDF
) $<
367 $(infodir)/ert
: ert.texi
$(infodir)
368 cd
$(srcdir); $(MAKEINFO
) ert.texi
370 $(ENVADD
) $(TEXI2DVI
) ${srcdir}/ert.texi
372 $(ENVADD
) $(TEXI2PDF
) ${srcdir}/ert.texi
374 eshell
: $(infodir)/eshell
375 $(infodir)/eshell
: eshell.texi
377 cd
$(srcdir); $(MAKEINFO
) $<
378 eshell.
dvi: ${srcdir}/eshell.texi
379 $(ENVADD
) $(TEXI2DVI
) $<
380 eshell.pdf
: ${srcdir}/eshell.texi
381 $(ENVADD
) $(TEXI2PDF
) $<
383 eudc
: $(infodir)/eudc
384 $(infodir)/eudc
: eudc.texi
386 cd
$(srcdir); $(MAKEINFO
) $<
387 eudc.
dvi: ${srcdir}/eudc.texi
388 $(ENVADD
) $(TEXI2DVI
) $<
389 eudc.pdf
: ${srcdir}/eudc.texi
390 $(ENVADD
) $(TEXI2PDF
) $<
392 efaq
: $(infodir)/efaq
393 $(infodir)/efaq
: faq.texi
$(emacsdir
)/emacsver.texi
395 cd
$(srcdir); $(MAKEINFO
) $<
396 faq.
dvi: ${srcdir}/faq.texi
$(emacsdir
)/emacsver.texi
397 $(ENVADD
) $(TEXI2DVI
) $<
398 faq.pdf
: ${srcdir}/faq.texi
$(emacsdir
)/emacsver.texi
399 $(ENVADD
) $(TEXI2PDF
) $<
401 flymake
: $(infodir)/flymake
402 $(infodir)/flymake
: flymake.texi
404 cd
$(srcdir); $(MAKEINFO
) $<
405 flymake.
dvi: ${srcdir}/flymake.texi
406 $(ENVADD
) $(TEXI2DVI
) $<
407 flymake.pdf
: ${srcdir}/flymake.texi
408 $(ENVADD
) $(TEXI2PDF
) $<
410 forms
: $(infodir)/forms
411 $(infodir)/forms
: forms.texi
413 cd
$(srcdir); $(MAKEINFO
) $<
414 forms.
dvi: ${srcdir}/forms.texi
415 $(ENVADD
) $(TEXI2DVI
) $<
416 forms.pdf
: ${srcdir}/forms.texi
417 $(ENVADD
) $(TEXI2PDF
) $<
419 # gnus/message/emacs-mime/sieve/pgg are part of Gnus:
420 gnus
: $(infodir)/gnus
421 $(infodir)/gnus
: gnus.texi gnus-faq.texi
423 cd
$(srcdir); $(MAKEINFO
) $<
424 gnus.
dvi: ${srcdir}/gnus.texi gnus-faq.texi
425 sed
-e
'/@iflatex/,/@end iflatex/d' $< > gnustmp.texi
426 $(ENVADD
) $(TEXI2DVI
) gnustmp.texi
427 cp gnustmp.
dvi $*.
dvi
429 gnus.pdf
: ${srcdir}/gnus.texi gnus-faq.texi
430 sed
-e
'/@iflatex/,/@end iflatex/d' $< > gnustmp.texi
431 $(ENVADD
) $(TEXI2PDF
) gnustmp.texi
435 # This is produced with --no-split to avoid making files whose
436 # names clash on DOS 8+3 filesystems
437 idlwave
: $(infodir)/idlwave
438 $(infodir)/idlwave
: idlwave.texi
440 cd
$(srcdir); $(MAKEINFO
) --no-split
$<
441 idlwave.
dvi: ${srcdir}/idlwave.texi
442 $(ENVADD
) $(TEXI2DVI
) $<
443 idlwave.pdf
: ${srcdir}/idlwave.texi
444 $(ENVADD
) $(TEXI2PDF
) $<
446 # The following target uses an explicit -o switch to work around
447 # the @setfilename directive in info.texi, which is required for
448 # the Texinfo distribution.
449 ###info : $(infodir)/info # circular!
450 $(infodir)/info: info.texi
452 cd
$(srcdir); $(MAKEINFO
) --no-split
$< -o
$@
453 info.
dvi: ${srcdir}/info.texi
454 $(ENVADD
) $(TEXI2DVI
) $<
455 info.pdf
: ${srcdir}/info.texi
456 $(ENVADD
) $(TEXI2PDF
) $<
458 mairix-el
: $(infodir)/mairix-el
459 $(infodir)/mairix-el
: mairix-el.texi
461 cd
$(srcdir); $(MAKEINFO
) $<
462 mairix-el.
dvi: ${srcdir}/mairix-el.texi
463 $(ENVADD
) $(TEXI2DVI
) $<
464 mairix-el.pdf
: ${srcdir}/mairix-el.texi
465 $(ENVADD
) $(TEXI2PDF
) $<
467 message
: $(infodir)/message
468 $(infodir)/message
: message.texi
470 cd
$(srcdir); $(MAKEINFO
) $<
471 message.
dvi: ${srcdir}/message.texi
472 $(ENVADD
) $(TEXI2DVI
) $<
473 message.pdf
: ${srcdir}/message.texi
474 $(ENVADD
) $(TEXI2PDF
) $<
476 mh-e
: $(infodir)/mh-e
477 $(infodir)/mh-e
: mh-e.texi
479 cd
$(srcdir); $(MAKEINFO
) $<
480 mh-e.
dvi: ${srcdir}/mh-e.texi
481 $(ENVADD
) $(TEXI2DVI
) $<
482 mh-e.pdf
: ${srcdir}/mh-e.texi
483 $(ENVADD
) $(TEXI2PDF
) $<
485 newsticker
: $(infodir)/newsticker
486 $(infodir)/newsticker
: newsticker.texi
488 cd
$(srcdir); $(MAKEINFO
) $<
489 newsticker.
dvi: ${srcdir}/newsticker.texi
490 $(ENVADD
) $(TEXI2DVI
) $<
491 newsticker.pdf
: ${srcdir}/newsticker.texi
492 $(ENVADD
) $(TEXI2PDF
) $<
494 nxml-mode
: $(infodir)/nxml-mode
495 $(infodir)/nxml-mode
: nxml-mode.texi
497 cd
$(srcdir); $(MAKEINFO
) $<
498 nxml-mode.
dvi: ${srcdir}/nxml-mode.texi
499 $(ENVADD
) $(TEXI2DVI
) $<
500 nxml-mode.pdf
: ${srcdir}/nxml-mode.texi
501 $(ENVADD
) $(TEXI2PDF
) $<
504 $(infodir)/org
: org.texi
506 cd
$(srcdir); $(MAKEINFO
) $<
507 org.
dvi: ${srcdir}/org.texi
508 $(ENVADD
) $(TEXI2DVI
) $<
509 org.pdf
: ${srcdir}/org.texi
510 $(ENVADD
) $(TEXI2PDF
) $<
512 pcl-cvs
: $(infodir)/pcl-cvs
513 $(infodir)/pcl-cvs
: pcl-cvs.texi
515 cd
$(srcdir); $(MAKEINFO
) $<
516 pcl-cvs.
dvi: ${srcdir}/pcl-cvs.texi
517 $(ENVADD
) $(TEXI2DVI
) $<
518 pcl-cvs.pdf
: ${srcdir}/pcl-cvs.texi
519 $(ENVADD
) $(TEXI2PDF
) $<
522 $(infodir)/pgg
: pgg.texi
524 cd
$(srcdir); $(MAKEINFO
) $<
525 pgg.
dvi: ${srcdir}/pgg.texi
526 $(ENVADD
) $(TEXI2DVI
) $<
527 pgg.pdf
: ${srcdir}/pgg.texi
528 $(ENVADD
) $(TEXI2PDF
) $<
530 rcirc
: $(infodir)/rcirc
531 $(infodir)/rcirc
: rcirc.texi
533 cd
$(srcdir); $(MAKEINFO
) $<
534 rcirc.
dvi: ${srcdir}/rcirc.texi
535 $(ENVADD
) $(TEXI2DVI
) $<
536 rcirc.pdf
: ${srcdir}/rcirc.texi
537 $(ENVADD
) $(TEXI2PDF
) $<
539 reftex
: $(infodir)/reftex
540 $(infodir)/reftex
: reftex.texi
542 cd
$(srcdir); $(MAKEINFO
) $<
543 reftex.
dvi: ${srcdir}/reftex.texi
544 $(ENVADD
) $(TEXI2DVI
) $<
545 reftex.pdf
: ${srcdir}/reftex.texi
546 $(ENVADD
) $(TEXI2PDF
) $<
548 remember
: $(infodir)/remember
549 $(infodir)/remember
: remember.texi
551 cd
$(srcdir); $(MAKEINFO
) $<
552 remember.
dvi: ${srcdir}/remember.texi
553 $(ENVADD
) $(TEXI2DVI
) $<
554 remember.pdf
: ${srcdir}/remember.texi
555 $(ENVADD
) $(TEXI2PDF
) $<
557 sasl
: $(infodir)/sasl
558 $(infodir)/sasl
: sasl.texi
560 cd
$(srcdir); $(MAKEINFO
) $<
561 sasl.
dvi: ${srcdir}/sasl.texi
562 $(ENVADD
) $(TEXI2DVI
) $<
563 sasl.pdf
: ${srcdir}/sasl.texi
564 $(ENVADD
) $(TEXI2PDF
) $<
567 $(infodir)/sc
: sc.texi
569 cd
$(srcdir); $(MAKEINFO
) $<
570 sc.
dvi: ${srcdir}/sc.texi
571 $(ENVADD
) $(TEXI2DVI
) $<
572 sc.pdf
: ${srcdir}/sc.texi
573 $(ENVADD
) $(TEXI2PDF
) $<
575 semantic
: $(infodir)/semantic
576 $(infodir)/semantic
: semantic.texi sem-user.texi
578 cd
$(srcdir); $(MAKEINFO
) $<
579 semantic.
dvi: ${srcdir}/semantic.texi sem-user.texi
580 $(ENVADD
) $(TEXI2DVI
) $<
581 semantic.pdf
: ${srcdir}/semantic.texi sem-user.texi
582 $(ENVADD
) $(TEXI2PDF
) $<
585 $(infodir)/ses
: ses.texi
587 cd
$(srcdir); $(MAKEINFO
) $<
588 ses.
dvi: ${srcdir}/ses.texi
589 $(ENVADD
) $(TEXI2DVI
) $<
590 ses.pdf
: ${srcdir}/ses.texi
591 $(ENVADD
) $(TEXI2PDF
) $<
593 sieve
: $(infodir)/sieve
594 $(infodir)/sieve
: sieve.texi
596 cd
$(srcdir); $(MAKEINFO
) $<
597 sieve.
dvi: ${srcdir}/sieve.texi
598 $(ENVADD
) $(TEXI2DVI
) $<
599 sieve.pdf
: ${srcdir}/sieve.texi
600 $(ENVADD
) $(TEXI2PDF
) $<
602 smtpmail
: $(infodir)/smtpmail
603 $(infodir)/smtpmail
: smtpmail.texi
605 cd
$(srcdir); $(MAKEINFO
) $<
606 smtpmail.
dvi: ${srcdir}/smtpmail.texi
607 $(ENVADD
) $(TEXI2DVI
) $<
608 smtpmail.pdf
: ${srcdir}/smtpmail.texi
609 $(ENVADD
) $(TEXI2PDF
) $<
611 speedbar
: $(infodir)/speedbar
612 $(infodir)/speedbar
: speedbar.texi
614 cd
$(srcdir); $(MAKEINFO
) $<
615 speedbar.
dvi: ${srcdir}/speedbar.texi
616 $(ENVADD
) $(TEXI2DVI
) $<
617 speedbar.pdf
: ${srcdir}/speedbar.texi
618 $(ENVADD
) $(TEXI2PDF
) $<
620 tramp
: $(infodir)/tramp
621 $(infodir)/tramp
: tramp.texi trampver.texi
623 cd
$(srcdir); $(MAKEINFO
) -D emacs
$<
624 tramp.
dvi: ${srcdir}/tramp.texi trampver.texi
625 $(ENVADD
) $(TEXI2DVI
) $<
626 tramp.pdf
: ${srcdir}/tramp.texi trampver.texi
627 $(ENVADD
) $(TEXI2PDF
) $<
630 $(infodir)/url
: url.texi
632 cd
$(srcdir); $(MAKEINFO
) $<
633 url.
dvi: ${srcdir}/url.texi
634 $(ENVADD
) $(TEXI2DVI
) $<
635 url.pdf
: ${srcdir}/url.texi
636 $(ENVADD
) $(TEXI2PDF
) $<
639 $(infodir)/vip
: vip.texi
641 cd
$(srcdir); $(MAKEINFO
) $<
642 vip.
dvi: ${srcdir}/vip.texi
643 $(ENVADD
) $(TEXI2DVI
) $<
644 vip.pdf
: ${srcdir}/vip.texi
645 $(ENVADD
) $(TEXI2PDF
) $<
647 viper
: $(infodir)/viper
648 $(infodir)/viper
: viper.texi
650 cd
$(srcdir); $(MAKEINFO
) $<
651 viper.
dvi: ${srcdir}/viper.texi
652 $(ENVADD
) $(TEXI2DVI
) $<
653 viper.pdf
: ${srcdir}/viper.texi
654 $(ENVADD
) $(TEXI2PDF
) $<
656 widget
: $(infodir)/widget
657 $(infodir)/widget
: widget.texi
659 cd
$(srcdir); $(MAKEINFO
) $<
660 widget.
dvi: ${srcdir}/widget.texi
661 $(ENVADD
) $(TEXI2DVI
) $<
662 widget.pdf
: ${srcdir}/widget.texi
663 $(ENVADD
) $(TEXI2PDF
) $<
665 woman
: $(infodir)/woman
666 $(infodir)/woman
: woman.texi
668 cd
$(srcdir); $(MAKEINFO
) $<
669 woman.
dvi: ${srcdir}/woman.texi
670 $(ENVADD
) $(TEXI2DVI
) $<
671 woman.pdf
: ${srcdir}/woman.texi
672 $(ENVADD
) $(TEXI2PDF
) $<
675 .PHONY
: mostlyclean clean distclean maintainer-clean
678 rm -f
*.aux
*.log
*.toc
*.cp
*.cps
*.fn
*.fns
*.ky
*.kys \
679 *.op
*.ops
*.pg
*.pgs
*.tp
*.tps
*.vr
*.vrs
683 rm -f
$(DVI_TARGETS
) $(PDF_TARGETS
)
688 ## infodir is relative to srcdir.
689 maintainer-clean
: distclean
690 cd
$(srcdir); for file in
$(INFO_TARGETS
); do \
691 rm -f
$${file} $${file}-[1-9] $${file}-[1-9][0-9]; \
694 ### Makefile ends here