changeset 110882:b8bcd2311f78

Avoid having a directory as a prerequisite in doc Makefiles. It does not play well with time-stamping. * doc/misc/Makefile.in ($(infodir)): Delete rule. (mkinfodir): New. Use it in all the info rules, rather than depending on infodir. * doc/lispref/Makefile.in ($(infodir)): Delete rule. (mkinfodir): New. ($(infodir)/elisp): Use $mkinfodir instead of infodir. * doc/lispintro/Makefile.in ($(infodir)): Delete rule. (mkinfodir): New. ($(infodir)/eintr): Use $mkinfodir instead of infodir. * doc/emacs/Makefile.in ($(infodir)): Delete rule. (mkinfodir): New. ($(infodir)/emacs): Use $mkinfodir instead of infodir.
author Glenn Morris <rgm@gnu.org>
date Sat, 09 Oct 2010 11:31:12 -0700
parents b71665f4f9ba
children 9d181264b9f9
files doc/emacs/ChangeLog doc/emacs/Makefile.in doc/lispintro/ChangeLog doc/lispintro/Makefile.in doc/lispref/ChangeLog doc/lispref/Makefile.in doc/misc/ChangeLog doc/misc/Makefile.in
diffstat 8 files changed, 133 insertions(+), 62 deletions(-) [+]
line wrap: on
line diff
--- a/doc/emacs/ChangeLog	Sat Oct 09 10:59:55 2010 -0700
+++ b/doc/emacs/ChangeLog	Sat Oct 09 11:31:12 2010 -0700
@@ -1,5 +1,9 @@
 2010-10-09  Glenn Morris  <rgm@gnu.org>
 
+	* Makefile.in ($(infodir)): Delete rule.
+	(mkinfodir): New.
+	($(infodir)/emacs): Use $mkinfodir instead of infodir.
+
 	* Makefile.in (distclean): Do not delete emacsver.texi.
 	* emacsver.texi: New file, replacing emacsver.texi.in.
 
--- a/doc/emacs/Makefile.in	Sat Oct 09 10:59:55 2010 -0700
+++ b/doc/emacs/Makefile.in	Sat Oct 09 11:31:12 2010 -0700
@@ -117,13 +117,15 @@
 	${srcdir}/kmacro.texi \
 	$(EMACS_XTRA)
 
+## This seems pointless.  The info/ directory exists in both the
+## repository and the release tarfiles.  We do not use any
+## equivalent of mkdir -p/mkinstalldirs, so this is not a general
+## solution anyway.  The second test -d is for parallel builds.
+mkinfodir = @test -d ${infodir} || mkdir ${infodir} || test -d ${infodir}
+
 .PHONY: info dvi pdf
 
 info: $(infodir)/emacs
-
-$(infodir):
-	mkdir $@ || test -d $@
-
 dvi: emacs.dvi
 pdf: emacs.pdf
 
@@ -131,7 +133,8 @@
 # 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.
 
-$(infodir)/emacs: $(infodir) ${EMACSSOURCES}
+$(infodir)/emacs: ${EMACSSOURCES}
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) emacs.texi -o $@
 
 emacs.dvi: ${EMACSSOURCES}
--- a/doc/lispintro/ChangeLog	Sat Oct 09 10:59:55 2010 -0700
+++ b/doc/lispintro/ChangeLog	Sat Oct 09 11:31:12 2010 -0700
@@ -1,3 +1,9 @@
+2010-10-09  Glenn Morris  <rgm@gnu.org>
+
+	* Makefile.in ($(infodir)): Delete rule.
+	(mkinfodir): New.
+	($(infodir)/eintr): Use $mkinfodir instead of infodir.
+
 2010-10-09  Glenn Morris  <rgm@gnu.org>
 
 	* Makefile.in (.PHONY): Declare info, dvi, html, pdf, dist.
--- a/doc/lispintro/Makefile.in	Sat Oct 09 10:59:55 2010 -0700
+++ b/doc/lispintro/Makefile.in	Sat Oct 09 11:31:12 2010 -0700
@@ -34,22 +34,22 @@
 TEXI2PDF = texi2pdf
 DVIPS = dvips
 
+mkinfodir = @test -d ${infodir} || mkdir ${infodir} || test -d ${infodir}
+
 .SUFFIXES: .dvi .ps .texi
 
 .PHONY: info dvi html pdf
 
 info: ${infodir}/eintr
 
-$(infodir):
-	mkdir $@ || test -d $@
-
 dvi: emacs-lisp-intro.dvi
 html: emacs-lisp-intro.html
 pdf: emacs-lisp-intro.pdf
 
 # The file name eintr must fit within 5 characters, to allow for
 # -NN extensions to fit into DOS 8+3 limits without clashing.
-${infodir}/eintr: $(infodir) ${srcdir}/emacs-lisp-intro.texi
+${infodir}/eintr: ${srcdir}/emacs-lisp-intro.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) emacs-lisp-intro.texi -o $@
 
 emacs-lisp-intro.dvi: ${srcdir}/emacs-lisp-intro.texi
--- a/doc/lispref/ChangeLog	Sat Oct 09 10:59:55 2010 -0700
+++ b/doc/lispref/ChangeLog	Sat Oct 09 11:31:12 2010 -0700
@@ -1,3 +1,9 @@
+2010-10-09  Glenn Morris  <rgm@gnu.org>
+
+	* Makefile.in ($(infodir)): Delete rule.
+	(mkinfodir): New.
+	($(infodir)/elisp): Use $mkinfodir instead of infodir.
+
 2010-10-09  Glenn Morris  <rgm@gnu.org>
 
 	* Makefile.in (emacsdir): New variable.
--- a/doc/lispref/Makefile.in	Sat Oct 09 10:59:55 2010 -0700
+++ b/doc/lispref/Makefile.in	Sat Oct 09 11:31:12 2010 -0700
@@ -96,6 +96,8 @@
   $(srcdir)/gpl.texi \
   $(srcdir)/doclicense.texi
 
+mkinfodir = @test -d ${infodir} || mkdir ${infodir} || test -d ${infodir}
+
 .PHONY: info dvi pdf
 
 # The info file is named `elisp'.
@@ -103,10 +105,8 @@
 dvi: elisp.dvi
 pdf: elisp.pdf
 
-$(infodir):
-	mkdir $@ || test -d $@
-
-$(infodir)/elisp: $(infodir) $(srcs)
+$(infodir)/elisp: $(srcs)
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) -I. -I$(texinfodir) elisp.texi -o $@
 
 elisp.dvi: $(srcs)
--- a/doc/misc/ChangeLog	Sat Oct 09 10:59:55 2010 -0700
+++ b/doc/misc/ChangeLog	Sat Oct 09 11:31:12 2010 -0700
@@ -1,3 +1,9 @@
+2010-10-09  Glenn Morris  <rgm@gnu.org>
+
+	* Makefile.in ($(infodir)): Delete rule.
+	(mkinfodir): New.  Use it in all the info rules, rather than depending
+	on infodir.
+
 2010-10-09  Glenn Morris  <rgm@gnu.org>
 
 	* gnus.texi (Article Washing): Fix previous change.
--- a/doc/misc/Makefile.in	Sat Oct 09 10:59:55 2010 -0700
+++ b/doc/misc/Makefile.in	Sat Oct 09 11:31:12 2010 -0700
@@ -201,14 +201,12 @@
 
 ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)"
 
+mkinfodir = @test -d ${infodir} || mkdir ${infodir} || test -d ${infodir}
 
 .PHONY: info dvi pdf
 
 info: $(INFO_TARGETS)
 
-$(infodir):
-	mkdir $@ || test -d $@
-
 dvi: $(DVI_TARGETS)
 
 pdf: $(PDF_TARGETS)
@@ -220,7 +218,8 @@
 
 ## "short" target names for convenience, to just rebuild one manual.
 ada-mode : $(infodir)/ada-mode
-$(infodir)/ada-mode: ada-mode.texi $(infodir)
+$(infodir)/ada-mode: ada-mode.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) ada-mode.texi
 ada-mode.dvi: ada-mode.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi
@@ -228,7 +227,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/ada-mode.texi
 
 auth : $(infodir)/auth
-$(infodir)/auth: auth.texi $(infodir)
+$(infodir)/auth: auth.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) auth.texi
 auth.dvi: auth.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/auth.texi
@@ -236,7 +236,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/auth.texi
 
 autotype : $(infodir)/autotype
-$(infodir)/autotype: autotype.texi $(infodir)
+$(infodir)/autotype: autotype.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) autotype.texi
 autotype.dvi: autotype.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi
@@ -244,7 +245,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/autotype.texi
 
 calc : $(infodir)/calc
-$(infodir)/calc: calc.texi $(infodir)
+$(infodir)/calc: calc.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) calc.texi
 calc.dvi: calc.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi
@@ -252,7 +254,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/calc.texi
 
 ccmode : $(infodir)/ccmode
-$(infodir)/ccmode: cc-mode.texi $(infodir)
+$(infodir)/ccmode: cc-mode.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) cc-mode.texi
 cc-mode.dvi: cc-mode.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi
@@ -260,7 +263,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/cc-mode.texi
 
 cl : $(infodir)/cl
-$(infodir)/cl: cl.texi $(infodir)
+$(infodir)/cl: cl.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) cl.texi
 cl.dvi: cl.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi
@@ -268,7 +272,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/cl.texi
 
 dbus : $(infodir)/dbus
-$(infodir)/dbus: dbus.texi $(infodir)
+$(infodir)/dbus: dbus.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) dbus.texi
 dbus.dvi: dbus.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/dbus.texi
@@ -276,7 +281,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/dbus.texi
 
 dired-x : $(infodir)/dired-x
-$(infodir)/dired-x: dired-x.texi $(infodir)
+$(infodir)/dired-x: dired-x.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) dired-x.texi
 dired-x.dvi: dired-x.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi
@@ -284,7 +290,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/dired-x.texi
 
 ebrowse : $(infodir)/ebrowse
-$(infodir)/ebrowse: ebrowse.texi $(infodir)
+$(infodir)/ebrowse: ebrowse.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) ebrowse.texi
 ebrowse.dvi: ebrowse.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi
@@ -292,7 +299,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/ebrowse.texi
 
 ede : $(infodir)/ede
-$(infodir)/ede: ede.texi $(infodir)
+$(infodir)/ede: ede.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) ede.texi
 ede.dvi: ede.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/ede.texi
@@ -300,7 +308,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/ede.texi
 
 ediff : $(infodir)/ediff
-$(infodir)/ediff: ediff.texi $(infodir)
+$(infodir)/ediff: ediff.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) ediff.texi
 ediff.dvi: ediff.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi
@@ -308,7 +317,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/ediff.texi
 
 edt : $(infodir)/edt
-$(infodir)/edt: edt.texi $(infodir)
+$(infodir)/edt: edt.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) edt.texi
 edt.dvi: edt.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/edt.texi
@@ -316,7 +326,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/edt.texi
 
 eieio : $(infodir)/eieio
-$(infodir)/eieio: eieio.texi $(infodir)
+$(infodir)/eieio: eieio.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) eieio.texi
 eieio.dvi: eieio.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/eieio.texi
@@ -324,7 +335,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/eieio.texi
 
 emacs-mime : $(infodir)/emacs-mime
-$(infodir)/emacs-mime: emacs-mime.texi $(infodir)
+$(infodir)/emacs-mime: emacs-mime.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) --enable-encoding emacs-mime.texi
 emacs-mime.dvi: emacs-mime.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi
@@ -332,7 +344,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-mime.texi
 
 epa : $(infodir)/epa
-$(infodir)/epa: epa.texi $(infodir)
+$(infodir)/epa: epa.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) epa.texi
 epa.dvi: epa.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/epa.texi
@@ -340,7 +353,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/epa.texi
 
 erc : $(infodir)/erc
-$(infodir)/erc: erc.texi $(infodir)
+$(infodir)/erc: erc.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) erc.texi
 erc.dvi: erc.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi
@@ -348,7 +362,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/erc.texi
 
 eshell : $(infodir)/eshell
-$(infodir)/eshell: eshell.texi $(infodir)
+$(infodir)/eshell: eshell.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) eshell.texi
 eshell.dvi: eshell.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi
@@ -357,6 +372,7 @@
 
 eudc : $(infodir)/eudc
 $(infodir)/eudc: eudc.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) eudc.texi
 eudc.dvi: eudc.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi
@@ -364,7 +380,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/eudc.texi
 
 efaq : $(infodir)/efaq
-$(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi $(infodir)
+$(infodir)/efaq: faq.texi $(emacsdir)/emacsver.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) -I $(emacsdir) faq.texi
 faq.dvi: faq.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi
@@ -373,6 +390,7 @@
 
 flymake : $(infodir)/flymake
 $(infodir)/flymake: flymake.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) flymake.texi
 flymake.dvi: flymake.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi
@@ -380,7 +398,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/flymake.texi
 
 forms : $(infodir)/forms
-$(infodir)/forms: forms.texi $(infodir)
+$(infodir)/forms: forms.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) forms.texi
 forms.dvi: forms.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi
@@ -389,7 +408,8 @@
 
 # gnus/message/emacs-mime/sieve/pgg are part of Gnus:
 gnus : $(infodir)/gnus
-$(infodir)/gnus: gnus.texi gnus-faq.texi $(infodir)
+$(infodir)/gnus: gnus.texi gnus-faq.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) gnus.texi
 gnus.dvi: gnus.texi gnus-faq.texi
 	sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
@@ -405,7 +425,8 @@
 # This is produced with --no-split to avoid making files whose
 # names clash on DOS 8+3 filesystems
 idlwave : $(infodir)/idlwave
-$(infodir)/idlwave: idlwave.texi $(infodir)
+$(infodir)/idlwave: idlwave.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) --no-split idlwave.texi
 idlwave.dvi: idlwave.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi
@@ -416,7 +437,8 @@
 # the @setfilename directive in info.texi, which is required for
 # the Texinfo distribution.
 ###info : $(infodir)/info   # circular!
-$(infodir)/info: info.texi $(infodir)
+$(infodir)/info: info.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) --no-split info.texi -o $@
 info.dvi: info.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi
@@ -424,7 +446,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/info.texi
 
 mairix-el : $(infodir)/mairix-el
-$(infodir)/mairix-el: mairix-el.texi $(infodir)
+$(infodir)/mairix-el: mairix-el.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) mairix-el.texi
 mairix-el.dvi: mairix-el.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/mairix-el.texi
@@ -432,7 +455,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/mairix-el.texi
 
 message : $(infodir)/message
-$(infodir)/message: message.texi $(infodir)
+$(infodir)/message: message.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) message.texi
 message.dvi: message.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi
@@ -440,7 +464,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/message.texi
 
 mh-e : $(infodir)/mh-e
-$(infodir)/mh-e: mh-e.texi $(infodir)
+$(infodir)/mh-e: mh-e.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) mh-e.texi
 mh-e.dvi: mh-e.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi
@@ -448,7 +473,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/mh-e.texi
 
 newsticker : $(infodir)/newsticker
-$(infodir)/newsticker: newsticker.texi $(infodir)
+$(infodir)/newsticker: newsticker.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) newsticker.texi
 newsticker.dvi: newsticker.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi
@@ -456,7 +482,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/newsticker.texi
 
 nxml-mode : $(infodir)/nxml-mode
-$(infodir)/nxml-mode: nxml-mode.texi $(infodir)
+$(infodir)/nxml-mode: nxml-mode.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) nxml-mode.texi
 nxml-mode.dvi: nxml-mode.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/nxml-mode.texi
@@ -464,7 +491,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/nxml-mode.texi
 
 org : $(infodir)/org
-$(infodir)/org: org.texi $(infodir)
+$(infodir)/org: org.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) org.texi
 org.dvi: org.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi
@@ -472,7 +500,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/org.texi
 
 pcl-cvs : $(infodir)/pcl-cvs
-$(infodir)/pcl-cvs: pcl-cvs.texi $(infodir)
+$(infodir)/pcl-cvs: pcl-cvs.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) pcl-cvs.texi
 pcl-cvs.dvi: pcl-cvs.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi
@@ -480,7 +509,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/pcl-cvs.texi
 
 pgg : $(infodir)/pgg
-$(infodir)/pgg: pgg.texi $(infodir)
+$(infodir)/pgg: pgg.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) pgg.texi
 pgg.dvi: pgg.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi
@@ -488,7 +518,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/pgg.texi
 
 rcirc : $(infodir)/rcirc
-$(infodir)/rcirc: rcirc.texi $(infodir)
+$(infodir)/rcirc: rcirc.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) rcirc.texi
 rcirc.dvi: rcirc.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi
@@ -496,7 +527,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/rcirc.texi
 
 reftex : $(infodir)/reftex
-$(infodir)/reftex: reftex.texi $(infodir)
+$(infodir)/reftex: reftex.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) reftex.texi
 reftex.dvi: reftex.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi
@@ -504,7 +536,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/reftex.texi
 
 remember : $(infodir)/remember
-$(infodir)/remember: remember.texi $(infodir)
+$(infodir)/remember: remember.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) remember.texi
 remember.dvi: remember.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/remember.texi
@@ -512,7 +545,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/remember.texi
 
 sasl : $(infodir)/sasl
-$(infodir)/sasl: sasl.texi $(infodir)
+$(infodir)/sasl: sasl.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) sasl.texi
 sasl.dvi: sasl.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/sasl.texi
@@ -520,7 +554,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/sasl.texi
 
 sc : $(infodir)/sc
-$(infodir)/sc: sc.texi $(infodir)
+$(infodir)/sc: sc.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) sc.texi
 sc.dvi: sc.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi
@@ -528,7 +563,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/sc.texi
 
 semantic : $(infodir)/semantic
-$(infodir)/semantic: semantic.texi sem-user.texi $(infodir)
+$(infodir)/semantic: semantic.texi sem-user.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) semantic.texi
 semantic.dvi: semantic.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/semantic.texi
@@ -536,7 +572,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/semantic.texi
 
 ses : $(infodir)/ses
-$(infodir)/ses: ses.texi $(infodir)
+$(infodir)/ses: ses.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) ses.texi
 ses.dvi: ses.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi
@@ -544,7 +581,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/ses.texi
 
 sieve : $(infodir)/sieve
-$(infodir)/sieve: sieve.texi $(infodir)
+$(infodir)/sieve: sieve.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) sieve.texi
 sieve.dvi: sieve.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi
@@ -552,7 +590,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/sieve.texi
 
 smtpmail : $(infodir)/smtpmail
-$(infodir)/smtpmail: smtpmail.texi $(infodir)
+$(infodir)/smtpmail: smtpmail.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) smtpmail.texi
 smtpmail.dvi: smtpmail.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi
@@ -560,7 +599,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/smtpmail.texi
 
 speedbar : $(infodir)/speedbar
-$(infodir)/speedbar: speedbar.texi $(infodir)
+$(infodir)/speedbar: speedbar.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) speedbar.texi
 speedbar.dvi: speedbar.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi
@@ -568,7 +608,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/speedbar.texi
 
 tramp : $(infodir)/tramp
-$(infodir)/tramp: tramp.texi trampver.texi $(infodir)
+$(infodir)/tramp: tramp.texi trampver.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) -D emacs tramp.texi
 tramp.dvi: tramp.texi trampver.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi
@@ -576,7 +617,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/tramp.texi
 
 url : $(infodir)/url
-$(infodir)/url: url.texi $(infodir)
+$(infodir)/url: url.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) url.texi
 url.dvi: url.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi
@@ -584,7 +626,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/url.texi
 
 vip : $(infodir)/vip
-$(infodir)/vip: vip.texi $(infodir)
+$(infodir)/vip: vip.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) vip.texi
 vip.dvi: vip.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi
@@ -592,7 +635,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/vip.texi
 
 viper : $(infodir)/viper
-$(infodir)/viper: viper.texi $(infodir)
+$(infodir)/viper: viper.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) viper.texi
 viper.dvi: viper.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi
@@ -600,7 +644,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/viper.texi
 
 widget : $(infodir)/widget
-$(infodir)/widget: widget.texi $(infodir)
+$(infodir)/widget: widget.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) widget.texi
 widget.dvi: widget.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi
@@ -608,7 +653,8 @@
 	$(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi
 
 woman : $(infodir)/woman
-$(infodir)/woman: woman.texi $(infodir)
+$(infodir)/woman: woman.texi
+	$(mkinfodir)
 	cd $(srcdir); $(MAKEINFO) woman.texi
 woman.dvi: woman.texi
 	$(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi