don't use function-equal in nadvice
[bpt/emacs.git] / doc / misc / Makefile.in
dissimilarity index 93%
index 02115a4..5353712 100644 (file)
-#### Makefile for documentation other than the Emacs manual.
-
-# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
-
-# This file is part of GNU Emacs.
-
-# GNU Emacs is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# GNU Emacs is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
-SHELL = /bin/sh
-
-# Where to find the source code.  $(srcdir) will be the man-aux
-# subdirectory of the source tree.  This is
-# set by the configure script's `--srcdir' option.
-srcdir=@srcdir@
-
-# Tell make where to find source files; this is needed for the makefiles.
-# Note the other doc Makefiles do not use VPATH anymore, instead
-# they set infodir to an absolute path.  Not doing that here in
-# case INFO_TARGETS gets too long for some feeble shells.
-# (cf src/Makefile.in's passing of $lisp to make-docfile)
-VPATH=@srcdir@
-
-## Where the output files go.
-## Note that the setfilename command in the .texi files assumes this.
-infodir=../../info
-## Directory with emacsver.texi.
-## Currently only used by efaq and calc.
-emacsdir = $(srcdir)/../emacs
-
-MKDIR_P = @MKDIR_P@
-
-INFO_EXT=@INFO_EXT@
-# Options used only when making info output.
-INFO_OPTS=@INFO_OPTS@
-
-# The makeinfo program is part of the Texinfo distribution.
-# Use --force so that it generates output even if there are errors.
-MAKEINFO = @MAKEINFO@
-MAKEINFO_OPTS = --force -I$(emacsdir)
-
-INFO_TARGETS = \
-       $(infodir)/ada-mode$(INFO_EXT) \
-       $(infodir)/auth$(INFO_EXT) \
-       $(infodir)/autotype$(INFO_EXT) \
-       $(infodir)/calc$(INFO_EXT) \
-       $(infodir)/ccmode$(INFO_EXT) \
-       $(infodir)/cl$(INFO_EXT) \
-       $(infodir)/dbus$(INFO_EXT) \
-       $(infodir)/dired-x$(INFO_EXT) \
-       $(infodir)/ebrowse$(INFO_EXT) \
-       $(infodir)/ede$(INFO_EXT) \
-       $(infodir)/ediff$(INFO_EXT) \
-       $(infodir)/edt$(INFO_EXT) \
-       $(infodir)/eieio$(INFO_EXT) \
-       $(infodir)/emacs-mime$(INFO_EXT) \
-       $(infodir)/epa$(INFO_EXT) \
-       $(infodir)/erc$(INFO_EXT) \
-       $(infodir)/ert$(INFO_EXT) \
-       $(infodir)/eshell$(INFO_EXT) \
-       $(infodir)/eudc$(INFO_EXT) \
-       $(infodir)/efaq$(INFO_EXT) \
-       $(infodir)/flymake$(INFO_EXT) \
-       $(infodir)/forms$(INFO_EXT) \
-       $(infodir)/gnus$(INFO_EXT) \
-       $(infodir)/emacs-gnutls$(INFO_EXT) \
-       $(infodir)/idlwave$(INFO_EXT) \
-       $(infodir)/info$(INFO_EXT) \
-       $(infodir)/mairix-el$(INFO_EXT) \
-       $(infodir)/message$(INFO_EXT) \
-       $(infodir)/mh-e$(INFO_EXT) \
-       $(infodir)/newsticker$(INFO_EXT) \
-       $(infodir)/nxml-mode$(INFO_EXT) \
-       $(infodir)/org$(INFO_EXT) \
-       $(infodir)/pcl-cvs$(INFO_EXT) \
-       $(infodir)/pgg$(INFO_EXT) \
-       $(infodir)/rcirc$(INFO_EXT) \
-       $(infodir)/remember$(INFO_EXT) \
-       $(infodir)/reftex$(INFO_EXT) \
-       $(infodir)/sasl$(INFO_EXT) \
-       $(infodir)/sc$(INFO_EXT) \
-       $(infodir)/semantic$(INFO_EXT) \
-       $(infodir)/ses$(INFO_EXT) \
-       $(infodir)/sieve$(INFO_EXT) \
-       $(infodir)/smtpmail$(INFO_EXT) \
-       $(infodir)/speedbar$(INFO_EXT) \
-       $(infodir)/tramp$(INFO_EXT) \
-       $(infodir)/url$(INFO_EXT) \
-       $(infodir)/vip$(INFO_EXT) \
-       $(infodir)/viper$(INFO_EXT) \
-       $(infodir)/widget$(INFO_EXT) \
-       $(infodir)/woman$(INFO_EXT)
-
-DVI_TARGETS = \
-       ada-mode.dvi \
-       auth.dvi \
-       autotype.dvi \
-       calc.dvi \
-       cc-mode.dvi \
-       cl.dvi \
-       dbus.dvi \
-       dired-x.dvi \
-       ebrowse.dvi \
-       ede.dvi \
-       ediff.dvi \
-       edt.dvi \
-       eieio.dvi \
-       emacs-mime.dvi \
-       epa.dvi \
-       erc.dvi \
-       ert.dvi \
-       eshell.dvi \
-       eudc.dvi \
-       faq.dvi \
-       flymake.dvi \
-       forms.dvi \
-       gnus.dvi \
-       emacs-gnutls.dvi \
-       idlwave.dvi \
-       info.dvi \
-       mairix-el.dvi \
-       message.dvi \
-       mh-e.dvi \
-       newsticker.dvi \
-       nxml-mode.dvi \
-       org.dvi \
-       pcl-cvs.dvi \
-       pgg.dvi \
-       rcirc.dvi \
-       reftex.dvi \
-       remember.dvi \
-       sasl.dvi \
-       sc.dvi \
-       semantic.dvi \
-       ses.dvi \
-       sieve.dvi \
-       smtpmail.dvi \
-       speedbar.dvi \
-       tramp.dvi \
-       url.dvi \
-       vip.dvi \
-       viper.dvi \
-       widget.dvi \
-       woman.dvi
-
-PDF_TARGETS = \
-       ada-mode.pdf \
-       auth.pdf \
-       autotype.pdf \
-       calc.pdf \
-       cc-mode.pdf \
-       cl.pdf \
-       dbus.pdf \
-       dired-x.pdf \
-       ebrowse.pdf \
-       ede.pdf \
-       ediff.pdf \
-       edt.pdf \
-       eieio.pdf \
-       emacs-mime.pdf \
-       epa.pdf \
-       erc.pdf \
-       ert.pdf \
-       eshell.pdf \
-       eudc.pdf \
-       faq.pdf \
-       flymake.pdf \
-       forms.pdf \
-       gnus.pdf \
-       emacs-gnutls.pdf \
-       idlwave.pdf \
-       info.pdf \
-       mairix-el.pdf \
-       message.pdf \
-       mh-e.pdf \
-       newsticker.pdf \
-       nxml-mode.pdf \
-       org.pdf \
-       pcl-cvs.pdf \
-       pgg.pdf \
-       rcirc.pdf \
-       reftex.pdf \
-       remember.pdf \
-       sasl.pdf \
-       sc.pdf \
-       semantic.pdf \
-       ses.pdf \
-       sieve.pdf \
-       smtpmail.pdf \
-       speedbar.pdf \
-       tramp.pdf \
-       url.pdf \
-       vip.pdf \
-       viper.pdf \
-       widget.pdf \
-       woman.pdf
-
-HTML_TARGETS = emacs-faq.html
-
-TEXI2DVI = texi2dvi
-TEXI2PDF = texi2pdf
-
-ENVADD = TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \
-         MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
-
-mkinfodir = @${MKDIR_P} ${srcdir}/${infodir}
-
-.PHONY: info dvi pdf echo-info
-
-# Default.
-info: $(INFO_TARGETS)
-
-## Used by top-level Makefile.
-echo-info:
-       @echo $(INFO_TARGETS) | sed 's|[^ ]*/||g'
-
-# please modify this for all the web manual targets
-webhack: clean
-       $(MAKE) pdf MAKEINFO_OPTS="-DWEBHACKDEVEL $(MAKEINFO_OPTS)"
-
-dvi: $(DVI_TARGETS)
-
-pdf: $(PDF_TARGETS)
-
-# Note that all the Info targets build the Info files
-# in srcdir.  There is no provision for Info files
-# to exist in the build directory.
-# In a distribution of Emacs, the Info files should be up to date.
-
-# Note: "<" is not portable in ordinary make rules.
-
-## "short" target names for convenience, to just rebuild one manual.
-ada-mode : $(infodir)/ada-mode$(INFO_EXT)
-$(infodir)/ada-mode$(INFO_EXT): ada-mode.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ada-mode.texi
-ada-mode.dvi: ${srcdir}/ada-mode.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi
-ada-mode.pdf: ${srcdir}/ada-mode.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ada-mode.texi
-
-auth : $(infodir)/auth$(INFO_EXT)
-$(infodir)/auth$(INFO_EXT): auth.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ auth.texi
-auth.dvi: ${srcdir}/auth.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/auth.texi
-auth.pdf: ${srcdir}/auth.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/auth.texi
-
-autotype : $(infodir)/autotype$(INFO_EXT)
-$(infodir)/autotype$(INFO_EXT): autotype.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ autotype.texi
-autotype.dvi: ${srcdir}/autotype.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi
-autotype.pdf: ${srcdir}/autotype.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/autotype.texi
-
-calc : $(infodir)/calc$(INFO_EXT)
-$(infodir)/calc$(INFO_EXT): calc.texi $(emacsdir)/emacsver.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ calc.texi
-calc.dvi: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi
-calc.pdf: ${srcdir}/calc.texi $(emacsdir)/emacsver.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/calc.texi
-
-ccmode : $(infodir)/ccmode$(INFO_EXT)
-$(infodir)/ccmode$(INFO_EXT): cc-mode.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ cc-mode.texi
-cc-mode.dvi: ${srcdir}/cc-mode.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi
-cc-mode.pdf: ${srcdir}/cc-mode.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/cc-mode.texi
-
-cl : $(infodir)/cl$(INFO_EXT)
-$(infodir)/cl$(INFO_EXT): cl.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ cl.texi
-cl.dvi: ${srcdir}/cl.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi
-cl.pdf: ${srcdir}/cl.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/cl.texi
-
-dbus : $(infodir)/dbus$(INFO_EXT)
-$(infodir)/dbus$(INFO_EXT): dbus.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ dbus.texi
-dbus.dvi: ${srcdir}/dbus.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/dbus.texi
-dbus.pdf: ${srcdir}/dbus.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/dbus.texi
-
-dired-x : $(infodir)/dired-x$(INFO_EXT)
-$(infodir)/dired-x$(INFO_EXT): dired-x.texi $(emacsdir)/emacsver.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ dired-x.texi
-dired-x.dvi: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi
-dired-x.pdf: ${srcdir}/dired-x.texi $(emacsdir)/emacsver.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/dired-x.texi
-
-ebrowse : $(infodir)/ebrowse$(INFO_EXT)
-$(infodir)/ebrowse$(INFO_EXT): ebrowse.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ebrowse.texi
-ebrowse.dvi: ${srcdir}/ebrowse.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi
-ebrowse.pdf: ${srcdir}/ebrowse.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ebrowse.texi
-
-ede : $(infodir)/ede$(INFO_EXT)
-$(infodir)/ede$(INFO_EXT): ede.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ede.texi
-ede.dvi: ${srcdir}/ede.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ede.texi
-ede.pdf: ${srcdir}/ede.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ede.texi
-
-ediff : $(infodir)/ediff$(INFO_EXT)
-$(infodir)/ediff$(INFO_EXT): ediff.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ediff.texi
-ediff.dvi: ${srcdir}/ediff.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi
-ediff.pdf: ${srcdir}/ediff.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ediff.texi
-
-edt : $(infodir)/edt$(INFO_EXT)
-$(infodir)/edt$(INFO_EXT): edt.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ edt.texi
-edt.dvi: ${srcdir}/edt.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/edt.texi
-edt.pdf: ${srcdir}/edt.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/edt.texi
-
-eieio : $(infodir)/eieio$(INFO_EXT)
-$(infodir)/eieio$(INFO_EXT): eieio.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ eieio.texi
-eieio.dvi: ${srcdir}/eieio.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/eieio.texi
-eieio.pdf: ${srcdir}/eieio.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/eieio.texi
-
-emacs-gnutls : $(infodir)/emacs-gnutls$(INFO_EXT)
-$(infodir)/emacs-gnutls$(INFO_EXT): emacs-gnutls.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ emacs-gnutls.texi
-emacs-gnutls.dvi: ${srcdir}/emacs-gnutls.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-gnutls.texi
-emacs-gnutls.pdf: ${srcdir}/emacs-gnutls.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-gnutls.texi
-
-emacs-mime : $(infodir)/emacs-mime$(INFO_EXT)
-$(infodir)/emacs-mime$(INFO_EXT): emacs-mime.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) --enable-encoding -o $@ emacs-mime.texi
-emacs-mime.dvi: ${srcdir}/emacs-mime.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi
-emacs-mime.pdf: ${srcdir}/emacs-mime.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-mime.texi
-
-epa : $(infodir)/epa$(INFO_EXT)
-$(infodir)/epa$(INFO_EXT): epa.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ epa.texi
-epa.dvi: ${srcdir}/epa.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/epa.texi
-epa.pdf: ${srcdir}/epa.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/epa.texi
-
-erc : $(infodir)/erc$(INFO_EXT)
-$(infodir)/erc$(INFO_EXT): erc.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ erc.texi
-erc.dvi: ${srcdir}/erc.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi
-erc.pdf: ${srcdir}/erc.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/erc.texi
-
-ert : $(infodir)/ert$(INFO_EXT)
-$(infodir)/ert$(INFO_EXT): ert.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ert.texi
-ert.dvi: ${srcdir}/ert.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ert.texi
-ert.pdf: ${srcdir}/ert.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ert.texi
-
-eshell : $(infodir)/eshell$(INFO_EXT)
-$(infodir)/eshell$(INFO_EXT): eshell.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ eshell.texi
-eshell.dvi: ${srcdir}/eshell.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi
-eshell.pdf: ${srcdir}/eshell.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/eshell.texi
-
-eudc : $(infodir)/eudc$(INFO_EXT)
-$(infodir)/eudc$(INFO_EXT): eudc.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ eudc.texi
-eudc.dvi: ${srcdir}/eudc.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi
-eudc.pdf: ${srcdir}/eudc.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/eudc.texi
-
-efaq : $(infodir)/efaq$(INFO_EXT)
-$(infodir)/efaq$(INFO_EXT): faq.texi $(emacsdir)/emacsver.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ faq.texi
-faq.dvi: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi
-faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/faq.texi
-## This is the name used on the Emacs web-page.
-## sed fixes up links to point to split version of the manual.
-emacs-faq.html: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
-       $(MAKEINFO) $(MAKEINFO_OPTS) --no-split \
-         --css-ref='/layout.css' --html -o $@ ${srcdir}/faq.texi
-       sed -i -e 's|a href="\([a-z]*\)\.html#\([^"]*\)"|a href="manual/html_node/\1/\2.html"|g' \
-         -e 's|/Top\.html|/|g' $@
-emacs-faq.text: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi
-       $(MAKEINFO) $(MAKEINFO_OPTS) --plaintext -o $@ ${srcdir}/faq.texi
-
-flymake : $(infodir)/flymake$(INFO_EXT)
-$(infodir)/flymake$(INFO_EXT): flymake.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ flymake.texi
-flymake.dvi: ${srcdir}/flymake.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi
-flymake.pdf: ${srcdir}/flymake.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/flymake.texi
-
-forms : $(infodir)/forms$(INFO_EXT)
-$(infodir)/forms$(INFO_EXT): forms.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ forms.texi
-forms.dvi: ${srcdir}/forms.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi
-forms.pdf: ${srcdir}/forms.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/forms.texi
-
-# gnus/message/emacs-mime/sieve/pgg are part of Gnus:
-gnus : $(infodir)/gnus$(INFO_EXT)
-$(infodir)/gnus$(INFO_EXT): gnus.texi gnus-faq.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ gnus.texi
-gnus.dvi: ${srcdir}/gnus.texi gnus-faq.texi
-       sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
-       $(ENVADD) $(TEXI2DVI) gnustmp.texi
-       cp gnustmp.dvi $*.dvi
-       rm gnustmp.*
-gnus.pdf: ${srcdir}/gnus.texi gnus-faq.texi
-       sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
-       $(ENVADD) $(TEXI2PDF) gnustmp.texi
-       cp gnustmp.pdf $@
-       rm gnustmp.*
-
-# NB this one needs --no-split even without a .info extension.
-idlwave : $(infodir)/idlwave$(INFO_EXT)
-$(infodir)/idlwave$(INFO_EXT): idlwave.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ idlwave.texi
-idlwave.dvi: ${srcdir}/idlwave.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi
-idlwave.pdf: ${srcdir}/idlwave.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/idlwave.texi
-
-# NB this one needs --no-split even without a .info extension.
-# Avoid name clash with overall "info" target.
-info.info : $(infodir)/info$(INFO_EXT)
-$(infodir)/info$(INFO_EXT): info.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ info.texi
-info.dvi: ${srcdir}/info.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi
-info.pdf: ${srcdir}/info.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/info.texi
-
-mairix-el : $(infodir)/mairix-el$(INFO_EXT)
-$(infodir)/mairix-el$(INFO_EXT): mairix-el.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ mairix-el.texi
-mairix-el.dvi: ${srcdir}/mairix-el.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/mairix-el.texi
-mairix-el.pdf: ${srcdir}/mairix-el.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/mairix-el.texi
-
-message : $(infodir)/message$(INFO_EXT)
-$(infodir)/message$(INFO_EXT): message.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ message.texi
-message.dvi: ${srcdir}/message.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi
-message.pdf: ${srcdir}/message.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/message.texi
-
-mh-e : $(infodir)/mh-e$(INFO_EXT)
-$(infodir)/mh-e$(INFO_EXT): mh-e.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ mh-e.texi
-mh-e.dvi: ${srcdir}/mh-e.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi
-mh-e.pdf: ${srcdir}/mh-e.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/mh-e.texi
-
-newsticker : $(infodir)/newsticker$(INFO_EXT)
-$(infodir)/newsticker$(INFO_EXT): newsticker.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ newsticker.texi
-newsticker.dvi: ${srcdir}/newsticker.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi
-newsticker.pdf: ${srcdir}/newsticker.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/newsticker.texi
-
-nxml-mode : $(infodir)/nxml-mode$(INFO_EXT)
-$(infodir)/nxml-mode$(INFO_EXT): nxml-mode.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ nxml-mode.texi
-nxml-mode.dvi: ${srcdir}/nxml-mode.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/nxml-mode.texi
-nxml-mode.pdf: ${srcdir}/nxml-mode.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/nxml-mode.texi
-
-org : $(infodir)/org$(INFO_EXT)
-$(infodir)/org$(INFO_EXT): org.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ org.texi
-org.dvi: ${srcdir}/org.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi
-org.pdf: ${srcdir}/org.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/org.texi
-
-pcl-cvs : $(infodir)/pcl-cvs$(INFO_EXT)
-$(infodir)/pcl-cvs$(INFO_EXT): pcl-cvs.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ pcl-cvs.texi
-pcl-cvs.dvi: ${srcdir}/pcl-cvs.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi
-pcl-cvs.pdf: ${srcdir}/pcl-cvs.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/pcl-cvs.texi
-
-pgg : $(infodir)/pgg$(INFO_EXT)
-$(infodir)/pgg$(INFO_EXT): pgg.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ pgg.texi
-pgg.dvi: ${srcdir}/pgg.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi
-pgg.pdf: ${srcdir}/pgg.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/pgg.texi
-
-rcirc : $(infodir)/rcirc$(INFO_EXT)
-$(infodir)/rcirc$(INFO_EXT): rcirc.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ rcirc.texi
-rcirc.dvi: ${srcdir}/rcirc.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi
-rcirc.pdf: ${srcdir}/rcirc.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/rcirc.texi
-
-reftex : $(infodir)/reftex$(INFO_EXT)
-$(infodir)/reftex$(INFO_EXT): reftex.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ reftex.texi
-reftex.dvi: ${srcdir}/reftex.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi
-reftex.pdf: ${srcdir}/reftex.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/reftex.texi
-
-remember : $(infodir)/remember$(INFO_EXT)
-$(infodir)/remember$(INFO_EXT): remember.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ remember.texi
-remember.dvi: ${srcdir}/remember.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/remember.texi
-remember.pdf: ${srcdir}/remember.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/remember.texi
-
-sasl : $(infodir)/sasl$(INFO_EXT)
-$(infodir)/sasl$(INFO_EXT): sasl.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ sasl.texi
-sasl.dvi: ${srcdir}/sasl.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/sasl.texi
-sasl.pdf: ${srcdir}/sasl.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/sasl.texi
-
-sc : $(infodir)/sc$(INFO_EXT)
-$(infodir)/sc$(INFO_EXT): sc.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ sc.texi
-sc.dvi: ${srcdir}/sc.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi
-sc.pdf: ${srcdir}/sc.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/sc.texi
-
-semantic : $(infodir)/semantic$(INFO_EXT)
-$(infodir)/semantic$(INFO_EXT): semantic.texi sem-user.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ semantic.texi
-semantic.dvi: ${srcdir}/semantic.texi sem-user.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/semantic.texi
-semantic.pdf: ${srcdir}/semantic.texi sem-user.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/semantic.texi
-
-ses : $(infodir)/ses$(INFO_EXT)
-$(infodir)/ses$(INFO_EXT): ses.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ses.texi
-ses.dvi: ${srcdir}/ses.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi
-ses.pdf: ${srcdir}/ses.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/ses.texi
-
-sieve : $(infodir)/sieve$(INFO_EXT)
-$(infodir)/sieve$(INFO_EXT): sieve.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ sieve.texi
-sieve.dvi: ${srcdir}/sieve.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi
-sieve.pdf: ${srcdir}/sieve.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/sieve.texi
-
-smtpmail : $(infodir)/smtpmail$(INFO_EXT)
-$(infodir)/smtpmail$(INFO_EXT): smtpmail.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ smtpmail.texi
-smtpmail.dvi: ${srcdir}/smtpmail.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi
-smtpmail.pdf: ${srcdir}/smtpmail.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/smtpmail.texi
-
-speedbar : $(infodir)/speedbar$(INFO_EXT)
-$(infodir)/speedbar$(INFO_EXT): speedbar.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ speedbar.texi
-speedbar.dvi: ${srcdir}/speedbar.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi
-speedbar.pdf: ${srcdir}/speedbar.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/speedbar.texi
-
-tramp : $(infodir)/tramp$(INFO_EXT)
-$(infodir)/tramp$(INFO_EXT): tramp.texi trampver.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ -D emacs tramp.texi
-tramp.dvi: ${srcdir}/tramp.texi trampver.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi
-tramp.pdf: ${srcdir}/tramp.texi trampver.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/tramp.texi
-
-url : $(infodir)/url$(INFO_EXT)
-$(infodir)/url$(INFO_EXT): url.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ url.texi
-url.dvi: ${srcdir}/url.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi
-url.pdf: ${srcdir}/url.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/url.texi
-
-vip : $(infodir)/vip$(INFO_EXT)
-$(infodir)/vip$(INFO_EXT): vip.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ vip.texi
-vip.dvi: ${srcdir}/vip.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi
-vip.pdf: ${srcdir}/vip.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/vip.texi
-
-viper : $(infodir)/viper$(INFO_EXT)
-$(infodir)/viper$(INFO_EXT): viper.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ viper.texi
-viper.dvi: ${srcdir}/viper.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi
-viper.pdf: ${srcdir}/viper.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/viper.texi
-
-widget : $(infodir)/widget$(INFO_EXT)
-$(infodir)/widget$(INFO_EXT): widget.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ widget.texi
-widget.dvi: ${srcdir}/widget.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi
-widget.pdf: ${srcdir}/widget.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi
-
-woman : $(infodir)/woman$(INFO_EXT)
-$(infodir)/woman$(INFO_EXT): woman.texi
-       $(mkinfodir)
-       cd $(srcdir); \
-         $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ woman.texi
-woman.dvi: ${srcdir}/woman.texi
-       $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi
-woman.pdf: ${srcdir}/woman.texi
-       $(ENVADD) $(TEXI2PDF) ${srcdir}/woman.texi
-
-
-.PHONY: mostlyclean clean distclean maintainer-clean
-
-mostlyclean:
-       rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
-         *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
-       rm -f gnustmp.*
-
-clean: mostlyclean
-       rm -f $(DVI_TARGETS) $(PDF_TARGETS) $(HTML_TARGETS) emacs-faq.text
-
-distclean: clean
-#      rm -f Makefile
-
-## infodir is relative to srcdir.
-maintainer-clean: distclean
-       cd $(srcdir); for file in $(INFO_TARGETS); do \
-         rm -f $${file} $${file}-[1-9] $${file}-[1-9][0-9]; \
-       done
-
-### Makefile ends here
+### @configure_input@
+
+# Copyright (C) 1994, 1996-2014 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+SHELL = @SHELL@
+
+# Where to find the source code.  $(srcdir) will be the doc/misc subdirectory
+# of the source tree.  This is set by configure's `--srcdir' option.
+srcdir=@srcdir@
+
+version=@version@
+
+## Where the output files go.
+## Note that all the Info targets build the Info files in srcdir.
+## There is no provision for Info files to exist in the build directory.
+## In a tarfile of Emacs, the Info files should be up to date.
+buildinfodir = $(srcdir)/../../info
+
+## Directory with emacsver.texi.
+emacsdir = $(srcdir)/../emacs
+
+prefix = @prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+docdir = @docdir@
+dvidir = @dvidir@
+htmldir = @htmldir@
+pdfdir = @pdfdir@
+psdir = @psdir@
+
+MKDIR_P = @MKDIR_P@
+
+GZIP_PROG = @GZIP_PROG@
+
+HTML_OPTS = --no-split --html
+
+# Options used only when making info output.
+# (Note that idlwave, info used --nosplit even without the .info extension.)
+INFO_OPTS= --no-split
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# The makeinfo program is part of the Texinfo distribution.
+# Use --force so that it generates output even if there are errors.
+# (TODO?  Why is this appropriate?)
+MAKEINFO = @MAKEINFO@
+MAKEINFO_OPTS = --force -I$(emacsdir)
+
+## On MS Windows, efaq-w32; otherwise blank.
+DOCMISC_W32 = @DOCMISC_W32@
+
+## Info files to build and install on all platforms.
+INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \
+       dbus dired-x ebrowse ede ediff edt eieio \
+       emacs-mime epa erc ert eshell eudc efaq eww \
+       flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \
+       mairix-el message mh-e newsticker nxml-mode octave-mode \
+       org pcl-cvs pgg rcirc remember reftex sasl \
+       sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \
+       url vhdl-mode vip viper widget wisent woman
+
+## Info files to install on current platform.
+INFO_INSTALL = $(INFO_COMMON) $(DOCMISC_W32)
+
+## Info files to build on current platform.
+## This is all of them, even though they might not all get installed,
+## because the info files are pre-built in release tarfiles.
+INFO_TARGETS = $(INFO_COMMON) efaq-w32
+
+# There are some naming differences between the info targets and the other
+# targets, so let's resolve them here.
+TARGETS_1 = $(INFO_INSTALL:ccmode=cc-mode)
+TARGETS = $(TARGETS_1:info.info=info)
+
+DVI_TARGETS  = $(TARGETS:=.dvi)
+HTML_TARGETS = $(TARGETS:=.html)
+PDF_TARGETS  = $(TARGETS:=.pdf)
+PS_TARGETS   = $(TARGETS:=.ps)
+
+TEXI2DVI = texi2dvi
+TEXI2PDF = texi2pdf
+DVIPS = dvips
+
+ENVADD = TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \
+         MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
+
+gfdl = ${srcdir}/doclicense.texi
+
+.PHONY: info dvi html pdf ps echo-info $(INFO_TARGETS)
+## Prevent implicit rule triggering for foo.info.
+.SUFFIXES:
+
+## Disable implicit rules.
+%.texi: ;
+
+# Default.
+info: $(INFO_TARGETS)
+
+## Used by top-level Makefile.
+## Base file names of output info files.
+echo-info:
+       @echo "$(INFO_INSTALL) " | \
+         sed -e 's|[^ ]*/||g' -e 's/\.info//g' -e "s/  */.info /g"
+
+dvi: $(DVI_TARGETS)
+
+html: $(HTML_TARGETS)
+
+pdf: $(PDF_TARGETS)
+
+ps: $(PS_TARGETS)
+
+${buildinfodir}:
+       ${MKDIR_P} $@
+
+### The general case.
+
+EXTRA_OPTS =
+
+${buildinfodir}/%.info: ${srcdir}/%.texi ${gfdl} | ${buildinfodir}
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) $(EXTRA_OPTS) -o $@ $<
+
+## The short aliases, eg efaq = $(buildinfodir)/efaq.info.
+define info_template
+ $(1): $$(buildinfodir)/$(1).info
+endef
+
+## "info" is already taken.
+info.info: $(buildinfodir)/info.info
+
+$(foreach ifile,$(filter-out info.info,$(INFO_TARGETS)),$(eval $(call info_template,$(ifile))))
+
+
+%.dvi: ${srcdir}/%.texi ${gfdl}
+       $(ENVADD) $(TEXI2DVI) $<
+
+%.pdf: ${srcdir}/%.texi ${gfdl}
+       $(ENVADD) $(TEXI2PDF) $<
+
+%.html: ${srcdir}/%.texi ${gfdl}
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) $(EXTRA_OPTS) -o $@ $<
+
+%.ps: %.dvi
+       $(DVIPS) -o $@ $<
+
+
+### The exceptions.
+
+## Extra dependencies.
+
+need_emacsver = calc cl dired-x efaq efaq-w32 erc ido reftex woman
+need_emacsver_prefix = $(addprefix ${buildinfodir}/,${need_emacsver})
+
+$(need_emacsver_prefix:=.info) $(need_emacsver:=.dvi) $(need_emacsver:=.pdf) $(need_emacsver:=.html) : ${emacsdir}/emacsver.texi
+
+$(buildinfodir)/gnus.info gnus.html: ${srcdir}/gnus-faq.texi
+
+$(buildinfodir)/semantic.info semantic.dvi semantic.pdf semantic.html: ${srcdir}/sem-user.texi
+
+
+## Please can we just rename cc-mode.texi to ccmode.texi...
+${buildinfodir}/ccmode.info: ${srcdir}/cc-mode.texi ${gfdl}
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
+
+## efaq, efaq_w32 do not depend on gfdl.
+## Maybe we can use .SECONDEXPANSION for this.
+${buildinfodir}/efaq%.info: ${srcdir}/efaq%.texi
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
+
+efaq%.dvi: ${srcdir}/efaq%.texi
+       $(ENVADD) $(TEXI2DVI) $<
+
+efaq%.pdf: ${srcdir}/efaq%.texi
+       $(ENVADD) $(TEXI2PDF) $<
+
+efaq%.html: ${srcdir}/efaq%.texi
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
+
+${buildinfodir}/emacs-mime.info emacs-mime.html: EXTRA_OPTS = --enable-encoding
+
+gnus_deps = ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl}
+gnus.dvi: $(gnus_deps)
+       sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmpdvi.texi
+       $(ENVADD) $(TEXI2DVI) gnustmpdvi.texi
+       cp gnustmpdvi.dvi $@
+       rm gnustmpdvi.*
+
+gnus.pdf: $(gnus_deps)
+       sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmppdf.texi
+       $(ENVADD) $(TEXI2PDF) gnustmppdf.texi
+       cp gnustmppdf.pdf $@
+       rm gnustmppdf.*
+
+${buildinfodir}/tramp.info tramp.html: EXTRA_OPTS = -D emacs
+${buildinfodir}/tramp.info tramp.html: ${srcdir}/trampver.texi
+
+
+.PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean
+
+mostlyclean:
+       rm -f *.aux *.log *.toc *.c[mp] *.c[mp]s *.fn *.fns \
+         *.ky *.kys *.op *.ops *.p[gj] *.p[gj]s *.sc *.scs *.ss \
+         *.t[gp] *.t[gp]s *.vr *.vrs
+       rm -f gnustmp*
+
+clean: mostlyclean
+       rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
+       rm -f efaq-w32.dvi efaq-w32.html efaq-w32.pdf efaq-w32.ps
+       rm -f emacs-misc-${version}.tar*
+
+distclean: clean
+       rm -f Makefile
+
+## buildinfodir is relative to srcdir.
+infoclean:
+       for file in $(INFO_TARGETS); do \
+         file=`echo $${file} | sed 's/\.info$$//'`.info; \
+         rm -f \
+           $(buildinfodir)/$${file} \
+           $(buildinfodir)/$${file}-[1-9] \
+           $(buildinfodir)/$${file}-[1-9][0-9]; \
+       done
+
+bootstrap-clean maintainer-clean: distclean infoclean
+
+dist:
+       rm -rf emacs-misc-${version}
+       mkdir emacs-misc-${version}
+       cp ${srcdir}/*.texi ${srcdir}/texinfo.tex \
+         $(emacsdir)/emacsver.texi ${srcdir}/ChangeLog* \
+         emacs-misc-${version}/
+       sed -e 's/@sr[c]dir@/./' \
+         -e 's/^\(emacsdir *=\).*/\1 ./' \
+         -e 's/^\(buildinfodir *=\).*/\1 ./' \
+         -e 's/^\(clean:.*\)/\1 infoclean/' \
+         -e "s/@ver[s]ion@/${version}/" \
+         -e 's/@MAKE[I]NFO@/makeinfo/' -e 's/@MK[D]IR_P@/mkdir -p/' \
+         ${srcdir}/Makefile.in > emacs-misc-${version}/Makefile
+       @if grep '@[a-zA-Z_]*@' emacs-misc-${version}/Makefile; then \
+         echo "Unexpanded configure variables in Makefile?" 1>&2; exit 1; \
+       fi
+       tar -cf emacs-misc-${version}.tar emacs-misc-${version}
+       rm -rf emacs-misc-${version}
+
+
+.PHONY: install-dvi install-html install-pdf install-ps install-doc
+
+install-dvi: dvi
+       umask 022; $(MKDIR_P) "$(DESTDIR)$(dvidir)"
+       $(INSTALL_DATA) $(DVI_TARGETS) "$(DESTDIR)$(dvidir)"
+install-html: html
+       umask 022; $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+       $(INSTALL_DATA) $(HTML_TARGETS) "$(DESTDIR)$(htmldir)"
+install-pdf: pdf
+        umask 022;$(MKDIR_P) "$(DESTDIR)$(pdfdir)"
+       $(INSTALL_DATA) $(PDF_TARGETS) "$(DESTDIR)$(pdfdir)"
+install-ps: ps
+       umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)"
+       for file in $(PS_TARGETS); do \
+         $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \
+         [ -n "${GZIP_PROG}" ] || continue; \
+         rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \
+         ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \
+       done
+
+## Top-level Makefile installs the info pages.
+install-doc: install-dvi install-html install-pdf install-ps
+
+
+
+.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
+
+uninstall-dvi:
+       for file in $(DVI_TARGETS); do \
+         rm -f "$(DESTDIR)$(dvidir)/$${file}"; \
+       done
+uninstall-html:
+       for file in $(HTML_TARGETS); do \
+         rm -f "$(DESTDIR)$(htmldir)/$${file}"; \
+       done
+uninstall-ps:
+       ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
+       for file in $(PS_TARGETS); do \
+         rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \
+       done
+uninstall-pdf:
+       for file in $(PDF_TARGETS); do \
+         rm -f "$(DESTDIR)$(pdfdir)/$${file}"; \
+       done
+
+uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
+
+
+### Makefile ends here