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.
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 \
73 $(infodir)/mairix-el \
76 $(infodir)/newsticker \
77 $(infodir)/nxml-mode \
201 ENVADD
= TEXINPUTS
="$(srcdir):$(emacsdir):$(TEXINPUTS)" MAKEINFO
="$(MAKEINFO) -I$(srcdir)"
203 mkinfodir
= @cd
${srcdir}; test -d
${infodir} || mkdir
${infodir} ||
test -d
${infodir}
207 info: $(INFO_TARGETS
)
213 # Note that all the Info targets build the Info files
214 # in srcdir. There is no provision for Info files
215 # to exist in the build directory.
216 # In a distribution of Emacs, the Info files should be up to date.
218 ## "short" target names for convenience, to just rebuild one manual.
219 ada-mode
: $(infodir)/ada-mode
220 $(infodir)/ada-mode
: ada-mode.texi
222 cd
$(srcdir); $(MAKEINFO
) $<
223 ada-mode.
dvi: ${srcdir}/ada-mode.texi
224 $(ENVADD
) $(TEXI2DVI
) $<
225 ada-mode.pdf
: ${srcdir}/ada-mode.texi
226 $(ENVADD
) $(TEXI2PDF
) $<
228 auth
: $(infodir)/auth
229 $(infodir)/auth
: auth.texi
231 cd
$(srcdir); $(MAKEINFO
) $<
232 auth.
dvi: ${srcdir}/auth.texi
233 $(ENVADD
) $(TEXI2DVI
) $<
234 auth.pdf
: ${srcdir}/auth.texi
235 $(ENVADD
) $(TEXI2PDF
) $<
237 autotype
: $(infodir)/autotype
238 $(infodir)/autotype
: autotype.texi
240 cd
$(srcdir); $(MAKEINFO
) $<
241 autotype.
dvi: ${srcdir}/autotype.texi
242 $(ENVADD
) $(TEXI2DVI
) $<
243 autotype.pdf
: ${srcdir}/autotype.texi
244 $(ENVADD
) $(TEXI2PDF
) $<
246 calc
: $(infodir)/calc
247 $(infodir)/calc
: calc.texi
$(emacsdir
)/emacsver.texi
249 cd
$(srcdir); $(MAKEINFO
) $<
250 calc.
dvi: ${srcdir}/calc.texi
$(emacsdir
)/emacsver.texi
251 $(ENVADD
) $(TEXI2DVI
) $<
252 calc.pdf
: ${srcdir}/calc.texi
$(emacsdir
)/emacsver.texi
253 $(ENVADD
) $(TEXI2PDF
) $<
255 ccmode
: $(infodir)/ccmode
256 $(infodir)/ccmode
: cc-mode.texi
258 cd
$(srcdir); $(MAKEINFO
) $<
259 cc-mode.
dvi: ${srcdir}/cc-mode.texi
260 $(ENVADD
) $(TEXI2DVI
) $<
261 cc-mode.pdf
: ${srcdir}/cc-mode.texi
262 $(ENVADD
) $(TEXI2PDF
) $<
265 $(infodir)/cl
: cl.texi
267 cd
$(srcdir); $(MAKEINFO
) $<
268 cl.
dvi: ${srcdir}/cl.texi
269 $(ENVADD
) $(TEXI2DVI
) $<
270 cl.pdf
: ${srcdir}/cl.texi
271 $(ENVADD
) $(TEXI2PDF
) $<
273 dbus
: $(infodir)/dbus
274 $(infodir)/dbus
: dbus.texi
276 cd
$(srcdir); $(MAKEINFO
) $<
277 dbus.
dvi: ${srcdir}/dbus.texi
278 $(ENVADD
) $(TEXI2DVI
) $<
279 dbus.pdf
: ${srcdir}/dbus.texi
280 $(ENVADD
) $(TEXI2PDF
) $<
282 dired-x
: $(infodir)/dired-x
283 $(infodir)/dired-x
: dired-x.texi
285 cd
$(srcdir); $(MAKEINFO
) $<
286 dired-x.
dvi: ${srcdir}/dired-x.texi
287 $(ENVADD
) $(TEXI2DVI
) $<
288 dired-x.pdf
: ${srcdir}/dired-x.texi
289 $(ENVADD
) $(TEXI2PDF
) $<
291 ebrowse
: $(infodir)/ebrowse
292 $(infodir)/ebrowse
: ebrowse.texi
294 cd
$(srcdir); $(MAKEINFO
) $<
295 ebrowse.
dvi: ${srcdir}/ebrowse.texi
296 $(ENVADD
) $(TEXI2DVI
) $<
297 ebrowse.pdf
: ${srcdir}/ebrowse.texi
298 $(ENVADD
) $(TEXI2PDF
) $<
301 $(infodir)/ede
: ede.texi
303 cd
$(srcdir); $(MAKEINFO
) $<
304 ede.
dvi: ${srcdir}/ede.texi
305 $(ENVADD
) $(TEXI2DVI
) $<
306 ede.pdf
: ${srcdir}/ede.texi
307 $(ENVADD
) $(TEXI2PDF
) $<
309 ediff
: $(infodir)/ediff
310 $(infodir)/ediff
: ediff.texi
312 cd
$(srcdir); $(MAKEINFO
) $<
313 ediff.
dvi: ${srcdir}/ediff.texi
314 $(ENVADD
) $(TEXI2DVI
) $<
315 ediff.pdf
: ${srcdir}/ediff.texi
316 $(ENVADD
) $(TEXI2PDF
) $<
319 $(infodir)/edt
: edt.texi
321 cd
$(srcdir); $(MAKEINFO
) $<
322 edt.
dvi: ${srcdir}/edt.texi
323 $(ENVADD
) $(TEXI2DVI
) $<
324 edt.pdf
: ${srcdir}/edt.texi
325 $(ENVADD
) $(TEXI2PDF
) $<
327 eieio
: $(infodir)/eieio
328 $(infodir)/eieio
: eieio.texi
330 cd
$(srcdir); $(MAKEINFO
) $<
331 eieio.
dvi: ${srcdir}/eieio.texi
332 $(ENVADD
) $(TEXI2DVI
) $<
333 eieio.pdf
: ${srcdir}/eieio.texi
334 $(ENVADD
) $(TEXI2PDF
) $<
336 emacs-mime
: $(infodir)/emacs-mime
337 $(infodir)/emacs-mime
: emacs-mime.texi
339 cd
$(srcdir); $(MAKEINFO
) --enable-encoding
$<
340 emacs-mime.
dvi: ${srcdir}/emacs-mime.texi
341 $(ENVADD
) $(TEXI2DVI
) $<
342 emacs-mime.pdf
: ${srcdir}/emacs-mime.texi
343 $(ENVADD
) $(TEXI2PDF
) $<
346 $(infodir)/epa
: epa.texi
348 cd
$(srcdir); $(MAKEINFO
) $<
349 epa.
dvi: ${srcdir}/epa.texi
350 $(ENVADD
) $(TEXI2DVI
) $<
351 epa.pdf
: ${srcdir}/epa.texi
352 $(ENVADD
) $(TEXI2PDF
) $<
355 $(infodir)/erc
: erc.texi
357 cd
$(srcdir); $(MAKEINFO
) $<
358 erc.
dvi: ${srcdir}/erc.texi
359 $(ENVADD
) $(TEXI2DVI
) $<
360 erc.pdf
: ${srcdir}/erc.texi
361 $(ENVADD
) $(TEXI2PDF
) $<
363 eshell
: $(infodir)/eshell
364 $(infodir)/eshell
: eshell.texi
366 cd
$(srcdir); $(MAKEINFO
) $<
367 eshell.
dvi: ${srcdir}/eshell.texi
368 $(ENVADD
) $(TEXI2DVI
) $<
369 eshell.pdf
: ${srcdir}/eshell.texi
370 $(ENVADD
) $(TEXI2PDF
) $<
372 eudc
: $(infodir)/eudc
373 $(infodir)/eudc
: eudc.texi
375 cd
$(srcdir); $(MAKEINFO
) $<
376 eudc.
dvi: ${srcdir}/eudc.texi
377 $(ENVADD
) $(TEXI2DVI
) $<
378 eudc.pdf
: ${srcdir}/eudc.texi
379 $(ENVADD
) $(TEXI2PDF
) $<
381 efaq
: $(infodir)/efaq
382 $(infodir)/efaq
: faq.texi
$(emacsdir
)/emacsver.texi
384 cd
$(srcdir); $(MAKEINFO
) $<
385 faq.
dvi: ${srcdir}/faq.texi
$(emacsdir
)/emacsver.texi
386 $(ENVADD
) $(TEXI2DVI
) $<
387 faq.pdf
: ${srcdir}/faq.texi
$(emacsdir
)/emacsver.texi
388 $(ENVADD
) $(TEXI2PDF
) $<
390 flymake
: $(infodir)/flymake
391 $(infodir)/flymake
: flymake.texi
393 cd
$(srcdir); $(MAKEINFO
) $<
394 flymake.
dvi: ${srcdir}/flymake.texi
395 $(ENVADD
) $(TEXI2DVI
) $<
396 flymake.pdf
: ${srcdir}/flymake.texi
397 $(ENVADD
) $(TEXI2PDF
) $<
399 forms
: $(infodir)/forms
400 $(infodir)/forms
: forms.texi
402 cd
$(srcdir); $(MAKEINFO
) $<
403 forms.
dvi: ${srcdir}/forms.texi
404 $(ENVADD
) $(TEXI2DVI
) $<
405 forms.pdf
: ${srcdir}/forms.texi
406 $(ENVADD
) $(TEXI2PDF
) $<
408 # gnus/message/emacs-mime/sieve/pgg are part of Gnus:
409 gnus
: $(infodir)/gnus
410 $(infodir)/gnus
: gnus.texi gnus-faq.texi
412 cd
$(srcdir); $(MAKEINFO
) $<
413 gnus.
dvi: ${srcdir}/gnus.texi gnus-faq.texi
414 sed
-e
'/@iflatex/,/@end iflatex/d' $< > gnustmp.texi
415 $(ENVADD
) $(TEXI2DVI
) gnustmp.texi
416 cp gnustmp.
dvi $*.
dvi
418 gnus.pdf
: ${srcdir}/gnus.texi gnus-faq.texi
419 sed
-e
'/@iflatex/,/@end iflatex/d' $< > gnustmp.texi
420 $(ENVADD
) $(TEXI2PDF
) gnustmp.texi
424 # This is produced with --no-split to avoid making files whose
425 # names clash on DOS 8+3 filesystems
426 idlwave
: $(infodir)/idlwave
427 $(infodir)/idlwave
: idlwave.texi
429 cd
$(srcdir); $(MAKEINFO
) --no-split
$<
430 idlwave.
dvi: ${srcdir}/idlwave.texi
431 $(ENVADD
) $(TEXI2DVI
) $<
432 idlwave.pdf
: ${srcdir}/idlwave.texi
433 $(ENVADD
) $(TEXI2PDF
) $<
435 # The following target uses an explicit -o switch to work around
436 # the @setfilename directive in info.texi, which is required for
437 # the Texinfo distribution.
438 ###info : $(infodir)/info # circular!
439 $(infodir)/info: info.texi
441 cd
$(srcdir); $(MAKEINFO
) --no-split
$< -o
$@
442 info.
dvi: ${srcdir}/info.texi
443 $(ENVADD
) $(TEXI2DVI
) $<
444 info.pdf
: ${srcdir}/info.texi
445 $(ENVADD
) $(TEXI2PDF
) $<
447 mairix-el
: $(infodir)/mairix-el
448 $(infodir)/mairix-el
: mairix-el.texi
450 cd
$(srcdir); $(MAKEINFO
) $<
451 mairix-el.
dvi: ${srcdir}/mairix-el.texi
452 $(ENVADD
) $(TEXI2DVI
) $<
453 mairix-el.pdf
: ${srcdir}/mairix-el.texi
454 $(ENVADD
) $(TEXI2PDF
) $<
456 message
: $(infodir)/message
457 $(infodir)/message
: message.texi
459 cd
$(srcdir); $(MAKEINFO
) $<
460 message.
dvi: ${srcdir}/message.texi
461 $(ENVADD
) $(TEXI2DVI
) $<
462 message.pdf
: ${srcdir}/message.texi
463 $(ENVADD
) $(TEXI2PDF
) $<
465 mh-e
: $(infodir)/mh-e
466 $(infodir)/mh-e
: mh-e.texi
468 cd
$(srcdir); $(MAKEINFO
) $<
469 mh-e.
dvi: ${srcdir}/mh-e.texi
470 $(ENVADD
) $(TEXI2DVI
) $<
471 mh-e.pdf
: ${srcdir}/mh-e.texi
472 $(ENVADD
) $(TEXI2PDF
) $<
474 newsticker
: $(infodir)/newsticker
475 $(infodir)/newsticker
: newsticker.texi
477 cd
$(srcdir); $(MAKEINFO
) $<
478 newsticker.
dvi: ${srcdir}/newsticker.texi
479 $(ENVADD
) $(TEXI2DVI
) $<
480 newsticker.pdf
: ${srcdir}/newsticker.texi
481 $(ENVADD
) $(TEXI2PDF
) $<
483 nxml-mode
: $(infodir)/nxml-mode
484 $(infodir)/nxml-mode
: nxml-mode.texi
486 cd
$(srcdir); $(MAKEINFO
) $<
487 nxml-mode.
dvi: ${srcdir}/nxml-mode.texi
488 $(ENVADD
) $(TEXI2DVI
) $<
489 nxml-mode.pdf
: ${srcdir}/nxml-mode.texi
490 $(ENVADD
) $(TEXI2PDF
) $<
493 $(infodir)/org
: org.texi
495 cd
$(srcdir); $(MAKEINFO
) $<
496 org.
dvi: ${srcdir}/org.texi
497 $(ENVADD
) $(TEXI2DVI
) $<
498 org.pdf
: ${srcdir}/org.texi
499 $(ENVADD
) $(TEXI2PDF
) $<
501 pcl-cvs
: $(infodir)/pcl-cvs
502 $(infodir)/pcl-cvs
: pcl-cvs.texi
504 cd
$(srcdir); $(MAKEINFO
) $<
505 pcl-cvs.
dvi: ${srcdir}/pcl-cvs.texi
506 $(ENVADD
) $(TEXI2DVI
) $<
507 pcl-cvs.pdf
: ${srcdir}/pcl-cvs.texi
508 $(ENVADD
) $(TEXI2PDF
) $<
511 $(infodir)/pgg
: pgg.texi
513 cd
$(srcdir); $(MAKEINFO
) $<
514 pgg.
dvi: ${srcdir}/pgg.texi
515 $(ENVADD
) $(TEXI2DVI
) $<
516 pgg.pdf
: ${srcdir}/pgg.texi
517 $(ENVADD
) $(TEXI2PDF
) $<
519 rcirc
: $(infodir)/rcirc
520 $(infodir)/rcirc
: rcirc.texi
522 cd
$(srcdir); $(MAKEINFO
) $<
523 rcirc.
dvi: ${srcdir}/rcirc.texi
524 $(ENVADD
) $(TEXI2DVI
) $<
525 rcirc.pdf
: ${srcdir}/rcirc.texi
526 $(ENVADD
) $(TEXI2PDF
) $<
528 reftex
: $(infodir)/reftex
529 $(infodir)/reftex
: reftex.texi
531 cd
$(srcdir); $(MAKEINFO
) $<
532 reftex.
dvi: ${srcdir}/reftex.texi
533 $(ENVADD
) $(TEXI2DVI
) $<
534 reftex.pdf
: ${srcdir}/reftex.texi
535 $(ENVADD
) $(TEXI2PDF
) $<
537 remember
: $(infodir)/remember
538 $(infodir)/remember
: remember.texi
540 cd
$(srcdir); $(MAKEINFO
) $<
541 remember.
dvi: ${srcdir}/remember.texi
542 $(ENVADD
) $(TEXI2DVI
) $<
543 remember.pdf
: ${srcdir}/remember.texi
544 $(ENVADD
) $(TEXI2PDF
) $<
546 sasl
: $(infodir)/sasl
547 $(infodir)/sasl
: sasl.texi
549 cd
$(srcdir); $(MAKEINFO
) $<
550 sasl.
dvi: ${srcdir}/sasl.texi
551 $(ENVADD
) $(TEXI2DVI
) $<
552 sasl.pdf
: ${srcdir}/sasl.texi
553 $(ENVADD
) $(TEXI2PDF
) $<
556 $(infodir)/sc
: sc.texi
558 cd
$(srcdir); $(MAKEINFO
) $<
559 sc.
dvi: ${srcdir}/sc.texi
560 $(ENVADD
) $(TEXI2DVI
) $<
561 sc.pdf
: ${srcdir}/sc.texi
562 $(ENVADD
) $(TEXI2PDF
) $<
564 semantic
: $(infodir)/semantic
565 $(infodir)/semantic
: semantic.texi sem-user.texi
567 cd
$(srcdir); $(MAKEINFO
) $<
568 semantic.
dvi: ${srcdir}/semantic.texi sem-user.texi
569 $(ENVADD
) $(TEXI2DVI
) $<
570 semantic.pdf
: ${srcdir}/semantic.texi sem-user.texi
571 $(ENVADD
) $(TEXI2PDF
) $<
574 $(infodir)/ses
: ses.texi
576 cd
$(srcdir); $(MAKEINFO
) $<
577 ses.
dvi: ${srcdir}/ses.texi
578 $(ENVADD
) $(TEXI2DVI
) $<
579 ses.pdf
: ${srcdir}/ses.texi
580 $(ENVADD
) $(TEXI2PDF
) $<
582 sieve
: $(infodir)/sieve
583 $(infodir)/sieve
: sieve.texi
585 cd
$(srcdir); $(MAKEINFO
) $<
586 sieve.
dvi: ${srcdir}/sieve.texi
587 $(ENVADD
) $(TEXI2DVI
) $<
588 sieve.pdf
: ${srcdir}/sieve.texi
589 $(ENVADD
) $(TEXI2PDF
) $<
591 smtpmail
: $(infodir)/smtpmail
592 $(infodir)/smtpmail
: smtpmail.texi
594 cd
$(srcdir); $(MAKEINFO
) $<
595 smtpmail.
dvi: ${srcdir}/smtpmail.texi
596 $(ENVADD
) $(TEXI2DVI
) $<
597 smtpmail.pdf
: ${srcdir}/smtpmail.texi
598 $(ENVADD
) $(TEXI2PDF
) $<
600 speedbar
: $(infodir)/speedbar
601 $(infodir)/speedbar
: speedbar.texi
603 cd
$(srcdir); $(MAKEINFO
) $<
604 speedbar.
dvi: ${srcdir}/speedbar.texi
605 $(ENVADD
) $(TEXI2DVI
) $<
606 speedbar.pdf
: ${srcdir}/speedbar.texi
607 $(ENVADD
) $(TEXI2PDF
) $<
609 tramp
: $(infodir)/tramp
610 $(infodir)/tramp
: tramp.texi trampver.texi
612 cd
$(srcdir); $(MAKEINFO
) -D emacs
$<
613 tramp.
dvi: ${srcdir}/tramp.texi trampver.texi
614 $(ENVADD
) $(TEXI2DVI
) $<
615 tramp.pdf
: ${srcdir}/tramp.texi trampver.texi
616 $(ENVADD
) $(TEXI2PDF
) $<
619 $(infodir)/url
: url.texi
621 cd
$(srcdir); $(MAKEINFO
) $<
622 url.
dvi: ${srcdir}/url.texi
623 $(ENVADD
) $(TEXI2DVI
) $<
624 url.pdf
: ${srcdir}/url.texi
625 $(ENVADD
) $(TEXI2PDF
) $<
628 $(infodir)/vip
: vip.texi
630 cd
$(srcdir); $(MAKEINFO
) $<
631 vip.
dvi: ${srcdir}/vip.texi
632 $(ENVADD
) $(TEXI2DVI
) $<
633 vip.pdf
: ${srcdir}/vip.texi
634 $(ENVADD
) $(TEXI2PDF
) $<
636 viper
: $(infodir)/viper
637 $(infodir)/viper
: viper.texi
639 cd
$(srcdir); $(MAKEINFO
) $<
640 viper.
dvi: ${srcdir}/viper.texi
641 $(ENVADD
) $(TEXI2DVI
) $<
642 viper.pdf
: ${srcdir}/viper.texi
643 $(ENVADD
) $(TEXI2PDF
) $<
645 widget
: $(infodir)/widget
646 $(infodir)/widget
: widget.texi
648 cd
$(srcdir); $(MAKEINFO
) $<
649 widget.
dvi: ${srcdir}/widget.texi
650 $(ENVADD
) $(TEXI2DVI
) $<
651 widget.pdf
: ${srcdir}/widget.texi
652 $(ENVADD
) $(TEXI2PDF
) $<
654 woman
: $(infodir)/woman
655 $(infodir)/woman
: woman.texi
657 cd
$(srcdir); $(MAKEINFO
) $<
658 woman.
dvi: ${srcdir}/woman.texi
659 $(ENVADD
) $(TEXI2DVI
) $<
660 woman.pdf
: ${srcdir}/woman.texi
661 $(ENVADD
) $(TEXI2PDF
) $<
664 .PHONY
: mostlyclean clean distclean maintainer-clean
667 rm -f
*.aux
*.log
*.toc
*.cp
*.cps
*.fn
*.fns
*.ky
*.kys \
668 *.op
*.ops
*.pg
*.pgs
*.tp
*.tps
*.vr
*.vrs
672 rm -f
$(DVI_TARGETS
) $(PDF_TARGETS
)
677 ## infodir is relative to srcdir.
678 maintainer-clean
: distclean
679 cd
$(srcdir); for file in
$(INFO_TARGETS
); do \
680 rm -f
$${file} $${file}-[1-9] $${file}-[1-9][0-9]; \
683 ### Makefile ends here