bfd: unify texi generation rules
authorMike Frysinger <vapier@gentoo.org>
Sat, 4 Dec 2021 01:54:04 +0000 (20:54 -0500)
committerMike Frysinger <vapier@gentoo.org>
Thu, 16 Dec 2021 07:34:58 +0000 (02:34 -0500)
The logic between these rules are extremely similar, so unify them
into a single variable by leveraging make $@ and $< variables.

Also add automake silent rule support while we're here.

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

index 3b24d1af222aa51002ab79071aadb63e73aa591b..0aa8af3445a668db07587e9a374f4852a98b22a5 100644 (file)
@@ -85,161 +85,106 @@ chew.stamp: $(srcdir)/chew.c
 # program.  If somebody tries to rebuild info, but none of the .texi files
 # have changed, then nothing will be rebuilt.
 
+REGEN_TEXI = \
+       ( \
+       set -e; \
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< > $@.tmp; \
+       texi=$@; \
+       texi=$${texi%.stamp}.texi; \
+       test -e $$texi || test ! -f $(srcdir)/$$texi || $(LN_S) $(srcdir)/$$texi .; \
+       $(SHELL) $(srcdir)/../../move-if-change $@.tmp $$texi; \
+       touch $@; \
+       )
+
 aoutx.texi: aoutx.stamp ; @true
 aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../aoutx.h >aoutx.tmp
-       test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || $(LN_S) $(srcdir)/aoutx.texi .
-       $(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 archive.texi: archive.stamp ; @true
 archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archive.c >archive.tmp
-       test -e archive.texi || test ! -f $(srcdir)/archive.texi || $(LN_S) $(srcdir)/archive.texi .
-       $(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 archures.texi: archures.stamp ; @true
 archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
-       test -e archures.texi || test ! -f $(srcdir)/archures.texi || $(LN_S) $(srcdir)/archures.texi .
-       $(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 # We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
 # bfd.texi on an 8.3 filesystem.
 bfdt.texi: bfdt.stamp ; @true
 bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
-       test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || $(LN_S) $(srcdir)/bfdt.texi .
-       $(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 cache.texi: cache.stamp ; @true
 cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
-       test -e cache.texi || test ! -f $(srcdir)/cache.texi || $(LN_S) $(srcdir)/cache.texi .
-       $(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 coffcode.texi: coffcode.stamp ; @true
 coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../coffcode.h >coffcode.tmp
-       test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || $(LN_S) $(srcdir)/coffcode.texi .
-       $(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 core.texi: core.stamp ; @true
 core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../corefile.c >core.tmp
-       test -e core.texi || test ! -f $(srcdir)/core.texi || $(LN_S) $(srcdir)/core.texi .
-       $(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 elf.texi: elf.stamp ; @true
 elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elf.c >elf.tmp
-       test -e elf.texi || test ! -f $(srcdir)/elf.texi || $(LN_S) $(srcdir)/elf.texi .
-       $(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 elfcode.texi: elfcode.stamp ; @true
 elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elfcode.h >elfcode.tmp
-       test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || $(LN_S) $(srcdir)/elfcode.texi .
-       $(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 mmo.texi: mmo.stamp ; @true
 mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../mmo.c >mmo.tmp
-       test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || $(LN_S) $(srcdir)/mmo.texi .
-       $(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 format.texi: format.stamp ; @true
 format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../format.c >format.tmp
-       test -e format.texi || test ! -f $(srcdir)/format.texi || $(LN_S) $(srcdir)/format.texi .
-       $(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 libbfd.texi: libbfd.stamp ; @true
 libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
-       test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || $(LN_S) $(srcdir)/libbfd.texi .
-       $(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 bfdio.texi: bfdio.stamp ; @true
 bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp
-       test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || $(LN_S) $(srcdir)/bfdio.texi .
-       $(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 bfdwin.texi: bfdwin.stamp ; @true
 bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp
-       test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || $(LN_S) $(srcdir)/bfdwin.texi .
-       $(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 opncls.texi: opncls.stamp ; @true
 opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../opncls.c >opncls.tmp
-       test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || $(LN_S) $(srcdir)/opncls.texi .
-       $(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 reloc.texi: reloc.stamp ; @true
 reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../reloc.c >reloc.tmp
-       test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || $(LN_S) $(srcdir)/reloc.texi .
-       $(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 section.texi: section.stamp ; @true
 section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../section.c >section.tmp
-       test -e section.texi || test ! -f $(srcdir)/section.texi || $(LN_S) $(srcdir)/section.texi .
-       $(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 syms.texi: syms.stamp ; @true
 syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../syms.c >syms.tmp
-       test -e syms.texi || test ! -f $(srcdir)/syms.texi || $(LN_S) $(srcdir)/syms.texi .
-       $(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 targets.texi: targets.stamp ; @true
 targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../targets.c >targets.tmp
-       test -e targets.texi || test ! -f $(srcdir)/targets.texi || $(LN_S) $(srcdir)/targets.texi .
-       $(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 init.texi: init.stamp ; @true
 init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../init.c >init.tmp
-       test -e init.texi || test ! -f $(srcdir)/init.texi || $(LN_S) $(srcdir)/init.texi .
-       $(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 hash.texi: hash.stamp ; @true
 hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../hash.c >hash.tmp
-       test -e hash.texi || test ! -f $(srcdir)/hash.texi || $(LN_S) $(srcdir)/hash.texi .
-       $(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 linker.texi: linker.stamp ; @true
 linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../linker.c >linker.tmp
-       test -e linker.texi || test ! -f $(srcdir)/linker.texi || $(LN_S) $(srcdir)/linker.texi .
-       $(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 bfdver.texi: $(srcdir)/Makefile.in
        @echo "creating $@"; \
index c461094c80c54db664c6b1873719db2c7b9c48c3..c070dd8c458c4b465bfc570e5b1d908d0e3c11b7 100644 (file)
@@ -442,6 +442,25 @@ MKDOC = chew$(EXEEXT_FOR_BUILD)
 AM_CPPFLAGS = -I.. -I$(srcdir)/.. -I$(srcdir)/../../include \
        -I$(srcdir)/../../intl -I../../intl
 
+
+# We can't replace these rules with an implicit rule, because
+# makes without VPATH support couldn't find the .h files in `..'.
+
+# We do not depend on chew directly so that we can distribute the info
+# files, and permit people to rebuild them, without requiring the makeinfo
+# program.  If somebody tries to rebuild info, but none of the .texi files
+# have changed, then nothing will be rebuilt.
+REGEN_TEXI = \
+       ( \
+       set -e; \
+       ./$(MKDOC) -f $(srcdir)/doc.str < $< > $@.tmp; \
+       texi=$@; \
+       texi=$${texi%.stamp}.texi; \
+       test -e $$texi || test ! -f $(srcdir)/$$texi || $(LN_S) $(srcdir)/$$texi .; \
+       $(SHELL) $(srcdir)/../../move-if-change $@.tmp $$texi; \
+       touch $@; \
+       )
+
 noinst_TEXINFOS = bfdint.texi
 MOSTLYCLEANFILES = $(MKDOC) *.o *.stamp
 DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log
@@ -885,169 +904,95 @@ chew.stamp: $(srcdir)/chew.c
          chw$$$$$(EXEEXT_FOR_BUILD) $(MKDOC); \
        touch $@
 
-# We can't replace these rules with an implicit rule, because
-# makes without VPATH support couldn't find the .h files in `..'.
-
-# We do not depend on chew directly so that we can distribute the info
-# files, and permit people to rebuild them, without requiring the makeinfo
-# program.  If somebody tries to rebuild info, but none of the .texi files
-# have changed, then nothing will be rebuilt.
-
 aoutx.texi: aoutx.stamp ; @true
 aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../aoutx.h >aoutx.tmp
-       test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || $(LN_S) $(srcdir)/aoutx.texi .
-       $(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 archive.texi: archive.stamp ; @true
 archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archive.c >archive.tmp
-       test -e archive.texi || test ! -f $(srcdir)/archive.texi || $(LN_S) $(srcdir)/archive.texi .
-       $(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 archures.texi: archures.stamp ; @true
 archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
-       test -e archures.texi || test ! -f $(srcdir)/archures.texi || $(LN_S) $(srcdir)/archures.texi .
-       $(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 # We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
 # bfd.texi on an 8.3 filesystem.
 bfdt.texi: bfdt.stamp ; @true
 bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
-       test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || $(LN_S) $(srcdir)/bfdt.texi .
-       $(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 cache.texi: cache.stamp ; @true
 cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
-       test -e cache.texi || test ! -f $(srcdir)/cache.texi || $(LN_S) $(srcdir)/cache.texi .
-       $(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 coffcode.texi: coffcode.stamp ; @true
 coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../coffcode.h >coffcode.tmp
-       test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || $(LN_S) $(srcdir)/coffcode.texi .
-       $(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 core.texi: core.stamp ; @true
 core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../corefile.c >core.tmp
-       test -e core.texi || test ! -f $(srcdir)/core.texi || $(LN_S) $(srcdir)/core.texi .
-       $(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 elf.texi: elf.stamp ; @true
 elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elf.c >elf.tmp
-       test -e elf.texi || test ! -f $(srcdir)/elf.texi || $(LN_S) $(srcdir)/elf.texi .
-       $(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 elfcode.texi: elfcode.stamp ; @true
 elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elfcode.h >elfcode.tmp
-       test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || $(LN_S) $(srcdir)/elfcode.texi .
-       $(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 mmo.texi: mmo.stamp ; @true
 mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../mmo.c >mmo.tmp
-       test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || $(LN_S) $(srcdir)/mmo.texi .
-       $(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 format.texi: format.stamp ; @true
 format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../format.c >format.tmp
-       test -e format.texi || test ! -f $(srcdir)/format.texi || $(LN_S) $(srcdir)/format.texi .
-       $(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 libbfd.texi: libbfd.stamp ; @true
 libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
-       test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || $(LN_S) $(srcdir)/libbfd.texi .
-       $(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 bfdio.texi: bfdio.stamp ; @true
 bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp
-       test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || $(LN_S) $(srcdir)/bfdio.texi .
-       $(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 bfdwin.texi: bfdwin.stamp ; @true
 bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp
-       test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || $(LN_S) $(srcdir)/bfdwin.texi .
-       $(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 opncls.texi: opncls.stamp ; @true
 opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../opncls.c >opncls.tmp
-       test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || $(LN_S) $(srcdir)/opncls.texi .
-       $(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 reloc.texi: reloc.stamp ; @true
 reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../reloc.c >reloc.tmp
-       test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || $(LN_S) $(srcdir)/reloc.texi .
-       $(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 section.texi: section.stamp ; @true
 section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../section.c >section.tmp
-       test -e section.texi || test ! -f $(srcdir)/section.texi || $(LN_S) $(srcdir)/section.texi .
-       $(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 syms.texi: syms.stamp ; @true
 syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../syms.c >syms.tmp
-       test -e syms.texi || test ! -f $(srcdir)/syms.texi || $(LN_S) $(srcdir)/syms.texi .
-       $(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 targets.texi: targets.stamp ; @true
 targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../targets.c >targets.tmp
-       test -e targets.texi || test ! -f $(srcdir)/targets.texi || $(LN_S) $(srcdir)/targets.texi .
-       $(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 init.texi: init.stamp ; @true
 init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../init.c >init.tmp
-       test -e init.texi || test ! -f $(srcdir)/init.texi || $(LN_S) $(srcdir)/init.texi .
-       $(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 hash.texi: hash.stamp ; @true
 hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../hash.c >hash.tmp
-       test -e hash.texi || test ! -f $(srcdir)/hash.texi || $(LN_S) $(srcdir)/hash.texi .
-       $(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 linker.texi: linker.stamp ; @true
 linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
-       ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../linker.c >linker.tmp
-       test -e linker.texi || test ! -f $(srcdir)/linker.texi || $(LN_S) $(srcdir)/linker.texi .
-       $(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
-       touch $@
+       $(AM_V_GEN)$(REGEN_TEXI)
 
 bfdver.texi: $(srcdir)/Makefile.in
        @echo "creating $@"; \