diff --git a/etc/ChangeLog b/etc/ChangeLog
index ce6d0f7d48d1a26d3f92e51c43bcf8080ed92a84..01d34f7df8b5291836259d95c49d5abc8ce2e2ec 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,11 @@
+2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* Makefile.in (AUTOCONF, configure_deps): New variables.
+	($(srcdir)/configure, config.status): New rules.
+	(Makefile): Depend on config.status.
+	* configure.in: Accept --enable-maintainer-mode, set and
+	substitute MAINT accordingly.
+
 2009-02-03  Carlos O'Donell  <carlos@codesourcery.com>
 
 	* configure.in: AC_SUBST pdfdir.
diff --git a/etc/Makefile.in b/etc/Makefile.in
index 9642e076c1d1669d49a9682345f49bd6bf4a8423..e910ad4c355a5c874e0afa3454af6f9032d23a96 100644
--- a/etc/Makefile.in
+++ b/etc/Makefile.in
@@ -228,9 +228,19 @@ maintainer-clean realclean:   distclean
 	rm -f *.html*
 	rm -f *.info*
 
-Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)
+Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) \
+	config.status
 	$(SHELL) ./config.status
 
+AUTOCONF = autoconf
+configure_deps = $(srcdir)/configure.in
+
+$(srcdir)/configure: @MAINT@ $(configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+
+config.status: $(srcdir)/configure
+	$(SHELL) ./config.status --recheck
+
 ## these last targets are for standards.texi conformance
 dist:
 check:
diff --git a/etc/configure b/etc/configure
index 96104c549518d5353fa875f370ef5c8fd269aad3..b7e2d21410044be40931c150cb0c38e9f959761f 100755
--- a/etc/configure
+++ b/etc/configure
@@ -272,7 +272,7 @@ PACKAGE_STRING=
 PACKAGE_BUGREPORT=
 
 ac_unique_file="Makefile.in"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA datarootdir docdir htmldir pdfdir LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA MAINT datarootdir docdir htmldir pdfdir LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -780,6 +780,13 @@ if test -n "$ac_init_help"; then
 
   cat <<\_ACEOF
 
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
+
 _ACEOF
 fi
 
@@ -1321,6 +1328,23 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 
+# Command-line options.
+# Very limited version of AC_MAINTAINER_MODE.
+# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+  enableval="$enable_maintainer_mode"
+  case ${enable_maintainer_mode} in
+     yes) MAINT='' ;;
+     no) MAINT='#' ;;
+     *) { { echo "$as_me:$LINENO: error: --enable-maintainer-mode must be yes or no" >&5
+echo "$as_me: error: --enable-maintainer-mode must be yes or no" >&2;}
+   { (exit 1); exit 1; }; } ;;
+   esac
+   maintainer_mode=${enableval}
+else
+  MAINT='#'
+fi;
+
 
 
 
@@ -1965,6 +1989,7 @@ s,@LIBS@,$LIBS,;t t
 s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
 s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
 s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@MAINT@,$MAINT,;t t
 s,@datarootdir@,$datarootdir,;t t
 s,@docdir@,$docdir,;t t
 s,@htmldir@,$htmldir,;t t
diff --git a/etc/configure.in b/etc/configure.in
index 7285d372e741a4f502d844b3c0d6413390af101c..6b94aac00c7b9e2c647aa74213ead26c897cafab 100644
--- a/etc/configure.in
+++ b/etc/configure.in
@@ -4,6 +4,21 @@ AC_INIT(Makefile.in)
 
 AC_PROG_INSTALL
 
+# Command-line options.
+# Very limited version of AC_MAINTAINER_MODE.
+AC_ARG_ENABLE([maintainer-mode],
+  [AC_HELP_STRING([--enable-maintainer-mode],
+                 [enable make rules and dependencies not useful (and
+                  sometimes confusing) to the casual installer])],
+  [case ${enable_maintainer_mode} in
+     yes) MAINT='' ;;
+     no) MAINT='#' ;;
+     *) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;;
+   esac
+   maintainer_mode=${enableval}],
+  [MAINT='#'])
+AC_SUBST([MAINT])dnl
+
 AC_SUBST(datarootdir)
 AC_SUBST(docdir)
 AC_SUBST(htmldir)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 15f8aa47222ae2f1b5988a5b96c1bd1ea226e54b..50bf09053a648ed6550c5a583d13c1679cac7976 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,14 @@
+2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* Makefile.in (ACLOCAL, ACLOCAL_AMFLAGS, aclocal_m4_deps)
+	(AUTOCONF, configure_deps, AUTOHEADER): New variables.
+	($(srcdir)/aclocal.m4, $(srcdir)/configure, $(srcdir)/config.in)
+	(am--refresh): New rules.
+	(stamp-h, config.status): List config.in and configure including
+	$(srcdir)/ prefix.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
 2009-07-30  Thomas Schwinge  <tschwinge@gnu.org>
 
 	* gnu-nat.c (add_task_commands) <stopped>: Register the correct
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 7659a8fb481db2ced46fb58db6fe431f8468faa5..4686fb0f6a99ce3434e6267ee73b278d544bdeed 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1212,16 +1212,69 @@ gnulib/Makefile: gnulib/Makefile.in gnulib/Makefile.in config.status @frags@
 	  $(SHELL) config.status
 
 config.h: stamp-h ; @true
-stamp-h: config.in config.status
+stamp-h: $(srcdir)/config.in config.status
 	CONFIG_HEADERS=config.h:config.in \
 	  CONFIG_COMMANDS="default depdir" \
 	  CONFIG_FILES= \
 	  CONFIG_LINKS= \
 	  $(SHELL) config.status
 
-config.status: configure configure.tgt configure.host
+config.status: $(srcdir)/configure configure.tgt configure.host
 	$(SHELL) config.status --recheck
 
+ACLOCAL = aclocal
+ACLOCAL_AMFLAGS = -I gnulib/m4
+aclocal_m4_deps = \
+	configure.ac \
+	gnulib/m4/extensions.m4 \
+	gnulib/m4/gnulib-common.m4 \
+	gnulib/m4/gnulib-comp.m4 \
+	gnulib/m4/include_next.m4 \
+	gnulib/m4/longlong.m4 \
+	gnulib/m4/memchr.m4 \
+	gnulib/m4/memcmp.m4 \
+	gnulib/m4/memmem.m4 \
+	gnulib/m4/onceonly_2_57.m4 \
+	gnulib/m4/stdint.m4 \
+	gnulib/m4/string_h.m4 \
+	gnulib/m4/wchar.m4 \
+	../config/extensions.m4 \
+	../config/lead-dot.m4 \
+	../config/proginstall.m4 \
+	../bfd/bfd.m4 \
+	../config/acinclude.m4 \
+	../config/override.m4 \
+	../config/gettext-sister.m4 \
+	../config/lib-ld.m4 \
+	../config/lib-prefix.m4 \
+	../config/lib-link.m4 \
+	../config/acx.m4 \
+	../config/tcl.m4 \
+	../config/depstand.m4 \
+	../config/lcmessage.m4 \
+	../config/codeset.m4
+
+$(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+AUTOCONF = autoconf
+configure_deps = $(srcdir)/configure.ac $(srcdir)/aclocal.m4
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+
+AUTOHEADER = autoheader
+$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(configure_deps)
+	cd $(srcdir) && $(AUTOHEADER)
+	rm -f stamp-h
+	touch $@
+
+# automatic rebuilding in automake-generated Makefiles requires
+# this rule in the toplevel Makefile, which, with GNU make, causes
+# the desired updates through the implicit regeneration of the Makefile
+# and all of its prerequisites.
+am--refresh:
+	@:
+
 force:
 
 # Documentation!
diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
index bc533a44758573df6c38a825288c69fcf17a1709..35359326f8370d09bcbf4623c32320a82d15e3a3 100644
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -856,6 +856,8 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
+m4_include([../config/lead-dot.m4])
+m4_include([../config/proginstall.m4])
 m4_include([gnulib/m4/extensions.m4])
 m4_include([gnulib/m4/gnulib-common.m4])
 m4_include([gnulib/m4/gnulib-comp.m4])
@@ -868,7 +870,4 @@ m4_include([gnulib/m4/onceonly_2_57.m4])
 m4_include([gnulib/m4/stdint.m4])
 m4_include([gnulib/m4/string_h.m4])
 m4_include([gnulib/m4/wchar.m4])
-m4_include([../config/extensions.m4])
-m4_include([../config/lead-dot.m4])
-m4_include([../config/proginstall.m4])
 m4_include([acinclude.m4])
diff --git a/gdb/configure b/gdb/configure
index 30409c89dd545b3ae4ef02025c300f844ace1ec1..93f7f4be4e68e27f07e612cdd718d5b118ded410 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -15865,6 +15865,7 @@ fi
 
 
 
+
 
 
 for ac_func in canonicalize_file_name realpath getrusage getuid \
diff --git a/intl/ChangeLog b/intl/ChangeLog
index 74018fb44c08dbe25bbe285578defbc609e7e399..fda6cc38cd4c4aeee0b8f1a075e155aec700a7bf 100644
--- a/intl/ChangeLog
+++ b/intl/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* Makefile.in (aclocal_deps): New variable.
+	($(srcdir)/aclocal.m4): Use it, for portable makefile syntax.
+
 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
 	* configure: Regenerate.
diff --git a/intl/Makefile.in b/intl/Makefile.in
index 96211ffd14787850629e03f739f8b5376510bb49..3dd0b7fe8fdf3906898749bdeb2d914f60babac3 100644
--- a/intl/Makefile.in
+++ b/intl/Makefile.in
@@ -211,16 +211,28 @@ config.status: $(srcdir)/configure
 $(srcdir)/configure: @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/configure.ac
 	cd $(srcdir) && $(AUTOCONF)
 
-$(srcdir)/aclocal.m4: @MAINT@ $(srcdir)/configure.ac \
-	$(srcdir)/../config/codeset.m4 $(srcdir)/../config/gettext.m4 \
-	$(srcdir)/../config/glibc21.m4 $(srcdir)/../config/iconv.m4 \
-	$(srcdir)/../config/intdiv0.m4 $(srcdir)/../config/inttypes-pri.m4 \
-	$(srcdir)/../config/inttypes.m4 $(srcdir)/../config/inttypes_h.m4 \
-	$(srcdir)/../config/lcmessage.m4 $(srcdir)/../config/lib-ld.m4 \
-	$(srcdir)/../config/lib-link.m4 $(srcdir)/../config/lib-prefix.m4 \
-	$(srcdir)/../config/nls.m4 $(srcdir)/../config/po.m4 \
-	$(srcdir)/../config/progtest.m4 $(srcdir)/../config/stdint_h.m4 \
-	$(srcdir)/../config/uintmax_t.m4 $(srcdir)/../config/ulonglong.m4
+aclocal_deps = \
+	$(srcdir)/configure.ac \
+	$(srcdir)/../config/codeset.m4 \
+	$(srcdir)/../config/gettext.m4 \
+	$(srcdir)/../config/glibc21.m4 \
+	$(srcdir)/../config/iconv.m4 \
+	$(srcdir)/../config/intdiv0.m4 \
+	$(srcdir)/../config/inttypes-pri.m4 \
+	$(srcdir)/../config/inttypes.m4 \
+	$(srcdir)/../config/inttypes_h.m4 \
+	$(srcdir)/../config/lcmessage.m4 \
+	$(srcdir)/../config/lib-ld.m4 \
+	$(srcdir)/../config/lib-link.m4 \
+	$(srcdir)/../config/lib-prefix.m4 \
+	$(srcdir)/../config/nls.m4 \
+	$(srcdir)/../config/po.m4 \
+	$(srcdir)/../config/progtest.m4 \
+	$(srcdir)/../config/stdint_h.m4 \
+	$(srcdir)/../config/uintmax_t.m4 \
+	$(srcdir)/../config/ulonglong.m4
+
+$(srcdir)/aclocal.m4: @MAINT@ $(aclocal_deps)
 	cd $(srcdir) && $(ACLOCAL) -I ../config
 
 config.h: stamp-h1
diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog
index 74fba5990d6f82ee44dfff315e9788062caa2774..8cdf161b1d46e878e7b1e43b0648a2a43fc84304 100644
--- a/libdecnumber/ChangeLog
+++ b/libdecnumber/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* Makefile.in (aclocal_deps): New variable.
+	($(srcdir)/aclocal.m4): Use it, for portable makefile syntax.
+
 2009-05-31  Ian Lance Taylor  <iant@google.com>
 
 	* decContext.h: Add extern "C" if compiling with C++.
diff --git a/libdecnumber/Makefile.in b/libdecnumber/Makefile.in
index 41607959c9166cdac1699025a4db07fe81f4fab5..de91f6f614b6648357afb35b1c4846de24c2bed5 100644
--- a/libdecnumber/Makefile.in
+++ b/libdecnumber/Makefile.in
@@ -94,9 +94,13 @@ config.status: $(srcdir)/configure
 $(srcdir)/configure: @MAINT@ $(srcdir)/aclocal.m4
 	cd $(srcdir) && $(AUTOCONF)
 
-$(srcdir)/aclocal.m4: @MAINT@ $(srcdir)/../config/stdint.m4 \
-	$(srcdir)/../config/warnings.m4 $(srcdir)/../config/override.m4 \
+aclocal_deps = \
+	$(srcdir)/../config/stdint.m4 \
+	$(srcdir)/../config/warnings.m4 \
+	$(srcdir)/../config/override.m4 \
 	$(srcdir)/configure.ac
+
+$(srcdir)/aclocal.m4: @MAINT@ $(aclocal_deps)
 	cd $(srcdir) && $(ACLOCAL) -I ../config
 
 config.h: stamp-h1