bfd doc chew
authorAlan Modra <amodra@gmail.com>
Tue, 8 Apr 2014 00:34:18 +0000 (10:04 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 9 Apr 2014 00:26:15 +0000 (09:56 +0930)
I got tired of watching chew.c being compiled a dozen or more times
each time I do a binutils build.

* Makefile.am (MKDOC): Use $@ in command.
(aoutx.texi): New rule, depend on aoutx.stamp.  Move old rule..
(aoutx.stamp): .. to here.  Don't depend on chew.c, depend on MKDOC
and omit recursive MAKE.  Use $< in command.
(archive.texi, archures.texi, bfdt.texi, cache.texi, coffcode.texi,
core.texi, elf.texi, elfcode.texi, mmo.texi, format.texi, libbfd.texi,
bfdio.texi, bfdwin.texi, opncls.texi, reloc.texi, section.texi,
syms.texi, targets.texi, init.texi, hash.texi, linker.texi): Similarly.
(DISTCLEANFILES): Remove *.stamp.
* Makefile.in: Regenerate.

bfd/doc/ChangeLog
bfd/doc/Makefile.am
bfd/doc/Makefile.in

index e5c58654e53db3ffff280e635fde02a90fdf0757..dcc8135549d25d4b1cf68e5562c50f37ed080608 100644 (file)
@@ -1,3 +1,16 @@
+2014-04-09  Alan Modra  <amodra@gmail.com>
+
+       * Makefile.am (MKDOC): Use $@ in command.
+       (aoutx.texi): New rule, depend on aoutx.stamp.  Move old rule..
+       (aoutx.stamp): .. to here.  Don't depend on chew.c, depend on MKDOC
+       and omit recursive MAKE.  Use $< in command.
+       (archive.texi, archures.texi, bfdt.texi, cache.texi, coffcode.texi,
+       core.texi, elf.texi, elfcode.texi, mmo.texi, format.texi, libbfd.texi,
+       bfdio.texi, bfdwin.texi, opncls.texi, reloc.texi, section.texi,
+       syms.texi, targets.texi, init.texi, hash.texi, linker.texi): Similarly.
+       (DISTCLEANFILES): Remove *.stamp.
+       * Makefile.in: Regenerate.
+
 2014-03-12  Alan Modra  <amodra@gmail.com>
 
        * Makefile.in: Regenerate.
index dbefc2b7b639146d1d2807a2b2d1fa00baa0e2a6..58c959167757822742210add3e9182a4342a0c47 100644 (file)
@@ -79,7 +79,7 @@ AM_CPPFLAGS = -I.. -I$(srcdir)/.. -I$(srcdir)/../../include \
 $(MKDOC): $(srcdir)/chew.c
        $(CC_FOR_BUILD) -o chw$$$$$(EXEEXT_FOR_BUILD) $(CFLAGS_FOR_BUILD) \
          $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) $(AM_CPPFLAGS) $(srcdir)/chew.c; \
-       $(SHELL) $(srcdir)/../../move-if-change chw$$$$$(EXEEXT_FOR_BUILD) $(MKDOC)
+       $(SHELL) $(srcdir)/../../move-if-change chw$$$$$(EXEEXT_FOR_BUILD) $@
 
 protos: libbfd.h libcoff.h bfd.h
 
@@ -91,117 +91,139 @@ protos: libbfd.h libcoff.h bfd.h
 # program.  If somebody tries to rebuild info, but none of the .texi files
 # have changed, then nothing will be rebuilt.
 
-aoutx.texi: chew.c $(srcdir)/../aoutx.h $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../aoutx.h >aoutx.tmp
+aoutx.texi: aoutx.stamp ; @true
+aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >aoutx.tmp
        $(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
+       touch $@
 
-archive.texi: chew.c $(srcdir)/../archive.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../archive.c >archive.tmp
+archive.texi: archive.stamp ; @true
+archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >archive.tmp
        $(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
+       touch $@
 
-archures.texi: chew.c $(srcdir)/../archures.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
+archures.texi: archures.stamp ; @true
+archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >archures.tmp
        $(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
+       touch $@
 
 # We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
 # bfd.texinfo on an 8.3 filesystem.
-bfdt.texi: chew.c $(srcdir)/../bfd.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
+bfdt.texi: bfdt.stamp ; @true
+bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfd.tmp
        $(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
+       touch $@
 
-cache.texi: chew.c $(srcdir)/../cache.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
+cache.texi: cache.stamp ; @true
+cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >cache.tmp
        $(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
+       touch $@
 
-coffcode.texi: chew.c $(srcdir)/../coffcode.h $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../coffcode.h >coffcode.tmp
+coffcode.texi: coffcode.stamp ; @true
+coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >coffcode.tmp
        $(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
+       touch $@
 
-core.texi: chew.c $(srcdir)/../corefile.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../corefile.c >core.tmp
+core.texi: core.stamp ; @true
+core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >core.tmp
        $(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
+       touch $@
 
-elf.texi: chew.c $(srcdir)/../elf.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elf.c >elf.tmp
+elf.texi: elf.stamp ; @true
+elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >elf.tmp
        $(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
+       touch $@
 
-elfcode.texi: chew.c $(srcdir)/../elfcode.h $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elfcode.h >elfcode.tmp
+elfcode.texi: elfcode.stamp ; @true
+elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >elfcode.tmp
        $(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
+       touch $@
 
-mmo.texi: chew.c $(srcdir)/../mmo.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../mmo.c >mmo.tmp
+mmo.texi: mmo.stamp ; @true
+mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >mmo.tmp
        $(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
+       touch $@
 
-format.texi: chew.c $(srcdir)/../format.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../format.c >format.tmp
+format.texi: format.stamp ; @true
+format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >format.tmp
        $(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
+       touch $@
 
-libbfd.texi: chew.c $(srcdir)/../libbfd.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
+libbfd.texi: libbfd.stamp ; @true
+libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >libbfd.tmp
        $(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
+       touch $@
 
-bfdio.texi: chew.c $(srcdir)/../bfdio.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp
+bfdio.texi: bfdio.stamp ; @true
+bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdio.tmp
        $(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
+       touch $@
 
-bfdwin.texi: chew.c $(srcdir)/../bfdwin.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp
+bfdwin.texi: bfdwin.stamp ; @true
+bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdwin.tmp
        $(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
+       touch $@
 
-opncls.texi: chew.c $(srcdir)/../opncls.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str  <$(srcdir)/../opncls.c >opncls.tmp
+opncls.texi: opncls.stamp ; @true
+opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >opncls.tmp
        $(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
+       touch $@
 
-reloc.texi: chew.c $(srcdir)/../reloc.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../reloc.c >reloc.tmp
+reloc.texi: reloc.stamp ; @true
+reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >reloc.tmp
        $(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
+       touch $@
 
-section.texi: chew.c $(srcdir)/../section.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../section.c >section.tmp
+section.texi: section.stamp ; @true
+section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >section.tmp
        $(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
+       touch $@
 
-syms.texi: chew.c $(srcdir)/../syms.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../syms.c >syms.tmp
+syms.texi: syms.stamp ; @true
+syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >syms.tmp
        $(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
+       touch $@
 
-targets.texi: chew.c $(srcdir)/../targets.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../targets.c >targets.tmp
+targets.texi: targets.stamp ; @true
+targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >targets.tmp
        $(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
+       touch $@
 
-init.texi: chew.c $(srcdir)/../init.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../init.c >init.tmp
+init.texi: init.stamp ; @true
+init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >init.tmp
        $(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
+       touch $@
 
-hash.texi: chew.c $(srcdir)/../hash.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../hash.c >hash.tmp
+hash.texi: hash.stamp ; @true
+hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >hash.tmp
        $(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
+       touch $@
 
-linker.texi: chew.c $(srcdir)/../linker.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../linker.c >linker.tmp
+linker.texi: linker.stamp ; @true
+linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >linker.tmp
        $(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
+       touch $@
 
 LIBBFD_H_DEP = \
        $(srcdir)/../libbfd-in.h        \
@@ -305,7 +327,7 @@ MOSTLYCLEANFILES = $(MKDOC) *.o
 
 CLEANFILES = *.p *.ip
 
-DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log
+DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log *.stamp
 
 MAINTAINERCLEANFILES = $(DOCFILES)
 
index 702e10c798e1cc3537e147436b8058773514ffcc..a68e565d8986a4fd63d57daded2a08887219247d 100644 (file)
@@ -393,7 +393,7 @@ noinst_TEXINFOS = bfdint.texi
 MOSTLYCLEANFILES = $(MKDOC) *.o
 CLEANFILES = *.p *.ip
 DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log \
-       $(am__append_1)
+       *.stamp $(am__append_1)
 MAINTAINERCLEANFILES = $(DOCFILES) bfd.info
 all: all-am
 
@@ -778,7 +778,7 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
 $(MKDOC): $(srcdir)/chew.c
        $(CC_FOR_BUILD) -o chw$$$$$(EXEEXT_FOR_BUILD) $(CFLAGS_FOR_BUILD) \
          $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) $(AM_CPPFLAGS) $(srcdir)/chew.c; \
-       $(SHELL) $(srcdir)/../../move-if-change chw$$$$$(EXEEXT_FOR_BUILD) $(MKDOC)
+       $(SHELL) $(srcdir)/../../move-if-change chw$$$$$(EXEEXT_FOR_BUILD) $@
 
 protos: libbfd.h libcoff.h bfd.h
 
@@ -790,117 +790,139 @@ protos: libbfd.h libcoff.h bfd.h
 # program.  If somebody tries to rebuild info, but none of the .texi files
 # have changed, then nothing will be rebuilt.
 
-aoutx.texi: chew.c $(srcdir)/../aoutx.h $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../aoutx.h >aoutx.tmp
+aoutx.texi: aoutx.stamp ; @true
+aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >aoutx.tmp
        $(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
+       touch $@
 
-archive.texi: chew.c $(srcdir)/../archive.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../archive.c >archive.tmp
+archive.texi: archive.stamp ; @true
+archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >archive.tmp
        $(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
+       touch $@
 
-archures.texi: chew.c $(srcdir)/../archures.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
+archures.texi: archures.stamp ; @true
+archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >archures.tmp
        $(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
+       touch $@
 
 # We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
 # bfd.texinfo on an 8.3 filesystem.
-bfdt.texi: chew.c $(srcdir)/../bfd.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
+bfdt.texi: bfdt.stamp ; @true
+bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfd.tmp
        $(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
+       touch $@
 
-cache.texi: chew.c $(srcdir)/../cache.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
+cache.texi: cache.stamp ; @true
+cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >cache.tmp
        $(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
+       touch $@
 
-coffcode.texi: chew.c $(srcdir)/../coffcode.h $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../coffcode.h >coffcode.tmp
+coffcode.texi: coffcode.stamp ; @true
+coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >coffcode.tmp
        $(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
+       touch $@
 
-core.texi: chew.c $(srcdir)/../corefile.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../corefile.c >core.tmp
+core.texi: core.stamp ; @true
+core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >core.tmp
        $(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
+       touch $@
 
-elf.texi: chew.c $(srcdir)/../elf.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elf.c >elf.tmp
+elf.texi: elf.stamp ; @true
+elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >elf.tmp
        $(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
+       touch $@
 
-elfcode.texi: chew.c $(srcdir)/../elfcode.h $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elfcode.h >elfcode.tmp
+elfcode.texi: elfcode.stamp ; @true
+elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >elfcode.tmp
        $(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
+       touch $@
 
-mmo.texi: chew.c $(srcdir)/../mmo.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../mmo.c >mmo.tmp
+mmo.texi: mmo.stamp ; @true
+mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >mmo.tmp
        $(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
+       touch $@
 
-format.texi: chew.c $(srcdir)/../format.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../format.c >format.tmp
+format.texi: format.stamp ; @true
+format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >format.tmp
        $(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
+       touch $@
 
-libbfd.texi: chew.c $(srcdir)/../libbfd.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
+libbfd.texi: libbfd.stamp ; @true
+libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >libbfd.tmp
        $(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
+       touch $@
 
-bfdio.texi: chew.c $(srcdir)/../bfdio.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp
+bfdio.texi: bfdio.stamp ; @true
+bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdio.tmp
        $(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
+       touch $@
 
-bfdwin.texi: chew.c $(srcdir)/../bfdwin.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp
+bfdwin.texi: bfdwin.stamp ; @true
+bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdwin.tmp
        $(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
+       touch $@
 
-opncls.texi: chew.c $(srcdir)/../opncls.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str  <$(srcdir)/../opncls.c >opncls.tmp
+opncls.texi: opncls.stamp ; @true
+opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >opncls.tmp
        $(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
+       touch $@
 
-reloc.texi: chew.c $(srcdir)/../reloc.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../reloc.c >reloc.tmp
+reloc.texi: reloc.stamp ; @true
+reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >reloc.tmp
        $(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
+       touch $@
 
-section.texi: chew.c $(srcdir)/../section.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../section.c >section.tmp
+section.texi: section.stamp ; @true
+section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >section.tmp
        $(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
+       touch $@
 
-syms.texi: chew.c $(srcdir)/../syms.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../syms.c >syms.tmp
+syms.texi: syms.stamp ; @true
+syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >syms.tmp
        $(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
+       touch $@
 
-targets.texi: chew.c $(srcdir)/../targets.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../targets.c >targets.tmp
+targets.texi: targets.stamp ; @true
+targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >targets.tmp
        $(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
+       touch $@
 
-init.texi: chew.c $(srcdir)/../init.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../init.c >init.tmp
+init.texi: init.stamp ; @true
+init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >init.tmp
        $(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
+       touch $@
 
-hash.texi: chew.c $(srcdir)/../hash.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../hash.c >hash.tmp
+hash.texi: hash.stamp ; @true
+hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >hash.tmp
        $(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
+       touch $@
 
-linker.texi: chew.c $(srcdir)/../linker.c $(srcdir)/doc.str
-       $(MAKE) $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../linker.c >linker.tmp
+linker.texi: linker.stamp ; @true
+linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< >linker.tmp
        $(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
+       touch $@
 
 libbfd.h: $(LIBBFD_H_DEP)
        echo "$(LIBBFD_H_DEP)" | sed -f $(srcdir)/header.sed > $@