[RFC] add regenerate Makefile target

Christophe Lyon <[email protected]>
Newsgroups gmane.comp.gnu.binutils,gmane.comp.gdb.devel,gmane.comp.gcc.devel
Message-ID <[email protected]>
Hi!

After recent discussions on IRC and on the lists about maintainer-mode
and various problems with auto-generated source files, I've written
this small prototype.

Based on those discussions, I assumed that people generally want to
update autotools files using a script similar to autoregen.py, which
takes care of running aclocal, autoheader, automake and autoconf as
appropriate.

What is currently missing is a "simple" way of regenerating other
files, which happens normally with --enable-maintainer-mode (which is
reportedly broken).  This patch as a "regenerate" Makefile target
which can be called to update those files, provided
--enable-maintainer-mode is used.

I tried this approach with the following workflow for binutils/gdb:
- run autoregen.py in srcdir
- cd builddir
- configure --enable-maintainer-mode 
- make all-bfd all-libiberty regenerate -j1
- for gdb: make all -C gdb/data-directory -j1
- make all -jXXX

Making 'all' in bfd and libiberty is needed by some XXX-gen host
programs in opcodes.

The advantage (for instance for CI) is that we can regenerate files at
-j1, thus avoiding the existing race conditions, and build the rest
with -j XXX.

Among drawbacks:
- most sub-components use Makefile.am, but gdb does not: this may make
  maintenance more complex (different rules for different projects)
- maintaining such ad-hoc "regenerate" rules would require special
  attention from maintainers/reviewers
- dependency on -all-bfd and all-libiberty is probably not fully
   intuitive, but should not be a problem if the "regenerate" rules
   are used after a full build for instance

Of course Makefile.def/Makefile.tpl would need further cleanup as I
didn't try to take gcc into account is this patch.

Thoughts?

Thanks,

Christophe


---
 Makefile.def         |   37 +-
 Makefile.in          | 1902 ++++++++++++++++++++++++++++++++++++++++++
 Makefile.tpl         |    7 +
 bfd/Makefile.am      |    1 +
 bfd/Makefile.in      |    1 +
 binutils/Makefile.am |    1 +
 binutils/Makefile.in |    1 +
 gas/Makefile.am      |    1 +
 gas/Makefile.in      |    1 +
 gdb/Makefile.in      |    1 +
 gold/Makefile.am     |    2 +-
 gold/Makefile.in     |    2 +-
 gprof/Makefile.am    |    1 +
 gprof/Makefile.in    |    1 +
 ld/Makefile.am       |    1 +
 ld/Makefile.in       |    1 +
 opcodes/Makefile.am  |    2 +
 opcodes/Makefile.in  |    2 +
 18 files changed, 1952 insertions(+), 13 deletions(-)

diff --git a/Makefile.def b/Makefile.def
index 3e00a729a0c..42e71a9ffa2 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -39,7 +39,8 @@ host_modules= { module= binutils; bootstrap=true; };
 host_modules= { module= bison; no_check_cross= true; };
 host_modules= { module= cgen; };
 host_modules= { module= dejagnu; };
-host_modules= { module= etc; };
+host_modules= { module= etc;
+                missing= regenerate; };
 host_modules= { module= fastjar; no_check_cross= true; };
 host_modules= { module= fixincludes; bootstrap=true;
 		missing= TAGS;
@@ -73,7 +74,8 @@ host_modules= { module= isl; lib_path=.libs; bootstrap=true;
 		no_install= true; };
 host_modules= { module= gold; bootstrap=true; };
 host_modules= { module= gprof; };
-host_modules= { module= gprofng; };
+host_modules= { module= gprofng;
+                missing= regenerate; };
 host_modules= { module= gettext; bootstrap=true; no_install=true;
                 module_srcdir= "gettext/gettext-runtime";
 		// We always build gettext with pic, because some packages (e.g. gdbserver)
@@ -95,7 +97,8 @@ host_modules= { module= tcl;
                 missing=mostlyclean; };
 host_modules= { module= itcl; };
 host_modules= { module= ld; bootstrap=true; };
-host_modules= { module= libbacktrace; bootstrap=true; };
+host_modules= { module= libbacktrace; bootstrap=true;
+                missing= regenerate; };
 host_modules= { module= libcpp; bootstrap=true; };
 // As with libiconv, don't install any of libcody
 host_modules= { module= libcody; bootstrap=true;
@@ -110,9 +113,11 @@ host_modules= { module= libcody; bootstrap=true;
 		missing= install-dvi;
 		missing=TAGS; };
 host_modules= { module= libdecnumber; bootstrap=true;
-		missing=TAGS; };
+		missing=TAGS;
+                missing= regenerate; };
 host_modules= { module= libgui; };
 host_modules= { module= libiberty; bootstrap=true;
+                missing= regenerate;
 	        extra_configure_flags='@extra_host_libiberty_configure_flags@';};
 // Linker plugins may need their own build of libiberty; see
 // gcc/doc/install.texi.  We take care that this build of libiberty doesn't get
@@ -134,16 +139,22 @@ host_modules= { module= libiconv;
 		missing= install-html;
 		missing= install-info; };
 host_modules= { module= m4; };
-host_modules= { module= readline; };
+host_modules= { module= readline;
+                missing= regenerate; };
 host_modules= { module= sid; };
-host_modules= { module= sim; };
+host_modules= { module= sim;
+                missing= regenerate; };
 host_modules= { module= texinfo; no_install= true; };
 host_modules= { module= zlib; no_install=true; no_check=true;
 		bootstrap=true;
+                missing= regenerate;
 	        extra_configure_flags='@extra_host_zlib_configure_flags@ @host_libs_picflag@';};
-host_modules= { module= gnulib; };
-host_modules= { module= gdbsupport; };
-host_modules= { module= gdbserver; };
+host_modules= { module= gnulib;
+                missing= regenerate; };
+host_modules= { module= gdbsupport;
+                missing= regenerate; };
+host_modules= { module= gdbserver;
+                missing= regenerate; };
 host_modules= { module= gdb; };
 host_modules= { module= expect; };
 host_modules= { module= guile; };
@@ -162,8 +173,10 @@ host_modules= { module= lto-plugin; bootstrap=true;
 		extra_make_flags='@extra_linker_plugin_flags@'; };
 host_modules= { module= libcc1; extra_configure_flags=--enable-shared; };
 host_modules= { module= gotools; };
-host_modules= { module= libctf; bootstrap=true; };
-host_modules= { module= libsframe; bootstrap=true; };
+host_modules= { module= libctf; bootstrap=true;
+                missing= regenerate; };
+host_modules= { module= libsframe; bootstrap=true;
+                missing= regenerate; };
 host_modules= { module= libgrust; };
 
 target_modules = { module= libstdc++-v3;
@@ -242,6 +255,8 @@ recursive_targets = { make_target= mostlyclean; };
 recursive_targets = { make_target= clean; };
 recursive_targets = { make_target= distclean; };
 recursive_targets = { make_target= maintainer-clean; };
+recursive_targets = { make_target= regenerate;
+		      depend=configure; };
 
 // Flags which need to be passed down.
 
diff --git a/Makefile.in b/Makefile.in
index a1f64a2ab5a..09631d62b72 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2672,6 +2672,99 @@ maintainer-clean-target: maybe-maintainer-clean-target-libitm
 maintainer-clean-target: maybe-maintainer-clean-target-libatomic
 maintainer-clean-target: maybe-maintainer-clean-target-libgrust
 
+.PHONY: do-regenerate
+do-regenerate:
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(MAKE) $(RECURSE_FLAGS_TO_PASS) regenerate-host \
+	  regenerate-target
+
+
+.PHONY: regenerate-host
+
+regenerate-host: maybe-regenerate-bfd
+regenerate-host: maybe-regenerate-opcodes
+regenerate-host: maybe-regenerate-binutils
+regenerate-host: maybe-regenerate-bison
+regenerate-host: maybe-regenerate-cgen
+regenerate-host: maybe-regenerate-dejagnu
+regenerate-host: maybe-regenerate-etc
+regenerate-host: maybe-regenerate-fastjar
+regenerate-host: maybe-regenerate-fixincludes
+regenerate-host: maybe-regenerate-flex
+regenerate-host: maybe-regenerate-gas
+regenerate-host: maybe-regenerate-gcc
+regenerate-host: maybe-regenerate-gmp
+regenerate-host: maybe-regenerate-mpfr
+regenerate-host: maybe-regenerate-mpc
+regenerate-host: maybe-regenerate-isl
+regenerate-host: maybe-regenerate-gold
+regenerate-host: maybe-regenerate-gprof
+regenerate-host: maybe-regenerate-gprofng
+regenerate-host: maybe-regenerate-gettext
+regenerate-host: maybe-regenerate-tcl
+regenerate-host: maybe-regenerate-itcl
+regenerate-host: maybe-regenerate-ld
+regenerate-host: maybe-regenerate-libbacktrace
+regenerate-host: maybe-regenerate-libcpp
+regenerate-host: maybe-regenerate-libcody
+regenerate-host: maybe-regenerate-libdecnumber
+regenerate-host: maybe-regenerate-libgui
+regenerate-host: maybe-regenerate-libiberty
+regenerate-host: maybe-regenerate-libiberty-linker-plugin
+regenerate-host: maybe-regenerate-libiconv
+regenerate-host: maybe-regenerate-m4
+regenerate-host: maybe-regenerate-readline
+regenerate-host: maybe-regenerate-sid
+regenerate-host: maybe-regenerate-sim
+regenerate-host: maybe-regenerate-texinfo
+regenerate-host: maybe-regenerate-zlib
+regenerate-host: maybe-regenerate-gnulib
+regenerate-host: maybe-regenerate-gdbsupport
+regenerate-host: maybe-regenerate-gdbserver
+regenerate-host: maybe-regenerate-gdb
+regenerate-host: maybe-regenerate-expect
+regenerate-host: maybe-regenerate-guile
+regenerate-host: maybe-regenerate-tk
+regenerate-host: maybe-regenerate-libtermcap
+regenerate-host: maybe-regenerate-utils
+regenerate-host: maybe-regenerate-c++tools
+regenerate-host: maybe-regenerate-gnattools
+regenerate-host: maybe-regenerate-lto-plugin
+regenerate-host: maybe-regenerate-libcc1
+regenerate-host: maybe-regenerate-gotools
+regenerate-host: maybe-regenerate-libctf
+regenerate-host: maybe-regenerate-libsframe
+regenerate-host: maybe-regenerate-libgrust
+
+.PHONY: regenerate-target
+
+regenerate-target: maybe-regenerate-target-libstdc++-v3
+regenerate-target: maybe-regenerate-target-libsanitizer
+regenerate-target: maybe-regenerate-target-libvtv
+regenerate-target: maybe-regenerate-target-libssp
+regenerate-target: maybe-regenerate-target-newlib
+regenerate-target: maybe-regenerate-target-libgcc
+regenerate-target: maybe-regenerate-target-libbacktrace
+regenerate-target: maybe-regenerate-target-libquadmath
+regenerate-target: maybe-regenerate-target-libgfortran
+regenerate-target: maybe-regenerate-target-libobjc
+regenerate-target: maybe-regenerate-target-libgo
+regenerate-target: maybe-regenerate-target-libphobos
+regenerate-target: maybe-regenerate-target-libtermcap
+regenerate-target: maybe-regenerate-target-winsup
+regenerate-target: maybe-regenerate-target-libgloss
+regenerate-target: maybe-regenerate-target-libffi
+regenerate-target: maybe-regenerate-target-zlib
+regenerate-target: maybe-regenerate-target-rda
+regenerate-target: maybe-regenerate-target-libada
+regenerate-target: maybe-regenerate-target-libgm2
+regenerate-target: maybe-regenerate-target-libgomp
+regenerate-target: maybe-regenerate-target-libitm
+regenerate-target: maybe-regenerate-target-libatomic
+regenerate-target: maybe-regenerate-target-libgrust
+
 
 # Here are the targets which correspond to the do-X targets.
 
@@ -2871,6 +2964,13 @@ clang-format: $(srcdir)/.clang-format
 
 .PHONY: clang-format
 
+.PHONY: regenerate
+regenerate:
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(MAKE) $(RECURSE_FLAGS_TO_PASS) regenerate-host regenerate-target
+
 # Installation targets.
 
 .PHONY: install uninstall
@@ -4719,6 +4819,31 @@ maintainer-clean-bfd:
 
 @endif bfd
 
+.PHONY: maybe-regenerate-bfd regenerate-bfd
+maybe-regenerate-bfd:
+@if bfd
+maybe-regenerate-bfd: regenerate-bfd
+
+regenerate-bfd: \
+    configure-bfd 
+	@[ -f ./bfd/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in bfd"; \
+	(cd $(HOST_SUBDIR)/bfd && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif bfd
+
 
 
 .PHONY: configure-opcodes maybe-configure-opcodes
@@ -5859,6 +5984,31 @@ maintainer-clean-opcodes:
 
 @endif opcodes
 
+.PHONY: maybe-regenerate-opcodes regenerate-opcodes
+maybe-regenerate-opcodes:
+@if opcodes
+maybe-regenerate-opcodes: regenerate-opcodes
+
+regenerate-opcodes: \
+    configure-opcodes 
+	@[ -f ./opcodes/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in opcodes"; \
+	(cd $(HOST_SUBDIR)/opcodes && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif opcodes
+
 
 
 .PHONY: configure-binutils maybe-configure-binutils
@@ -6999,6 +7149,31 @@ maintainer-clean-binutils:
 
 @endif binutils
 
+.PHONY: maybe-regenerate-binutils regenerate-binutils
+maybe-regenerate-binutils:
+@if binutils
+maybe-regenerate-binutils: regenerate-binutils
+
+regenerate-binutils: \
+    configure-binutils 
+	@[ -f ./binutils/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in binutils"; \
+	(cd $(HOST_SUBDIR)/binutils && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif binutils
+
 
 
 .PHONY: configure-bison maybe-configure-bison
@@ -7470,6 +7645,32 @@ maintainer-clean-bison:
 
 @endif bison
 
+.PHONY: maybe-regenerate-bison regenerate-bison
+maybe-regenerate-bison:
+@if bison
+maybe-regenerate-bison: regenerate-bison
+
+regenerate-bison: \
+    configure-bison 
+	@: $(MAKE); $(unstage)
+	@[ -f ./bison/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in bison"; \
+	(cd $(HOST_SUBDIR)/bison && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif bison
+
 
 
 .PHONY: configure-cgen maybe-configure-cgen
@@ -7938,6 +8139,32 @@ maintainer-clean-cgen:
 
 @endif cgen
 
+.PHONY: maybe-regenerate-cgen regenerate-cgen
+maybe-regenerate-cgen:
+@if cgen
+maybe-regenerate-cgen: regenerate-cgen
+
+regenerate-cgen: \
+    configure-cgen 
+	@: $(MAKE); $(unstage)
+	@[ -f ./cgen/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in cgen"; \
+	(cd $(HOST_SUBDIR)/cgen && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif cgen
+
 
 
 .PHONY: configure-dejagnu maybe-configure-dejagnu
@@ -8406,6 +8633,32 @@ maintainer-clean-dejagnu:
 
 @endif dejagnu
 
+.PHONY: maybe-regenerate-dejagnu regenerate-dejagnu
+maybe-regenerate-dejagnu:
+@if dejagnu
+maybe-regenerate-dejagnu: regenerate-dejagnu
+
+regenerate-dejagnu: \
+    configure-dejagnu 
+	@: $(MAKE); $(unstage)
+	@[ -f ./dejagnu/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in dejagnu"; \
+	(cd $(HOST_SUBDIR)/dejagnu && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif dejagnu
+
 
 
 .PHONY: configure-etc maybe-configure-etc
@@ -8874,6 +9127,16 @@ maintainer-clean-etc:
 
 @endif etc
 
+.PHONY: maybe-regenerate-etc regenerate-etc
+maybe-regenerate-etc:
+@if etc
+maybe-regenerate-etc: regenerate-etc
+
+# etc doesn't support regenerate.
+regenerate-etc:
+
+@endif etc
+
 
 
 .PHONY: configure-fastjar maybe-configure-fastjar
@@ -9345,6 +9608,32 @@ maintainer-clean-fastjar:
 
 @endif fastjar
 
+.PHONY: maybe-regenerate-fastjar regenerate-fastjar
+maybe-regenerate-fastjar:
+@if fastjar
+maybe-regenerate-fastjar: regenerate-fastjar
+
+regenerate-fastjar: \
+    configure-fastjar 
+	@: $(MAKE); $(unstage)
+	@[ -f ./fastjar/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in fastjar"; \
+	(cd $(HOST_SUBDIR)/fastjar && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif fastjar
+
 
 
 .PHONY: configure-fixincludes maybe-configure-fixincludes
@@ -10454,6 +10743,31 @@ maintainer-clean-fixincludes:
 
 @endif fixincludes
 
+.PHONY: maybe-regenerate-fixincludes regenerate-fixincludes
+maybe-regenerate-fixincludes:
+@if fixincludes
+maybe-regenerate-fixincludes: regenerate-fixincludes
+
+regenerate-fixincludes: \
+    configure-fixincludes 
+	@[ -f ./fixincludes/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in fixincludes"; \
+	(cd $(HOST_SUBDIR)/fixincludes && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif fixincludes
+
 
 
 .PHONY: configure-flex maybe-configure-flex
@@ -10925,6 +11239,32 @@ maintainer-clean-flex:
 
 @endif flex
 
+.PHONY: maybe-regenerate-flex regenerate-flex
+maybe-regenerate-flex:
+@if flex
+maybe-regenerate-flex: regenerate-flex
+
+regenerate-flex: \
+    configure-flex 
+	@: $(MAKE); $(unstage)
+	@[ -f ./flex/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in flex"; \
+	(cd $(HOST_SUBDIR)/flex && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif flex
+
 
 
 .PHONY: configure-gas maybe-configure-gas
@@ -12065,6 +12405,31 @@ maintainer-clean-gas:
 
 @endif gas
 
+.PHONY: maybe-regenerate-gas regenerate-gas
+maybe-regenerate-gas:
+@if gas
+maybe-regenerate-gas: regenerate-gas
+
+regenerate-gas: \
+    configure-gas 
+	@[ -f ./gas/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in gas"; \
+	(cd $(HOST_SUBDIR)/gas && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif gas
+
 
 
 .PHONY: configure-gcc maybe-configure-gcc
@@ -13214,6 +13579,31 @@ maintainer-clean-gcc:
 
 @endif gcc
 
+.PHONY: maybe-regenerate-gcc regenerate-gcc
+maybe-regenerate-gcc:
+@if gcc
+maybe-regenerate-gcc: regenerate-gcc
+
+regenerate-gcc: \
+    configure-gcc 
+	@[ -f ./gcc/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in gcc"; \
+	(cd $(HOST_SUBDIR)/gcc && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif gcc
+
 
 
 .PHONY: configure-gmp maybe-configure-gmp
@@ -14351,6 +14741,31 @@ maintainer-clean-gmp:
 
 @endif gmp
 
+.PHONY: maybe-regenerate-gmp regenerate-gmp
+maybe-regenerate-gmp:
+@if gmp
+maybe-regenerate-gmp: regenerate-gmp
+
+regenerate-gmp: \
+    configure-gmp 
+	@[ -f ./gmp/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in gmp"; \
+	(cd $(HOST_SUBDIR)/gmp && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif gmp
+
 
 
 .PHONY: configure-mpfr maybe-configure-mpfr
@@ -15488,6 +15903,31 @@ maintainer-clean-mpfr:
 
 @endif mpfr
 
+.PHONY: maybe-regenerate-mpfr regenerate-mpfr
+maybe-regenerate-mpfr:
+@if mpfr
+maybe-regenerate-mpfr: regenerate-mpfr
+
+regenerate-mpfr: \
+    configure-mpfr 
+	@[ -f ./mpfr/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in mpfr"; \
+	(cd $(HOST_SUBDIR)/mpfr && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif mpfr
+
 
 
 .PHONY: configure-mpc maybe-configure-mpc
@@ -16625,6 +17065,31 @@ maintainer-clean-mpc:
 
 @endif mpc
 
+.PHONY: maybe-regenerate-mpc regenerate-mpc
+maybe-regenerate-mpc:
+@if mpc
+maybe-regenerate-mpc: regenerate-mpc
+
+regenerate-mpc: \
+    configure-mpc 
+	@[ -f ./mpc/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in mpc"; \
+	(cd $(HOST_SUBDIR)/mpc && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif mpc
+
 
 
 .PHONY: configure-isl maybe-configure-isl
@@ -17762,6 +18227,31 @@ maintainer-clean-isl:
 
 @endif isl
 
+.PHONY: maybe-regenerate-isl regenerate-isl
+maybe-regenerate-isl:
+@if isl
+maybe-regenerate-isl: regenerate-isl
+
+regenerate-isl: \
+    configure-isl 
+	@[ -f ./isl/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) V=1; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in isl"; \
+	(cd $(HOST_SUBDIR)/isl && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif isl
+
 
 
 .PHONY: configure-gold maybe-configure-gold
@@ -18902,6 +19392,31 @@ maintainer-clean-gold:
 
 @endif gold
 
+.PHONY: maybe-regenerate-gold regenerate-gold
+maybe-regenerate-gold:
+@if gold
+maybe-regenerate-gold: regenerate-gold
+
+regenerate-gold: \
+    configure-gold 
+	@[ -f ./gold/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in gold"; \
+	(cd $(HOST_SUBDIR)/gold && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif gold
+
 
 
 .PHONY: configure-gprof maybe-configure-gprof
@@ -19370,6 +19885,32 @@ maintainer-clean-gprof:
 
 @endif gprof
 
+.PHONY: maybe-regenerate-gprof regenerate-gprof
+maybe-regenerate-gprof:
+@if gprof
+maybe-regenerate-gprof: regenerate-gprof
+
+regenerate-gprof: \
+    configure-gprof 
+	@: $(MAKE); $(unstage)
+	@[ -f ./gprof/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in gprof"; \
+	(cd $(HOST_SUBDIR)/gprof && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif gprof
+
 
 
 .PHONY: configure-gprofng maybe-configure-gprofng
@@ -19838,6 +20379,16 @@ maintainer-clean-gprofng:
 
 @endif gprofng
 
+.PHONY: maybe-regenerate-gprofng regenerate-gprofng
+maybe-regenerate-gprofng:
+@if gprofng
+maybe-regenerate-gprofng: regenerate-gprofng
+
+# gprofng doesn't support regenerate.
+regenerate-gprofng:
+
+@endif gprofng
+
 
 
 .PHONY: configure-gettext maybe-configure-gettext
@@ -20836,6 +21387,31 @@ maintainer-clean-gettext:
 
 @endif gettext
 
+.PHONY: maybe-regenerate-gettext regenerate-gettext
+maybe-regenerate-gettext:
+@if gettext
+maybe-regenerate-gettext: regenerate-gettext
+
+regenerate-gettext: \
+    configure-gettext 
+	@[ -f ./gettext/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in gettext"; \
+	(cd $(HOST_SUBDIR)/gettext && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif gettext
+
 
 
 .PHONY: configure-tcl maybe-configure-tcl
@@ -21289,6 +21865,32 @@ maintainer-clean-tcl:
 
 @endif tcl
 
+.PHONY: maybe-regenerate-tcl regenerate-tcl
+maybe-regenerate-tcl:
+@if tcl
+maybe-regenerate-tcl: regenerate-tcl
+
+regenerate-tcl: \
+    configure-tcl 
+	@: $(MAKE); $(unstage)
+	@[ -f ./tcl/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in tcl"; \
+	(cd $(HOST_SUBDIR)/tcl && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif tcl
+
 
 
 .PHONY: configure-itcl maybe-configure-itcl
@@ -21757,6 +22359,32 @@ maintainer-clean-itcl:
 
 @endif itcl
 
+.PHONY: maybe-regenerate-itcl regenerate-itcl
+maybe-regenerate-itcl:
+@if itcl
+maybe-regenerate-itcl: regenerate-itcl
+
+regenerate-itcl: \
+    configure-itcl 
+	@: $(MAKE); $(unstage)
+	@[ -f ./itcl/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in itcl"; \
+	(cd $(HOST_SUBDIR)/itcl && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif itcl
+
 
 
 .PHONY: configure-ld maybe-configure-ld
@@ -22897,6 +23525,31 @@ maintainer-clean-ld:
 
 @endif ld
 
+.PHONY: maybe-regenerate-ld regenerate-ld
+maybe-regenerate-ld:
+@if ld
+maybe-regenerate-ld: regenerate-ld
+
+regenerate-ld: \
+    configure-ld 
+	@[ -f ./ld/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in ld"; \
+	(cd $(HOST_SUBDIR)/ld && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif ld
+
 
 
 .PHONY: configure-libbacktrace maybe-configure-libbacktrace
@@ -24037,6 +24690,16 @@ maintainer-clean-libbacktrace:
 
 @endif libbacktrace
 
+.PHONY: maybe-regenerate-libbacktrace regenerate-libbacktrace
+maybe-regenerate-libbacktrace:
+@if libbacktrace
+maybe-regenerate-libbacktrace: regenerate-libbacktrace
+
+# libbacktrace doesn't support regenerate.
+regenerate-libbacktrace:
+
+@endif libbacktrace
+
 
 
 .PHONY: configure-libcpp maybe-configure-libcpp
@@ -25177,6 +25840,31 @@ maintainer-clean-libcpp:
 
 @endif libcpp
 
+.PHONY: maybe-regenerate-libcpp regenerate-libcpp
+maybe-regenerate-libcpp:
+@if libcpp
+maybe-regenerate-libcpp: regenerate-libcpp
+
+regenerate-libcpp: \
+    configure-libcpp 
+	@[ -f ./libcpp/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in libcpp"; \
+	(cd $(HOST_SUBDIR)/libcpp && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif libcpp
+
 
 
 .PHONY: configure-libcody maybe-configure-libcody
@@ -26166,6 +26854,31 @@ maintainer-clean-libcody:
 
 @endif libcody
 
+.PHONY: maybe-regenerate-libcody regenerate-libcody
+maybe-regenerate-libcody:
+@if libcody
+maybe-regenerate-libcody: regenerate-libcody
+
+regenerate-libcody: \
+    configure-libcody 
+	@[ -f ./libcody/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in libcody"; \
+	(cd $(HOST_SUBDIR)/libcody && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif libcody
+
 
 
 .PHONY: configure-libdecnumber maybe-configure-libdecnumber
@@ -27291,6 +28004,16 @@ maintainer-clean-libdecnumber:
 
 @endif libdecnumber
 
+.PHONY: maybe-regenerate-libdecnumber regenerate-libdecnumber
+maybe-regenerate-libdecnumber:
+@if libdecnumber
+maybe-regenerate-libdecnumber: regenerate-libdecnumber
+
+# libdecnumber doesn't support regenerate.
+regenerate-libdecnumber:
+
+@endif libdecnumber
+
 
 
 .PHONY: configure-libgui maybe-configure-libgui
@@ -27759,6 +28482,32 @@ maintainer-clean-libgui:
 
 @endif libgui
 
+.PHONY: maybe-regenerate-libgui regenerate-libgui
+maybe-regenerate-libgui:
+@if libgui
+maybe-regenerate-libgui: regenerate-libgui
+
+regenerate-libgui: \
+    configure-libgui 
+	@: $(MAKE); $(unstage)
+	@[ -f ./libgui/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in libgui"; \
+	(cd $(HOST_SUBDIR)/libgui && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif libgui
+
 
 
 .PHONY: configure-libiberty maybe-configure-libiberty
@@ -28908,6 +29657,16 @@ maintainer-clean-libiberty:
 
 @endif libiberty
 
+.PHONY: maybe-regenerate-libiberty regenerate-libiberty
+maybe-regenerate-libiberty:
+@if libiberty
+maybe-regenerate-libiberty: regenerate-libiberty
+
+# libiberty doesn't support regenerate.
+regenerate-libiberty:
+
+@endif libiberty
+
 
 
 .PHONY: configure-libiberty-linker-plugin maybe-configure-libiberty-linker-plugin
@@ -30057,6 +30816,31 @@ maintainer-clean-libiberty-linker-plugin:
 
 @endif libiberty-linker-plugin
 
+.PHONY: maybe-regenerate-libiberty-linker-plugin regenerate-libiberty-linker-plugin
+maybe-regenerate-libiberty-linker-plugin:
+@if libiberty-linker-plugin
+maybe-regenerate-libiberty-linker-plugin: regenerate-libiberty-linker-plugin
+
+regenerate-libiberty-linker-plugin: \
+    configure-libiberty-linker-plugin 
+	@[ -f ./libiberty-linker-plugin/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) @extra_linker_plugin_flags@; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in libiberty-linker-plugin"; \
+	(cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif libiberty-linker-plugin
+
 
 
 .PHONY: configure-libiconv maybe-configure-libiconv
@@ -31101,6 +31885,31 @@ maintainer-clean-libiconv:
 
 @endif libiconv
 
+.PHONY: maybe-regenerate-libiconv regenerate-libiconv
+maybe-regenerate-libiconv:
+@if libiconv
+maybe-regenerate-libiconv: regenerate-libiconv
+
+regenerate-libiconv: \
+    configure-libiconv 
+	@[ -f ./libiconv/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in libiconv"; \
+	(cd $(HOST_SUBDIR)/libiconv && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif libiconv
+
 
 
 .PHONY: configure-m4 maybe-configure-m4
@@ -31569,6 +32378,32 @@ maintainer-clean-m4:
 
 @endif m4
 
+.PHONY: maybe-regenerate-m4 regenerate-m4
+maybe-regenerate-m4:
+@if m4
+maybe-regenerate-m4: regenerate-m4
+
+regenerate-m4: \
+    configure-m4 
+	@: $(MAKE); $(unstage)
+	@[ -f ./m4/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in m4"; \
+	(cd $(HOST_SUBDIR)/m4 && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif m4
+
 
 
 .PHONY: configure-readline maybe-configure-readline
@@ -32037,6 +32872,16 @@ maintainer-clean-readline:
 
 @endif readline
 
+.PHONY: maybe-regenerate-readline regenerate-readline
+maybe-regenerate-readline:
+@if readline
+maybe-regenerate-readline: regenerate-readline
+
+# readline doesn't support regenerate.
+regenerate-readline:
+
+@endif readline
+
 
 
 .PHONY: configure-sid maybe-configure-sid
@@ -32505,6 +33350,32 @@ maintainer-clean-sid:
 
 @endif sid
 
+.PHONY: maybe-regenerate-sid regenerate-sid
+maybe-regenerate-sid:
+@if sid
+maybe-regenerate-sid: regenerate-sid
+
+regenerate-sid: \
+    configure-sid 
+	@: $(MAKE); $(unstage)
+	@[ -f ./sid/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in sid"; \
+	(cd $(HOST_SUBDIR)/sid && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif sid
+
 
 
 .PHONY: configure-sim maybe-configure-sim
@@ -32973,6 +33844,16 @@ maintainer-clean-sim:
 
 @endif sim
 
+.PHONY: maybe-regenerate-sim regenerate-sim
+maybe-regenerate-sim:
+@if sim
+maybe-regenerate-sim: regenerate-sim
+
+# sim doesn't support regenerate.
+regenerate-sim:
+
+@endif sim
+
 
 
 .PHONY: configure-texinfo maybe-configure-texinfo
@@ -33429,6 +34310,32 @@ maintainer-clean-texinfo:
 
 @endif texinfo
 
+.PHONY: maybe-regenerate-texinfo regenerate-texinfo
+maybe-regenerate-texinfo:
+@if texinfo
+maybe-regenerate-texinfo: regenerate-texinfo
+
+regenerate-texinfo: \
+    configure-texinfo 
+	@: $(MAKE); $(unstage)
+	@[ -f ./texinfo/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in texinfo"; \
+	(cd $(HOST_SUBDIR)/texinfo && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif texinfo
+
 
 
 .PHONY: configure-zlib maybe-configure-zlib
@@ -34560,6 +35467,16 @@ maintainer-clean-zlib:
 
 @endif zlib
 
+.PHONY: maybe-regenerate-zlib regenerate-zlib
+maybe-regenerate-zlib:
+@if zlib
+maybe-regenerate-zlib: regenerate-zlib
+
+# zlib doesn't support regenerate.
+regenerate-zlib:
+
+@endif zlib
+
 
 
 .PHONY: configure-gnulib maybe-configure-gnulib
@@ -35028,6 +35945,16 @@ maintainer-clean-gnulib:
 
 @endif gnulib
 
+.PHONY: maybe-regenerate-gnulib regenerate-gnulib
+maybe-regenerate-gnulib:
+@if gnulib
+maybe-regenerate-gnulib: regenerate-gnulib
+
+# gnulib doesn't support regenerate.
+regenerate-gnulib:
+
+@endif gnulib
+
 
 
 .PHONY: configure-gdbsupport maybe-configure-gdbsupport
@@ -35496,6 +36423,16 @@ maintainer-clean-gdbsupport:
 
 @endif gdbsupport
 
+.PHONY: maybe-regenerate-gdbsupport regenerate-gdbsupport
+maybe-regenerate-gdbsupport:
+@if gdbsupport
+maybe-regenerate-gdbsupport: regenerate-gdbsupport
+
+# gdbsupport doesn't support regenerate.
+regenerate-gdbsupport:
+
+@endif gdbsupport
+
 
 
 .PHONY: configure-gdbserver maybe-configure-gdbserver
@@ -35964,6 +36901,16 @@ maintainer-clean-gdbserver:
 
 @endif gdbserver
 
+.PHONY: maybe-regenerate-gdbserver regenerate-gdbserver
+maybe-regenerate-gdbserver:
+@if gdbserver
+maybe-regenerate-gdbserver: regenerate-gdbserver
+
+# gdbserver doesn't support regenerate.
+regenerate-gdbserver:
+
+@endif gdbserver
+
 
 
 .PHONY: configure-gdb maybe-configure-gdb
@@ -36432,6 +37379,32 @@ maintainer-clean-gdb:
 
 @endif gdb
 
+.PHONY: maybe-regenerate-gdb regenerate-gdb
+maybe-regenerate-gdb:
+@if gdb
+maybe-regenerate-gdb: regenerate-gdb
+
+regenerate-gdb: \
+    configure-gdb 
+	@: $(MAKE); $(unstage)
+	@[ -f ./gdb/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in gdb"; \
+	(cd $(HOST_SUBDIR)/gdb && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif gdb
+
 
 
 .PHONY: configure-expect maybe-configure-expect
@@ -36900,6 +37873,32 @@ maintainer-clean-expect:
 
 @endif expect
 
+.PHONY: maybe-regenerate-expect regenerate-expect
+maybe-regenerate-expect:
+@if expect
+maybe-regenerate-expect: regenerate-expect
+
+regenerate-expect: \
+    configure-expect 
+	@: $(MAKE); $(unstage)
+	@[ -f ./expect/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in expect"; \
+	(cd $(HOST_SUBDIR)/expect && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif expect
+
 
 
 .PHONY: configure-guile maybe-configure-guile
@@ -37368,6 +38367,32 @@ maintainer-clean-guile:
 
 @endif guile
 
+.PHONY: maybe-regenerate-guile regenerate-guile
+maybe-regenerate-guile:
+@if guile
+maybe-regenerate-guile: regenerate-guile
+
+regenerate-guile: \
+    configure-guile 
+	@: $(MAKE); $(unstage)
+	@[ -f ./guile/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in guile"; \
+	(cd $(HOST_SUBDIR)/guile && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif guile
+
 
 
 .PHONY: configure-tk maybe-configure-tk
@@ -37836,6 +38861,32 @@ maintainer-clean-tk:
 
 @endif tk
 
+.PHONY: maybe-regenerate-tk regenerate-tk
+maybe-regenerate-tk:
+@if tk
+maybe-regenerate-tk: regenerate-tk
+
+regenerate-tk: \
+    configure-tk 
+	@: $(MAKE); $(unstage)
+	@[ -f ./tk/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in tk"; \
+	(cd $(HOST_SUBDIR)/tk && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif tk
+
 
 
 .PHONY: configure-libtermcap maybe-configure-libtermcap
@@ -38238,6 +39289,32 @@ maintainer-clean-libtermcap:
 
 @endif libtermcap
 
+.PHONY: maybe-regenerate-libtermcap regenerate-libtermcap
+maybe-regenerate-libtermcap:
+@if libtermcap
+maybe-regenerate-libtermcap: regenerate-libtermcap
+
+regenerate-libtermcap: \
+    configure-libtermcap 
+	@: $(MAKE); $(unstage)
+	@[ -f ./libtermcap/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in libtermcap"; \
+	(cd $(HOST_SUBDIR)/libtermcap && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif libtermcap
+
 
 
 .PHONY: configure-utils maybe-configure-utils
@@ -38700,6 +39777,32 @@ maintainer-clean-utils:
 
 @endif utils
 
+.PHONY: maybe-regenerate-utils regenerate-utils
+maybe-regenerate-utils:
+@if utils
+maybe-regenerate-utils: regenerate-utils
+
+regenerate-utils: \
+    configure-utils 
+	@: $(MAKE); $(unstage)
+	@[ -f ./utils/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in utils"; \
+	(cd $(HOST_SUBDIR)/utils && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif utils
+
 
 
 .PHONY: configure-c++tools maybe-configure-c++tools
@@ -39152,6 +40255,32 @@ maintainer-clean-c++tools:
 
 @endif c++tools
 
+.PHONY: maybe-regenerate-c++tools regenerate-c++tools
+maybe-regenerate-c++tools:
+@if c++tools
+maybe-regenerate-c++tools: regenerate-c++tools
+
+regenerate-c++tools: \
+    configure-c++tools 
+	@: $(MAKE); $(unstage)
+	@[ -f ./c++tools/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in c++tools"; \
+	(cd $(HOST_SUBDIR)/c++tools && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif c++tools
+
 
 
 .PHONY: configure-gnattools maybe-configure-gnattools
@@ -39620,6 +40749,32 @@ maintainer-clean-gnattools:
 
 @endif gnattools
 
+.PHONY: maybe-regenerate-gnattools regenerate-gnattools
+maybe-regenerate-gnattools:
+@if gnattools
+maybe-regenerate-gnattools: regenerate-gnattools
+
+regenerate-gnattools: \
+    configure-gnattools 
+	@: $(MAKE); $(unstage)
+	@[ -f ./gnattools/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in gnattools"; \
+	(cd $(HOST_SUBDIR)/gnattools && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif gnattools
+
 
 
 .PHONY: configure-lto-plugin maybe-configure-lto-plugin
@@ -40769,6 +41924,31 @@ maintainer-clean-lto-plugin:
 
 @endif lto-plugin
 
+.PHONY: maybe-regenerate-lto-plugin regenerate-lto-plugin
+maybe-regenerate-lto-plugin:
+@if lto-plugin
+maybe-regenerate-lto-plugin: regenerate-lto-plugin
+
+regenerate-lto-plugin: \
+    configure-lto-plugin 
+	@[ -f ./lto-plugin/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) @extra_linker_plugin_flags@; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in lto-plugin"; \
+	(cd $(HOST_SUBDIR)/lto-plugin && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif lto-plugin
+
 
 
 .PHONY: configure-libcc1 maybe-configure-libcc1
@@ -41237,6 +42417,32 @@ maintainer-clean-libcc1:
 
 @endif libcc1
 
+.PHONY: maybe-regenerate-libcc1 regenerate-libcc1
+maybe-regenerate-libcc1:
+@if libcc1
+maybe-regenerate-libcc1: regenerate-libcc1
+
+regenerate-libcc1: \
+    configure-libcc1 
+	@: $(MAKE); $(unstage)
+	@[ -f ./libcc1/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in libcc1"; \
+	(cd $(HOST_SUBDIR)/libcc1 && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif libcc1
+
 
 
 .PHONY: configure-gotools maybe-configure-gotools
@@ -41705,6 +42911,32 @@ maintainer-clean-gotools:
 
 @endif gotools
 
+.PHONY: maybe-regenerate-gotools regenerate-gotools
+maybe-regenerate-gotools:
+@if gotools
+maybe-regenerate-gotools: regenerate-gotools
+
+regenerate-gotools: \
+    configure-gotools 
+	@: $(MAKE); $(unstage)
+	@[ -f ./gotools/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in gotools"; \
+	(cd $(HOST_SUBDIR)/gotools && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif gotools
+
 
 
 .PHONY: configure-libctf maybe-configure-libctf
@@ -42845,6 +44077,16 @@ maintainer-clean-libctf:
 
 @endif libctf
 
+.PHONY: maybe-regenerate-libctf regenerate-libctf
+maybe-regenerate-libctf:
+@if libctf
+maybe-regenerate-libctf: regenerate-libctf
+
+# libctf doesn't support regenerate.
+regenerate-libctf:
+
+@endif libctf
+
 
 
 .PHONY: configure-libsframe maybe-configure-libsframe
@@ -43985,6 +45227,16 @@ maintainer-clean-libsframe:
 
 @endif libsframe
 
+.PHONY: maybe-regenerate-libsframe regenerate-libsframe
+maybe-regenerate-libsframe:
+@if libsframe
+maybe-regenerate-libsframe: regenerate-libsframe
+
+# libsframe doesn't support regenerate.
+regenerate-libsframe:
+
+@endif libsframe
+
 
 
 .PHONY: configure-libgrust maybe-configure-libgrust
@@ -44453,6 +45705,32 @@ maintainer-clean-libgrust:
 
 @endif libgrust
 
+.PHONY: maybe-regenerate-libgrust regenerate-libgrust
+maybe-regenerate-libgrust:
+@if libgrust
+maybe-regenerate-libgrust: regenerate-libgrust
+
+regenerate-libgrust: \
+    configure-libgrust 
+	@: $(MAKE); $(unstage)
+	@[ -f ./libgrust/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	for flag in $(EXTRA_HOST_FLAGS) ; do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	echo "Doing regenerate in libgrust"; \
+	(cd $(HOST_SUBDIR)/libgrust && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	          regenerate) \
+	  || exit 1
+
+@endif libgrust
+
 
 
 # ---------------------------------------
@@ -45728,6 +47006,32 @@ maintainer-clean-target-libstdc++-v3:
 
 @endif target-libstdc++-v3
 
+.PHONY: maybe-regenerate-target-libstdc++-v3 regenerate-target-libstdc++-v3
+maybe-regenerate-target-libstdc++-v3:
+@if target-libstdc++-v3
+maybe-regenerate-target-libstdc++-v3: regenerate-target-libstdc++-v3
+
+regenerate-target-libstdc++-v3: \
+    configure-target-libstdc++-v3 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libstdc++-v3"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libstdc++-v3
+
 
 
 
@@ -46998,6 +48302,32 @@ maintainer-clean-target-libsanitizer:
 
 @endif target-libsanitizer
 
+.PHONY: maybe-regenerate-target-libsanitizer regenerate-target-libsanitizer
+maybe-regenerate-target-libsanitizer:
+@if target-libsanitizer
+maybe-regenerate-target-libsanitizer: regenerate-target-libsanitizer
+
+regenerate-target-libsanitizer: \
+    configure-target-libsanitizer 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libsanitizer/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libsanitizer"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libsanitizer && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libsanitizer
+
 
 
 
@@ -48268,6 +49598,32 @@ maintainer-clean-target-libvtv:
 
 @endif target-libvtv
 
+.PHONY: maybe-regenerate-target-libvtv regenerate-target-libvtv
+maybe-regenerate-target-libvtv:
+@if target-libvtv
+maybe-regenerate-target-libvtv: regenerate-target-libvtv
+
+regenerate-target-libvtv: \
+    configure-target-libvtv 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libvtv/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(RAW_CXX_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libvtv"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libvtv && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libvtv
+
 
 
 
@@ -48753,6 +50109,32 @@ maintainer-clean-target-libssp:
 
 @endif target-libssp
 
+.PHONY: maybe-regenerate-target-libssp regenerate-target-libssp
+maybe-regenerate-target-libssp:
+@if target-libssp
+maybe-regenerate-target-libssp: regenerate-target-libssp
+
+regenerate-target-libssp: \
+    configure-target-libssp 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libssp"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libssp && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libssp
+
 
 
 
@@ -49238,6 +50620,32 @@ maintainer-clean-target-newlib:
 
 @endif target-newlib
 
+.PHONY: maybe-regenerate-target-newlib regenerate-target-newlib
+maybe-regenerate-target-newlib:
+@if target-newlib
+maybe-regenerate-target-newlib: regenerate-target-newlib
+
+regenerate-target-newlib: \
+    configure-target-newlib 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/newlib"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/newlib && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-newlib
+
 
 
 
@@ -50470,6 +51878,32 @@ maintainer-clean-target-libgcc:
 
 @endif target-libgcc
 
+.PHONY: maybe-regenerate-target-libgcc regenerate-target-libgcc
+maybe-regenerate-target-libgcc:
+@if target-libgcc
+maybe-regenerate-target-libgcc: regenerate-target-libgcc
+
+regenerate-target-libgcc: \
+    configure-target-libgcc 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgcc/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libgcc"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgcc && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libgcc
+
 
 
 
@@ -51740,6 +53174,32 @@ maintainer-clean-target-libbacktrace:
 
 @endif target-libbacktrace
 
+.PHONY: maybe-regenerate-target-libbacktrace regenerate-target-libbacktrace
+maybe-regenerate-target-libbacktrace:
+@if target-libbacktrace
+maybe-regenerate-target-libbacktrace: regenerate-target-libbacktrace
+
+regenerate-target-libbacktrace: \
+    configure-target-libbacktrace 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libbacktrace"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libbacktrace && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libbacktrace
+
 
 
 
@@ -52225,6 +53685,32 @@ maintainer-clean-target-libquadmath:
 
 @endif target-libquadmath
 
+.PHONY: maybe-regenerate-target-libquadmath regenerate-target-libquadmath
+maybe-regenerate-target-libquadmath:
+@if target-libquadmath
+maybe-regenerate-target-libquadmath: regenerate-target-libquadmath
+
+regenerate-target-libquadmath: \
+    configure-target-libquadmath 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libquadmath/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libquadmath"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libquadmath && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libquadmath
+
 
 
 
@@ -52710,6 +54196,32 @@ maintainer-clean-target-libgfortran:
 
 @endif target-libgfortran
 
+.PHONY: maybe-regenerate-target-libgfortran regenerate-target-libgfortran
+maybe-regenerate-target-libgfortran:
+@if target-libgfortran
+maybe-regenerate-target-libgfortran: regenerate-target-libgfortran
+
+regenerate-target-libgfortran: \
+    configure-target-libgfortran 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libgfortran"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgfortran && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libgfortran
+
 
 
 
@@ -53162,6 +54674,32 @@ maintainer-clean-target-libobjc:
 
 @endif target-libobjc
 
+.PHONY: maybe-regenerate-target-libobjc regenerate-target-libobjc
+maybe-regenerate-target-libobjc:
+@if target-libobjc
+maybe-regenerate-target-libobjc: regenerate-target-libobjc
+
+regenerate-target-libobjc: \
+    configure-target-libobjc 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libobjc"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libobjc && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libobjc
+
 
 
 
@@ -53647,6 +55185,32 @@ maintainer-clean-target-libgo:
 
 @endif target-libgo
 
+.PHONY: maybe-regenerate-target-libgo regenerate-target-libgo
+maybe-regenerate-target-libgo:
+@if target-libgo
+maybe-regenerate-target-libgo: regenerate-target-libgo
+
+regenerate-target-libgo: \
+    configure-target-libgo 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgo/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libgo"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgo && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libgo
+
 
 
 
@@ -54917,6 +56481,32 @@ maintainer-clean-target-libphobos:
 
 @endif target-libphobos
 
+.PHONY: maybe-regenerate-target-libphobos regenerate-target-libphobos
+maybe-regenerate-target-libphobos:
+@if target-libphobos
+maybe-regenerate-target-libphobos: regenerate-target-libphobos
+
+regenerate-target-libphobos: \
+    configure-target-libphobos 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libphobos"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libphobos && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libphobos
+
 
 
 
@@ -55337,6 +56927,32 @@ maintainer-clean-target-libtermcap:
 
 @endif target-libtermcap
 
+.PHONY: maybe-regenerate-target-libtermcap regenerate-target-libtermcap
+maybe-regenerate-target-libtermcap:
+@if target-libtermcap
+maybe-regenerate-target-libtermcap: regenerate-target-libtermcap
+
+regenerate-target-libtermcap: \
+    configure-target-libtermcap 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libtermcap"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libtermcap && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libtermcap
+
 
 
 
@@ -55822,6 +57438,32 @@ maintainer-clean-target-winsup:
 
 @endif target-winsup
 
+.PHONY: maybe-regenerate-target-winsup regenerate-target-winsup
+maybe-regenerate-target-winsup:
+@if target-winsup
+maybe-regenerate-target-winsup: regenerate-target-winsup
+
+regenerate-target-winsup: \
+    configure-target-winsup 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/winsup"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/winsup && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-winsup
+
 
 
 
@@ -56302,6 +57944,32 @@ maintainer-clean-target-libgloss:
 
 @endif target-libgloss
 
+.PHONY: maybe-regenerate-target-libgloss regenerate-target-libgloss
+maybe-regenerate-target-libgloss:
+@if target-libgloss
+maybe-regenerate-target-libgloss: regenerate-target-libgloss
+
+regenerate-target-libgloss: \
+    configure-target-libgloss 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libgloss"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgloss && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libgloss
+
 
 
 
@@ -56777,6 +58445,32 @@ maintainer-clean-target-libffi:
 
 @endif target-libffi
 
+.PHONY: maybe-regenerate-target-libffi regenerate-target-libffi
+maybe-regenerate-target-libffi:
+@if target-libffi
+maybe-regenerate-target-libffi: regenerate-target-libffi
+
+regenerate-target-libffi: \
+    configure-target-libffi 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libffi"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libffi && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libffi
+
 
 
 
@@ -58047,6 +59741,32 @@ maintainer-clean-target-zlib:
 
 @endif target-zlib
 
+.PHONY: maybe-regenerate-target-zlib regenerate-target-zlib
+maybe-regenerate-target-zlib:
+@if target-zlib
+maybe-regenerate-target-zlib: regenerate-target-zlib
+
+regenerate-target-zlib: \
+    configure-target-zlib 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/zlib"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/zlib && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-zlib
+
 
 
 
@@ -58532,6 +60252,32 @@ maintainer-clean-target-rda:
 
 @endif target-rda
 
+.PHONY: maybe-regenerate-target-rda regenerate-target-rda
+maybe-regenerate-target-rda:
+@if target-rda
+maybe-regenerate-target-rda: regenerate-target-rda
+
+regenerate-target-rda: \
+    configure-target-rda 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/rda"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/rda && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-rda
+
 
 
 
@@ -59017,6 +60763,32 @@ maintainer-clean-target-libada:
 
 @endif target-libada
 
+.PHONY: maybe-regenerate-target-libada regenerate-target-libada
+maybe-regenerate-target-libada:
+@if target-libada
+maybe-regenerate-target-libada: regenerate-target-libada
+
+regenerate-target-libada: \
+    configure-target-libada 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libada"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libada && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libada
+
 
 
 
@@ -59502,6 +61274,32 @@ maintainer-clean-target-libgm2:
 
 @endif target-libgm2
 
+.PHONY: maybe-regenerate-target-libgm2 regenerate-target-libgm2
+maybe-regenerate-target-libgm2:
+@if target-libgm2
+maybe-regenerate-target-libgm2: regenerate-target-libgm2
+
+regenerate-target-libgm2: \
+    configure-target-libgm2 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgm2/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libgm2"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgm2 && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libgm2
+
 
 
 
@@ -60772,6 +62570,32 @@ maintainer-clean-target-libgomp:
 
 @endif target-libgomp
 
+.PHONY: maybe-regenerate-target-libgomp regenerate-target-libgomp
+maybe-regenerate-target-libgomp:
+@if target-libgomp
+maybe-regenerate-target-libgomp: regenerate-target-libgomp
+
+regenerate-target-libgomp: \
+    configure-target-libgomp 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgomp/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libgomp"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgomp && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libgomp
+
 
 
 
@@ -61257,6 +63081,32 @@ maintainer-clean-target-libitm:
 
 @endif target-libitm
 
+.PHONY: maybe-regenerate-target-libitm regenerate-target-libitm
+maybe-regenerate-target-libitm:
+@if target-libitm
+maybe-regenerate-target-libitm: regenerate-target-libitm
+
+regenerate-target-libitm: \
+    configure-target-libitm 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libitm"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libitm && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libitm
+
 
 
 
@@ -62527,6 +64377,32 @@ maintainer-clean-target-libatomic:
 
 @endif target-libatomic
 
+.PHONY: maybe-regenerate-target-libatomic regenerate-target-libatomic
+maybe-regenerate-target-libatomic:
+@if target-libatomic
+maybe-regenerate-target-libatomic: regenerate-target-libatomic
+
+regenerate-target-libatomic: \
+    configure-target-libatomic 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libatomic"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libatomic && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libatomic
+
 
 
 
@@ -63012,6 +64888,32 @@ maintainer-clean-target-libgrust:
 
 @endif target-libgrust
 
+.PHONY: maybe-regenerate-target-libgrust regenerate-target-libgrust
+maybe-regenerate-target-libgrust:
+@if target-libgrust
+maybe-regenerate-target-libgrust: regenerate-target-libgrust
+
+regenerate-target-libgrust: \
+    configure-target-libgrust 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing regenerate in $(TARGET_SUBDIR)/libgrust"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libgrust && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           regenerate) \
+	  || exit 1
+
+@endif target-libgrust
+
 
 
 @if target-libgomp
diff --git a/Makefile.tpl b/Makefile.tpl
index adbcbdd1d57..2241bf231d8 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -1055,6 +1055,13 @@ clang-format: $(srcdir)/.clang-format
 
 .PHONY: clang-format
 
+.PHONY: regenerate
+regenerate:
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(MAKE) $(RECURSE_FLAGS_TO_PASS) regenerate-host regenerate-target
+
 # Installation targets.
 
 .PHONY: install uninstall
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 4f67b59585d..cbd37b8043f 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -748,6 +748,7 @@ $(BFD32_LIBS) \
 SRC_POTFILES = $(SOURCE_CFILES) $(SOURCE_HFILES)
 BLD_POTFILES = $(BUILD_CFILES) $(BUILD_HFILES)
 
+regenerate: po/SRC-POTFILES.in po/BLD-POTFILES.in $(srcdir)/bfd-in2.h $(srcdir)/libbfd.h $(srcdir)/libcoff.h
 po/SRC-POTFILES.in: @MAINT@ Makefile
 	for file in $(SRC_POTFILES); do echo $$file; done \
 	  | LC_ALL=C sort | uniq > tmp.src \
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index faaa0c424b8..9db3a283420 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -2295,6 +2295,7 @@ $(BFD32_LIBS) \
  $(BFD64_BACKENDS) \
  $(OPTIONAL_BACKENDS): $(BFD_H) $(BFD_H_DEPS) $(LOCAL_H_DEPS)
 
+regenerate: po/SRC-POTFILES.in po/BLD-POTFILES.in $(srcdir)/bfd-in2.h $(srcdir)/libbfd.h $(srcdir)/libcoff.h
 po/SRC-POTFILES.in: @MAINT@ Makefile
 	for file in $(SRC_POTFILES); do echo $$file; done \
 	  | LC_ALL=C sort | uniq > tmp.src \
diff --git a/binutils/Makefile.am b/binutils/Makefile.am
index ad571b60546..c4879903795 100644
--- a/binutils/Makefile.am
+++ b/binutils/Makefile.am
@@ -181,6 +181,7 @@ LIBSFRAME = ../libsframe/libsframe.la
 LIBIBERTY = ../libiberty/libiberty.a
 
 POTFILES = $(CFILES) $(DEBUG_SRCS) $(HFILES)
+regenerate: po/POTFILES.in
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
diff --git a/binutils/Makefile.in b/binutils/Makefile.in
index 842a6d99b54..767bca98ccb 100644
--- a/binutils/Makefile.in
+++ b/binutils/Makefile.in
@@ -1827,6 +1827,7 @@ uninstall-man: uninstall-man1
 
 .PRECIOUS: Makefile
 
+regenerate: po/POTFILES.in
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
diff --git a/gas/Makefile.am b/gas/Makefile.am
index 37ca0952f7e..3961b3a9e61 100644
--- a/gas/Makefile.am
+++ b/gas/Makefile.am
@@ -376,6 +376,7 @@ POTFILES = $(MULTI_CFILES) $(CONFIG_ATOF_CFILES) \
 	$(TARG_ENV_HFILES) $(TARG_ENV_CFILES) $(OBJ_FORMAT_HFILES) \
 	$(OBJ_FORMAT_CFILES) $(TARGET_CPU_HFILES) $(TARGET_CPU_CFILES) \
 	$(TARGET_EXTRA_FILES) $(HFILES) $(CFILES)
+regenerate: po/POTFILES.in $(srcdir)/../opcodes/i386-init.h $(srcdir)/../opcodes/i386-tbl.h $(srcdir)/../opcodes/i386-mnem.h
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
diff --git a/gas/Makefile.in b/gas/Makefile.in
index bc25765cb5b..bfc863f9b7c 100644
--- a/gas/Makefile.in
+++ b/gas/Makefile.in
@@ -2070,6 +2070,7 @@ uninstall-man: uninstall-man1
 
 .PRECIOUS: Makefile
 
+regenerate: po/POTFILES.in $(srcdir)/../opcodes/i386-init.h $(srcdir)/../opcodes/i386-tbl.h $(srcdir)/../opcodes/i386-mnem.h
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 0e0f19c40c9..40732cb2227 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -2384,6 +2384,7 @@ doc/gdb.dvi:
 doc/gdb.info:
 	cd doc; $(MAKE) gdb.info $(FLAGS_TO_PASS)
 
+regenerate: $(srcdir)/copying.c
 # Make copying.c from COPYING
 $(srcdir)/copying.c: @MAINTAINER_MODE_TRUE@ $(srcdir)/../COPYING3 $(srcdir)/copying.awk
 	awk -f $(srcdir)/copying.awk \
diff --git a/gold/Makefile.am b/gold/Makefile.am
index ddd6a007438..9b655d4ba2b 100644
--- a/gold/Makefile.am
+++ b/gold/Makefile.am
@@ -244,7 +244,7 @@ install-exec-local: ld-new$(EXEEXT)
 	fi
 
 POTFILES= $(CCFILES) $(HFILES) $(TARGETSOURCES)
-
+regenerate: po/POTFILES.in
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
diff --git a/gold/Makefile.in b/gold/Makefile.in
index 1e6b9c77fc1..e0ba9fa4748 100644
--- a/gold/Makefile.in
+++ b/gold/Makefile.in
@@ -1627,7 +1627,7 @@ install-exec-local: ld-new$(EXEEXT)
 	    || $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
 	  fi; \
 	fi
-
+regenerate: po/POTFILES.in
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
diff --git a/gprof/Makefile.am b/gprof/Makefile.am
index 0b2b59915a9..ec859826e40 100644
--- a/gprof/Makefile.am
+++ b/gprof/Makefile.am
@@ -70,6 +70,7 @@ CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
 	    FILE=$*.m $<
 
 POTFILES = $(sources) $(noinst_HEADERS)
+regenerate: po/POTFILES.in
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
diff --git a/gprof/Makefile.in b/gprof/Makefile.in
index a7398231030..979b2a0419b 100644
--- a/gprof/Makefile.in
+++ b/gprof/Makefile.in
@@ -1190,6 +1190,7 @@ diststuff: $(BUILT_SOURCES) info $(man_MANS)
 	$(AM_V_GEN)awk -f $(srcdir)/gen-c-prog.awk > $@ \
 	    FUNCTION=`(echo $*|sed -e 's,.*/,,g' -e 's/_bl//')`_blurb \
 	    FILE=$*.m $<
+regenerate: po/POTFILES.in
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
diff --git a/ld/Makefile.am b/ld/Makefile.am
index f9ee05b1400..421b703b8b0 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -550,6 +550,7 @@ endif
 SRC_POTFILES = $(CFILES) $(HFILES)
 BLD_POTFILES = $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)
 
+regenerate: po/SRC-POTFILES.in po/BLD-POTFILES.in
 po/SRC-POTFILES.in: @MAINT@ Makefile
 	for f in $(SRC_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \
 	  && mv $@-tmp $(srcdir)/po/SRC-POTFILES.in
diff --git a/ld/Makefile.in b/ld/Makefile.in
index abb0565718f..4bf60799249 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -2307,6 +2307,7 @@ deffilep.@OBJEXT@: deffilep.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC)$(COMPILE) -c `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR)
 
+regenerate: po/SRC-POTFILES.in po/BLD-POTFILES.in
 po/SRC-POTFILES.in: @MAINT@ Makefile
 	for f in $(SRC_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \
 	  && mv $@-tmp $(srcdir)/po/SRC-POTFILES.in
diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am
index a173c8e6f36..162cc531153 100644
--- a/opcodes/Makefile.am
+++ b/opcodes/Makefile.am
@@ -324,6 +324,8 @@ stamp-lib: libopcodes.la
 libopcodes.a: stamp-lib ; @true
 
 POTFILES = $(HFILES) $(LIBOPCODES_CFILES)
+regenerate: po/POTFILES.in $(srcdir)/aarch64-asm-2.c $(srcdir)/aarch64-dis-2.c $(srcdir)/aarch64-opc-2.c $(srcdir)/i386-tbl.h $(srcdir)/i386-init.h $(srcdir)/i386-mnem.h $(srcdir)/ia64-asmtab.c $(srcdir)/msp430-decode.c $(srcdir)/rl78-decode.c $(srcdir)/rx-decode.c $(srcdir)/z8k-opc.h
+
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in
index 57aaed26da8..b768dafeab6 100644
--- a/opcodes/Makefile.in
+++ b/opcodes/Makefile.in
@@ -1370,6 +1370,8 @@ stamp-lib: libopcodes.la
 	touch stamp-lib
 
 libopcodes.a: stamp-lib ; @true
+regenerate: po/POTFILES.in $(srcdir)/aarch64-asm-2.c $(srcdir)/aarch64-dis-2.c $(srcdir)/aarch64-opc-2.c $(srcdir)/i386-tbl.h $(srcdir)/i386-init.h $(srcdir)/i386-mnem.h $(srcdir)/ia64-asmtab.c $(srcdir)/msp430-decode.c $(srcdir)/rl78-decode.c $(srcdir)/rx-decode.c $(srcdir)/z8k-opc.h
+
 po/POTFILES.in: @MAINT@ Makefile
 	for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
 	  && mv tmp $(srcdir)/po/POTFILES.in
-- 
2.34.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.