On 12/21/21 12:12, Bruno Haible wrote:
I'm fine with removing these 'rm -f $@-t $@' commands.

OK, I did that with the first attached patch.

The @NMD@ business means we need recipe lines that say "$(AM_V_GEN)" and nothing else. However, this should be portable and GNU Make figures it out without forking more processes.

This also changes "mv -f $@-t $@" to plain "mv $@-t $@". The -f is not needed. Formerly we were inconsistent about whether to use -f and I figured we might as well be simpler.

This patch omits instances of trailing "&& \" when keeping it would contort the code due to the @NMD@s. This is another argument for omitting "&& \" when it's not needed, as discussed in <https://lists.gnu.org/r/bug-gnulib/2021-12/msg00125.html>.

I also installed the second attached patch, which adds a couple of @NMD@s that were missed earlier.
From 42415d79b8dcfeb761db41a4067fa6a18b0d4912 Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Wed, 22 Dec 2021 10:57:36 -0800
Subject: [PATCH 1/2] =?UTF-8?q?maint:=20omit=20unnecessary=20=E2=80=98rm?=
 =?UTF-8?q?=20-f=20$@-t=20$@=E2=80=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* modules/alloca-opt, modules/argz, modules/arpa_inet:
* modules/assert-h, modules/byteswap, modules/configmake:
* modules/ctype, modules/dirent, modules/dynarray, modules/errno:
* modules/execinfo, modules/fcntl-h, modules/float:
* modules/fnmatch-h, modules/getopt-posix, modules/glob-h:
* modules/iconv-h, modules/ieee754-h, modules/inttypes-incomplete:
* modules/langinfo, modules/libtextstyle-optional:
* modules/limits-h, modules/langinfo, modules/libgmp, modules/limits-h:
* modules/locale, modules/malloc-h, modules/math, modules/monetary:
* modules/net_if, modules/netdb, modules/netinet_in:
* modules/openmp-init, modules/poll-h, modules/posix-shell:
* modules/posix_spawnp-tests, modules/pthread-h, modules/pty:
* modules/sched, modules/scratch_buffer, modules/search:
* modules/selinux-h, modules/signal-h, modules/sigsegv:
* modules/snippet/link-warning, modules/spawn, modules/stdalign:
* modules/stdarg, modules/stdbool, modules/stddef, modules/stdint:
* modules/stdio, modules/stdlib, modules/stdnoreturn:
* modules/string, modules/strings, modules/sys_file:
* modules/sys_ioctl, modules/sys_random, modules/sys_resource:
* modules/sys_select, modules/sys_socket, modules/sys_stat:
* modules/sys_time, modules/sys_times, modules/sys_types:
* modules/sys_uio, modules/sys_utsname, modules/sys_wait:
* modules/sysexits, modules/termios, modules/threads-h:
* modules/time, modules/uchar, modules/unicase/base:
* modules/unicase/special-casing, modules/uniconv/base:
* modules/unictype/base, modules/unigbrk/base, modules/unilbrk/base:
* modules/uniname/base, modules/uninorm/base, modules/unistd:
* modules/unistdio/base, modules/unistr/base, modules/unitypes:
* modules/uniwbrk/base, modules/uniwidth/base, modules/utime-h:
* modules/wchar, modules/wctype-h:
Don’t bother to do a ‘rm -f $@-t $@’ at the start of recipes that
create .h and similar files.  This is a revenant of a style in
which the files were created read-only.  Also, consistently use
use plain ‘mv $@-t $@’ afterwards, instead of usually using
‘mv -f’ but sometimes plain ‘mv’.
---
 ChangeLog                      | 39 ++++++++++++++++++++++++++++++++++
 modules/alloca-opt             |  8 +++----
 modules/argz                   |  8 +++----
 modules/arpa_inet              |  3 +--
 modules/assert-h               |  6 +++---
 modules/byteswap               |  8 +++----
 modules/configmake             |  8 +++----
 modules/ctype                  |  6 +++---
 modules/dirent                 |  6 +++---
 modules/dynarray               |  6 ++----
 modules/errno                  |  6 +++---
 modules/execinfo               |  6 +++---
 modules/fcntl-h                |  6 +++---
 modules/float                  |  6 +++---
 modules/fnmatch-h              |  6 +++---
 modules/getopt-posix           | 13 ++++++------
 modules/glob-h                 |  9 ++++----
 modules/iconv-h                |  6 +++---
 modules/ieee754-h              |  8 +++----
 modules/inttypes-incomplete    |  6 +++---
 modules/langinfo               |  6 +++---
 modules/libtextstyle-optional  |  6 +++---
 modules/limits-h               |  6 +++---
 modules/locale                 |  6 +++---
 modules/malloc-h               |  6 +++---
 modules/math                   |  6 +++---
 modules/monetary               |  6 +++---
 modules/net_if                 |  3 +--
 modules/netdb                  |  6 +++---
 modules/netinet_in             |  3 +--
 modules/openmp-init            |  6 +++---
 modules/poll-h                 |  8 +++----
 modules/posix-shell            | 11 +++++-----
 modules/posix_spawnp-tests     |  4 ++--
 modules/pthread-h              |  6 +++---
 modules/pty                    |  6 +++---
 modules/sched                  |  6 +++---
 modules/scratch_buffer         |  3 +--
 modules/search                 |  6 +++---
 modules/selinux-h              |  9 +++-----
 modules/signal-h               |  6 +++---
 modules/sigsegv                |  6 +++---
 modules/snippet/link-warning   |  6 +++---
 modules/spawn                  |  6 +++---
 modules/stdalign               |  6 +++---
 modules/stdarg                 |  6 +++---
 modules/stdbool                |  6 +++---
 modules/stddef                 |  6 +++---
 modules/stdint                 |  6 +++---
 modules/stdio                  |  6 +++---
 modules/stdlib                 |  6 +++---
 modules/stdnoreturn            |  6 +++---
 modules/string                 |  6 +++---
 modules/strings                |  6 +++---
 modules/sys_file               |  3 +--
 modules/sys_ioctl              |  3 +--
 modules/sys_random             |  5 ++---
 modules/sys_resource           |  5 ++---
 modules/sys_select             |  3 +--
 modules/sys_socket             |  5 ++---
 modules/sys_stat               |  3 +--
 modules/sys_time               |  3 +--
 modules/sys_times              |  3 +--
 modules/sys_types              |  3 +--
 modules/sys_uio                |  5 ++---
 modules/sys_utsname            |  3 +--
 modules/sys_wait               |  3 +--
 modules/sysexits               |  8 +++----
 modules/termios                |  6 +++---
 modules/threads-h              |  6 +++---
 modules/time                   |  6 +++---
 modules/uchar                  |  6 +++---
 modules/unicase/base           |  8 +++----
 modules/unicase/special-casing |  5 ++---
 modules/uniconv/base           |  8 +++----
 modules/unictype/base          |  8 +++----
 modules/unigbrk/base           |  8 +++----
 modules/unilbrk/base           |  8 +++----
 modules/uniname/base           |  8 +++----
 modules/uninorm/base           |  8 +++----
 modules/unistd                 |  6 +++---
 modules/unistdio/base          |  8 +++----
 modules/unistr/base            |  8 +++----
 modules/unitypes               |  8 +++----
 modules/uniwbrk/base           |  8 +++----
 modules/uniwidth/base          |  8 +++----
 modules/utime-h                |  6 +++---
 modules/wchar                  |  6 +++---
 modules/wctype-h               |  6 +++---
 89 files changed, 296 insertions(+), 281 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6855df5b3..9bed73b62 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,42 @@
+2021-12-22  Paul Eggert  <egg...@cs.ucla.edu>
+
+	maint: omit unnecessary ‘rm -f $@-t $@’
+	* modules/alloca-opt, modules/argz, modules/arpa_inet:
+	* modules/assert-h, modules/byteswap, modules/configmake:
+	* modules/ctype, modules/dirent, modules/dynarray, modules/errno:
+	* modules/execinfo, modules/fcntl-h, modules/float:
+	* modules/fnmatch-h, modules/getopt-posix, modules/glob-h:
+	* modules/iconv-h, modules/ieee754-h, modules/inttypes-incomplete:
+	* modules/langinfo, modules/libtextstyle-optional:
+	* modules/limits-h, modules/langinfo, modules/libgmp, modules/limits-h:
+	* modules/locale, modules/malloc-h, modules/math, modules/monetary:
+	* modules/net_if, modules/netdb, modules/netinet_in:
+	* modules/openmp-init, modules/poll-h, modules/posix-shell:
+	* modules/posix_spawnp-tests, modules/pthread-h, modules/pty:
+	* modules/sched, modules/scratch_buffer, modules/search:
+	* modules/selinux-h, modules/signal-h, modules/sigsegv:
+	* modules/snippet/link-warning, modules/spawn, modules/stdalign:
+	* modules/stdarg, modules/stdbool, modules/stddef, modules/stdint:
+	* modules/stdio, modules/stdlib, modules/stdnoreturn:
+	* modules/string, modules/strings, modules/sys_file:
+	* modules/sys_ioctl, modules/sys_random, modules/sys_resource:
+	* modules/sys_select, modules/sys_socket, modules/sys_stat:
+	* modules/sys_time, modules/sys_times, modules/sys_types:
+	* modules/sys_uio, modules/sys_utsname, modules/sys_wait:
+	* modules/sysexits, modules/termios, modules/threads-h:
+	* modules/time, modules/uchar, modules/unicase/base:
+	* modules/unicase/special-casing, modules/uniconv/base:
+	* modules/unictype/base, modules/unigbrk/base, modules/unilbrk/base:
+	* modules/uniname/base, modules/uninorm/base, modules/unistd:
+	* modules/unistdio/base, modules/unistr/base, modules/unitypes:
+	* modules/uniwbrk/base, modules/uniwidth/base, modules/utime-h:
+	* modules/wchar, modules/wctype-h:
+	Don’t bother to do a ‘rm -f $@-t $@’ at the start of recipes that
+	create .h and similar files.  This is a revenant of a style in
+	which the files were created read-only.  Also, consistently use
+	use plain ‘mv $@-t $@’ afterwards, instead of usually using
+	‘mv -f’ but sometimes plain ‘mv’.
+
 2021-12-21  Paul Eggert  <egg...@cs.ucla.edu>
 
 	maint: fix __clang_major__ misspellings
diff --git a/modules/alloca-opt b/modules/alloca-opt
index b33522997..b8ab4217c 100644
--- a/modules/alloca-opt
+++ b/modules/alloca-opt
@@ -21,12 +21,12 @@ BUILT_SOURCES += $(ALLOCA_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_ALLOCA_H
 alloca.h: alloca.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' < $(srcdir)/alloca.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 else
 alloca.h: $(top_builddir)/config.status
 	rm -f $@
diff --git a/modules/argz b/modules/argz
index 0d89267aa..cb85d9866 100644
--- a/modules/argz
+++ b/modules/argz
@@ -29,12 +29,12 @@ BUILT_SOURCES += $(ARGZ_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_ARGZ_H
 argz.h: argz.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/argz.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 else
 argz.h: $(top_builddir)/config.status
 	rm -f $@
diff --git a/modules/arpa_inet b/modules/arpa_inet
index 5344fe3ea..51b14f160 100644
--- a/modules/arpa_inet
+++ b/modules/arpa_inet
@@ -26,8 +26,7 @@ BUILT_SOURCES += arpa/inet.h
 # doesn't have one.
 arpa/inet.h: arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/arpa'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/assert-h b/modules/assert-h
index da6c85bf3..ad3566bfa 100644
--- a/modules/assert-h
+++ b/modules/assert-h
@@ -21,9 +21,9 @@ BUILT_SOURCES += $(ASSERT_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_ASSERT_H
 assert.h: assert.in.h verify.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
diff --git a/modules/byteswap b/modules/byteswap
index 577811ee4..6e9af748a 100644
--- a/modules/byteswap
+++ b/modules/byteswap
@@ -19,12 +19,12 @@ BUILT_SOURCES += $(BYTESWAP_H)
 # doesn't have one.
 if GL_GENERATE_BYTESWAP_H
 byteswap.h: byteswap.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/byteswap.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 else
 byteswap.h: $(top_builddir)/config.status
 	rm -f $@
diff --git a/modules/configmake b/modules/configmake
index 729590811..5de3434cd 100644
--- a/modules/configmake
+++ b/modules/configmake
@@ -16,9 +16,9 @@ Makefile.am:
 # The Automake-defined pkg* macros are appended, in the order
 # listed in the Automake 1.10a+ documentation.
 configmake.h: Makefile
-	$(AM_V_GEN)rm -f $@-t && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  echo '#if HAVE_WINSOCK2_H'; \
 	  echo '# include <winsock2.h> /* avoid mingw pollution on DATADIR */'; \
 	  echo '#endif'; \
@@ -51,7 +51,7 @@ configmake.h: Makefile
 	  echo '#define PKGLIBDIR "$(pkglibdir)"'; \
 	  echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \
 	} | sed '/""/d' > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 
 BUILT_SOURCES += configmake.h
 CLEANFILES += configmake.h configmake.h-t
diff --git a/modules/ctype b/modules/ctype
index ef5b22aaa..10d6db43b 100644
--- a/modules/ctype
+++ b/modules/ctype
@@ -22,9 +22,9 @@ BUILT_SOURCES += ctype.h
 # We need the following in order to create <ctype.h> when the system
 # doesn't have one that works with the given compiler.
 ctype.h: ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/dirent b/modules/dirent
index 08d42e706..0a0989dff 100644
--- a/modules/dirent
+++ b/modules/dirent
@@ -24,9 +24,9 @@ BUILT_SOURCES += dirent.h
 # We need the following in order to create <dirent.h> when the system
 # doesn't have one that works with the given compiler.
 dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/dynarray b/modules/dynarray
index e79fe42a8..3e5a98425 100644
--- a/modules/dynarray
+++ b/modules/dynarray
@@ -27,8 +27,7 @@ BUILT_SOURCES += malloc/dynarray.gl.h malloc/dynarray-skeleton.gl.h
 
 malloc/dynarray.gl.h: malloc/dynarray.h
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/malloc'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e '/libc_hidden_proto/d' < $(srcdir)/malloc/dynarray.h; \
 	} > $@-t && \
 	mv $@-t $@
@@ -36,8 +35,7 @@ MOSTLYCLEANFILES += malloc/dynarray.gl.h malloc/dynarray.gl.h-t
 
 malloc/dynarray-skeleton.gl.h: malloc/dynarray-skeleton.c
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/malloc'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|<malloc/dynarray\.h>|<malloc/dynarray.gl.h>|g' \
 	      -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \
 	      -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \
diff --git a/modules/errno b/modules/errno
index b149897da..e3f1dc01c 100644
--- a/modules/errno
+++ b/modules/errno
@@ -20,9 +20,9 @@ BUILT_SOURCES += $(ERRNO_H)
 # doesn't have one that is POSIX compliant.
 if GL_GENERATE_ERRNO_H
 errno.h: errno.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/execinfo b/modules/execinfo
index 0c47c5c82..779669fa5 100644
--- a/modules/execinfo
+++ b/modules/execinfo
@@ -24,9 +24,9 @@ BUILT_SOURCES += $(EXECINFO_H)
 # doesn't have one that works.
 if GL_GENERATE_EXECINFO_H
 execinfo.h: execinfo.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/execinfo.in.h; \
 	} > $@-t && \
 	mv $@-t $@
diff --git a/modules/fcntl-h b/modules/fcntl-h
index d54621737..a80e6bd45 100644
--- a/modules/fcntl-h
+++ b/modules/fcntl-h
@@ -27,9 +27,9 @@ BUILT_SOURCES += fcntl.h
 # We need the following in order to create <fcntl.h> when the system
 # doesn't have one that works with the given compiler.
 fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/float b/modules/float
index feaf50914..6551e454b 100644
--- a/modules/float
+++ b/modules/float
@@ -28,9 +28,9 @@ BUILT_SOURCES += $(FLOAT_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_FLOAT_H
 float.h: float.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/fnmatch-h b/modules/fnmatch-h
index aa15d0df2..260bbd575 100644
--- a/modules/fnmatch-h
+++ b/modules/fnmatch-h
@@ -24,9 +24,9 @@ BUILT_SOURCES += $(FNMATCH_H)
 # We need the following in order to create <fnmatch.h>.
 if GL_GENERATE_FNMATCH_H
 fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_FNMATCH_H''@|$(HAVE_FNMATCH_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/getopt-posix b/modules/getopt-posix
index 0b1a6f3f9..d6704e7c2 100644
--- a/modules/getopt-posix
+++ b/modules/getopt-posix
@@ -41,9 +41,9 @@ BUILT_SOURCES += $(GETOPT_H) $(GETOPT_CDEFS_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_GETOPT_H
 getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
@@ -53,7 +53,7 @@ getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
 	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
 	      < $(srcdir)/getopt.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 else
 getopt.h: $(top_builddir)/config.status
 	rm -f $@
@@ -61,12 +61,11 @@ endif
 
 if GL_GENERATE_GETOPT_CDEFS_H
 getopt-cdefs.h: getopt-cdefs.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
           sed -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \
 	      < $(srcdir)/getopt-cdefs.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 else
 getopt-cdefs.h: $(top_builddir)/config.status
 	rm -f $@
diff --git a/modules/glob-h b/modules/glob-h
index 0392f4677..97dd26543 100644
--- a/modules/glob-h
+++ b/modules/glob-h
@@ -28,9 +28,9 @@ BUILT_SOURCES += $(GLOB_H)
 # We need the following in order to create <glob.h>.
 if GL_GENERATE_GLOB_H
 glob.h: glob.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_GLOB_H''@|$(HAVE_GLOB_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
@@ -57,8 +57,7 @@ MOSTLYCLEANFILES += glob.h glob.h-t
 BUILT_SOURCES += glob-libc.gl.h
 
 glob-libc.gl.h: glob-libc.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e '/__BEGIN_DECLS/{ s/__BEGIN_DECLS/#ifdef __cplusplus%extern "C" {%#endif/; y/%/\n/; }' \
 	      -e '/__END_DECLS/{ s/__END_DECLS/#ifdef __cplusplus%}%#endif/; y/%/\n/; }' \
 	      -e 's|__THROWNL||g' \
diff --git a/modules/iconv-h b/modules/iconv-h
index 9cf25f91b..41579fb54 100644
--- a/modules/iconv-h
+++ b/modules/iconv-h
@@ -24,9 +24,9 @@ BUILT_SOURCES += $(ICONV_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_ICONV_H
 iconv.h: iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/ieee754-h b/modules/ieee754-h
index 9c5c964ec..124f368cf 100644
--- a/modules/ieee754-h
+++ b/modules/ieee754-h
@@ -19,13 +19,13 @@ BUILT_SOURCES += $(IEEE754_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_IEEE754_H
 ieee754.h: ieee754.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's/ifndef _GL_GNULIB_HEADER/if 0/g' \
 	    $(srcdir)/ieee754.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 else
 ieee754.h: $(top_builddir)/config.status
 	rm -f $@
diff --git a/modules/inttypes-incomplete b/modules/inttypes-incomplete
index 903112c1b..71165720d 100644
--- a/modules/inttypes-incomplete
+++ b/modules/inttypes-incomplete
@@ -24,9 +24,9 @@ BUILT_SOURCES += inttypes.h
 # We need the following in order to create <inttypes.h> when the system
 # doesn't have one that works with the given compiler.
 inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/langinfo b/modules/langinfo
index 68ad36d70..d6b74c9aa 100644
--- a/modules/langinfo
+++ b/modules/langinfo
@@ -22,9 +22,9 @@ BUILT_SOURCES += langinfo.h
 # We need the following in order to create an empty placeholder for
 # <langinfo.h> when the system doesn't have one.
 langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/libtextstyle-optional b/modules/libtextstyle-optional
index 36448abe0..0a5163929 100644
--- a/modules/libtextstyle-optional
+++ b/modules/libtextstyle-optional
@@ -28,9 +28,9 @@ BUILT_SOURCES += $(TEXTSTYLE_H)
 # <textstyle.h> when the system doesn't have one.
 if GL_GENERATE_TEXTSTYLE_H
 textstyle.h: textstyle.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/textstyle.in.h; \
 	} > $@-t && \
 	mv $@-t $@
diff --git a/modules/limits-h b/modules/limits-h
index a1a875e39..9fc0a2e4c 100644
--- a/modules/limits-h
+++ b/modules/limits-h
@@ -20,9 +20,9 @@ BUILT_SOURCES += $(LIMITS_H)
 # doesn't have one that is compatible with GNU.
 if GL_GENERATE_LIMITS_H
 limits.h: limits.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/locale b/modules/locale
index 2f067cf2a..60bfbe669 100644
--- a/modules/locale
+++ b/modules/locale
@@ -24,9 +24,9 @@ BUILT_SOURCES += locale.h
 # We need the following in order to create <locale.h> when the system
 # doesn't have one that provides all definitions.
 locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/malloc-h b/modules/malloc-h
index 810106f48..3d7afad15 100644
--- a/modules/malloc-h
+++ b/modules/malloc-h
@@ -20,9 +20,9 @@ BUILT_SOURCES += malloc.h
 
 # We need the following in order to create <malloc.h> when we add workarounds.
 malloc.h: malloc.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_MALLOC_H''@|$(HAVE_MALLOC_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/math b/modules/math
index 822e668a7..e62ee4409 100644
--- a/modules/math
+++ b/modules/math
@@ -26,9 +26,9 @@ lib_SOURCES += math.c
 # We need the following in order to create <math.h> when the system
 # doesn't have one that works with the given compiler.
 math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/monetary b/modules/monetary
index 4c3de5324..1b1b91d4c 100644
--- a/modules/monetary
+++ b/modules/monetary
@@ -24,9 +24,9 @@ BUILT_SOURCES += $(MONETARY_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_MONETARY_H
 monetary.h: monetary.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_MONETARY_H''@|$(HAVE_MONETARY_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/net_if b/modules/net_if
index b60ccc95e..cc1b27f55 100644
--- a/modules/net_if
+++ b/modules/net_if
@@ -22,8 +22,7 @@ BUILT_SOURCES += $(NET_IF_H)
 if GL_GENERATE_NET_IF_H
 net/if.h: net_if.in.h $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/net'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/netdb b/modules/netdb
index efbd1711e..be8280c86 100644
--- a/modules/netdb
+++ b/modules/netdb
@@ -23,9 +23,9 @@ BUILT_SOURCES += netdb.h
 # We need the following in order to create <netdb.h> when the system
 # doesn't have one that works with the given compiler.
 netdb.h: netdb.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/netinet_in b/modules/netinet_in
index 4d0067414..f97e24b75 100644
--- a/modules/netinet_in
+++ b/modules/netinet_in
@@ -22,8 +22,7 @@ BUILT_SOURCES += $(NETINET_IN_H)
 if GL_GENERATE_NETINET_IN_H
 netinet/in.h: netinet_in.in.h $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/netinet'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/openmp-init b/modules/openmp-init
index a11b08331..2c08e5725 100644
--- a/modules/openmp-init
+++ b/modules/openmp-init
@@ -22,9 +22,9 @@ BUILT_SOURCES += omp.h
 # doesn't have one that works with the given compiler.
 omp.h: omp.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
   $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/poll-h b/modules/poll-h
index 2b6bb0962..ccd5fa4a5 100644
--- a/modules/poll-h
+++ b/modules/poll-h
@@ -23,9 +23,9 @@ BUILT_SOURCES += poll.h
 # We need the following in order to create <poll.h> when the system
 # doesn't have one.
 poll.h: poll.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_POLL_H''@|$(HAVE_POLL_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
@@ -40,7 +40,7 @@ poll.h: poll.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
 	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
 	      < $(srcdir)/poll.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += poll.h poll.h-t
 
 Include:
diff --git a/modules/posix-shell b/modules/posix-shell
index e88dccc72..59fce0e4c 100644
--- a/modules/posix-shell
+++ b/modules/posix-shell
@@ -13,13 +13,14 @@ AC_PROG_MKDIR_P
 Makefile.am:
 ##Sample usage of posix-shell module:
 #script: script.in
-#	rm -f $@-t $@
-#@NMD@	$(MKDIR_P) '%reldir%'
-#	sed -e 's#@''PREFERABLY_POSIX_SHELL''@#$(PREFERABLY_POSIX_SHELL)#g' \
+#	$(AM_V_GEN)
+#@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+#	$(AM_V_at)sed \
+#	    -e 's#@''PREFERABLY_POSIX_SHELL''@#$(PREFERABLY_POSIX_SHELL)#g' \
 #	    -e 's#@''POSIX_SHELL''@#$(POSIX_SHELL)#g' \
 #	    -e $(srcdir)/$@.in > $@-t
-#	chmod a+x $@-t
-#	mv $@-t $@
+#	$(AM_V_at)chmod a+x $@-t
+#	$(AM_V_at)mv $@-t $@
 #EXTRA_DIST += script.in
 #MOSTLYCLEANFILES += script script-t
 
diff --git a/modules/posix_spawnp-tests b/modules/posix_spawnp-tests
index e84d89d0e..79f5d48c8 100644
--- a/modules/posix_spawnp-tests
+++ b/modules/posix_spawnp-tests
@@ -42,14 +42,14 @@ check_PROGRAMS += \
 
 BUILT_SOURCES += test-posix_spawn-dup2-stdout.sh
 test-posix_spawn-dup2-stdout.sh: test-posix_spawn-dup2-stdout.in.sh
-	$(AM_V_GEN)rm -f $@-t $@ && \
+	$(AM_V_GEN)
 	cp $(srcdir)/test-posix_spawn-dup2-stdout.in.sh $@-t && \
 	mv $@-t $@
 MOSTLYCLEANFILES += test-posix_spawn-dup2-stdout.sh test-posix_spawn-dup2-stdout.sh-t
 
 BUILT_SOURCES += test-posix_spawn-dup2-stdin.sh
 test-posix_spawn-dup2-stdin.sh: test-posix_spawn-dup2-stdin.in.sh
-	$(AM_V_GEN)rm -f $@-t $@ && \
+	$(AM_V_GEN)
 	cp $(srcdir)/test-posix_spawn-dup2-stdin.in.sh $@-t && \
 	mv $@-t $@
 MOSTLYCLEANFILES += test-posix_spawn-dup2-stdin.sh test-posix_spawn-dup2-stdin.sh-t
diff --git a/modules/pthread-h b/modules/pthread-h
index 6f595d1b1..e4f3073ba 100644
--- a/modules/pthread-h
+++ b/modules/pthread-h
@@ -30,9 +30,9 @@ BUILT_SOURCES += pthread.h
 # We need the following in order to create <pthread.h> when the system
 # doesn't have one that works with the given compiler.
 pthread.h: pthread.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_PTHREAD_H''@|$(HAVE_PTHREAD_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/pty b/modules/pty
index 9388dd7ef..2bce02264 100644
--- a/modules/pty
+++ b/modules/pty
@@ -21,9 +21,9 @@ BUILT_SOURCES += pty.h
 # We need the following in order to create <pty.h> when the system
 # doesn't have one that works with the given compiler.
 pty.h: pty.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_PTY_H''@|$(HAVE_PTY_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/sched b/modules/sched
index aac7668f7..2babbd61b 100644
--- a/modules/sched
+++ b/modules/sched
@@ -22,9 +22,9 @@ BUILT_SOURCES += sched.h
 # We need the following in order to create a replacement for <sched.h> when
 # the system doesn't have one.
 sched.h: sched.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_SCHED_H''@|$(HAVE_SCHED_H)|g' \
 	      -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \
diff --git a/modules/scratch_buffer b/modules/scratch_buffer
index 4b72958c6..f350586af 100644
--- a/modules/scratch_buffer
+++ b/modules/scratch_buffer
@@ -27,8 +27,7 @@ BUILT_SOURCES += malloc/scratch_buffer.gl.h
 
 malloc/scratch_buffer.gl.h: malloc/scratch_buffer.h
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/malloc'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|__always_inline|inline _GL_ATTRIBUTE_ALWAYS_INLINE|g' \
 	      -e 's|__glibc_likely|_GL_LIKELY|g' \
 	      -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \
diff --git a/modules/search b/modules/search
index 1a07bae32..8c3c4fcce 100644
--- a/modules/search
+++ b/modules/search
@@ -22,9 +22,9 @@ BUILT_SOURCES += search.h
 # We need the following in order to create <search.h> when the system
 # doesn't have one that works with the given compiler.
 search.h: search.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_SEARCH_H''@|$(HAVE_SEARCH_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/selinux-h b/modules/selinux-h
index dd1e81140..4b6c3b2f5 100644
--- a/modules/selinux-h
+++ b/modules/selinux-h
@@ -35,8 +35,7 @@ lib_SOURCES += se-context.in.h se-label.in.h se-selinux.in.h \
 BUILT_SOURCES += selinux/selinux.h
 selinux/selinux.h: se-selinux.in.h $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/selinux'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
@@ -51,8 +50,7 @@ BUILT_SOURCES += $(SELINUX_CONTEXT_H)
 if GL_GENERATE_SELINUX_CONTEXT_H
 selinux/context.h: se-context.in.h $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/selinux'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  cat $(srcdir)/se-context.in.h; \
 	} > $@-t && \
 	mv $@-t $@
@@ -66,8 +64,7 @@ BUILT_SOURCES += $(SELINUX_LABEL_H)
 if GL_GENERATE_SELINUX_LABEL_H
 selinux/label.h: se-label.in.h $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/selinux'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  cat $(srcdir)/se-label.in.h; \
 	} > $@-t && \
 	mv $@-t $@
diff --git a/modules/signal-h b/modules/signal-h
index b3a027b6f..b12879a7b 100644
--- a/modules/signal-h
+++ b/modules/signal-h
@@ -24,9 +24,9 @@ BUILT_SOURCES += signal.h
 # We need the following in order to create <signal.h> when the system
 # doesn't have a complete one.
 signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/sigsegv b/modules/sigsegv
index 3d70828f7..747eb78db 100644
--- a/modules/sigsegv
+++ b/modules/sigsegv
@@ -70,9 +70,9 @@ BUILT_SOURCES += $(SIGSEGV_H)
 
 if GL_GENERATE_SIGSEGV_H
 sigsegv.h: sigsegv.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/sigsegv.in.h; \
 	} > $@-t && \
 	mv $@-t $@
diff --git a/modules/snippet/link-warning b/modules/snippet/link-warning
index 118ed09ab..f587fc685 100644
--- a/modules/snippet/link-warning
+++ b/modules/snippet/link-warning
@@ -25,9 +25,9 @@ Makefile.am:
 
 BUILT_SOURCES += link-warning.h
 link-warning.h: $(top_srcdir)/build-aux/snippet/link-warning.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	sed -n -e '/HAVE_FEATURES_H/,$$p' \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at)sed -n -e '/HAVE_FEATURES_H/,$$p' \
 	  < $(top_srcdir)/build-aux/snippet/link-warning.h \
 	| sed -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
 	  > $@-t && \
diff --git a/modules/spawn b/modules/spawn
index 6f4011de0..c2d35ef55 100644
--- a/modules/spawn
+++ b/modules/spawn
@@ -25,9 +25,9 @@ BUILT_SOURCES += spawn.h
 # We need the following in order to create a replacement for <spawn.h> when
 # the system doesn't have one.
 spawn.h: spawn.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_SPAWN_H''@|$(HAVE_SPAWN_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/stdalign b/modules/stdalign
index 9e8cd9f4f..af363fa9e 100644
--- a/modules/stdalign
+++ b/modules/stdalign
@@ -19,9 +19,9 @@ BUILT_SOURCES += $(STDALIGN_H)
 # doesn't have one that works.
 if GL_GENERATE_STDALIGN_H
 stdalign.h: stdalign.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/stdalign.in.h; \
 	} > $@-t && \
 	mv $@-t $@
diff --git a/modules/stdarg b/modules/stdarg
index 703cf4f1c..5502f6c1d 100644
--- a/modules/stdarg
+++ b/modules/stdarg
@@ -25,9 +25,9 @@ BUILT_SOURCES += $(STDARG_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_STDARG_H
 stdarg.h: stdarg.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/stdbool b/modules/stdbool
index 0bbdd3a8e..a07d7c4be 100644
--- a/modules/stdbool
+++ b/modules/stdbool
@@ -20,9 +20,9 @@ BUILT_SOURCES += $(STDBOOL_H)
 # doesn't have one that works.
 if GL_GENERATE_STDBOOL_H
 stdbool.h: stdbool.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
 	} > $@-t && \
 	mv $@-t $@
diff --git a/modules/stddef b/modules/stddef
index 8e0f4100a..547ade163 100644
--- a/modules/stddef
+++ b/modules/stddef
@@ -23,9 +23,9 @@ BUILT_SOURCES += $(STDDEF_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_STDDEF_H
 stddef.h: stddef.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/stdint b/modules/stdint
index 92045c0a9..8279c39ad 100644
--- a/modules/stdint
+++ b/modules/stdint
@@ -32,9 +32,9 @@ BUILT_SOURCES += $(STDINT_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_STDINT_H
 stdint.h: stdint.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/stdio b/modules/stdio
index 0d5b68c3e..f16e6d20f 100644
--- a/modules/stdio
+++ b/modules/stdio
@@ -51,9 +51,9 @@ BUILT_SOURCES += stdio.h
 # We need the following in order to create <stdio.h> when the system
 # doesn't have one that works with the given compiler.
 stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/stdlib b/modules/stdlib
index 56e64af39..f2d685ee9 100644
--- a/modules/stdlib
+++ b/modules/stdlib
@@ -26,9 +26,9 @@ BUILT_SOURCES += stdlib.h
 # doesn't have one that works with the given compiler.
 stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
   $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/stdnoreturn b/modules/stdnoreturn
index 3c102f555..05d88a18d 100644
--- a/modules/stdnoreturn
+++ b/modules/stdnoreturn
@@ -20,9 +20,9 @@ BUILT_SOURCES += $(STDNORETURN_H)
 # doesn't have one that works.
 if GL_GENERATE_STDNORETURN_H
 stdnoreturn.h: stdnoreturn.in.h $(top_builddir)/config.status $(_NORETURN_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e '/definition of _Noreturn/r $(_NORETURN_H)' \
               < $(srcdir)/stdnoreturn.in.h; \
 	} > $@-t && \
diff --git a/modules/string b/modules/string
index a6c049b56..53d52bb69 100644
--- a/modules/string
+++ b/modules/string
@@ -26,9 +26,9 @@ BUILT_SOURCES += string.h
 # We need the following in order to create <string.h> when the system
 # doesn't have one that works with the given compiler.
 string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/strings b/modules/strings
index 8a662066a..5da6ad082 100644
--- a/modules/strings
+++ b/modules/strings
@@ -23,9 +23,9 @@ BUILT_SOURCES += strings.h
 # We need the following in order to create <strings.h> when the system
 # doesn't have one that works with the given compiler.
 strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/sys_file b/modules/sys_file
index bb3a99b8c..bf50d920d 100644
--- a/modules/sys_file
+++ b/modules/sys_file
@@ -21,8 +21,7 @@ BUILT_SOURCES += sys/file.h
 # has one that is incomplete.
 sys/file.h: sys_file.in.h $(top_builddir)/config.status $(WARN_ON_USE_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's/@''HAVE_SYS_FILE_H''@/$(HAVE_SYS_FILE_H)/g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/sys_ioctl b/modules/sys_ioctl
index 5da91b747..83db3046a 100644
--- a/modules/sys_ioctl
+++ b/modules/sys_ioctl
@@ -23,8 +23,7 @@ BUILT_SOURCES += sys/ioctl.h
 # does not have a complete one.
 sys/ioctl.h: sys_ioctl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_SYS_IOCTL_H''@|$(HAVE_SYS_IOCTL_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/sys_random b/modules/sys_random
index ad6cd583a..f550dd079 100644
--- a/modules/sys_random
+++ b/modules/sys_random
@@ -23,8 +23,7 @@ BUILT_SOURCES += sys/random.h
 # doesn't have one.
 sys/random.h: sys_random.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
@@ -39,7 +38,7 @@ sys/random.h: sys_random.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_N
 	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
 	      < $(srcdir)/sys_random.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += sys/random.h sys/random.h-t
 MOSTLYCLEANDIRS += sys
 
diff --git a/modules/sys_resource b/modules/sys_resource
index 203e44ada..24bc56177 100644
--- a/modules/sys_resource
+++ b/modules/sys_resource
@@ -24,8 +24,7 @@ BUILT_SOURCES += sys/resource.h
 # doesn't have one.
 sys/resource.h: sys_resource.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
@@ -39,7 +38,7 @@ sys/resource.h: sys_resource.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(A
 	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
 	      < $(srcdir)/sys_resource.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += sys/resource.h sys/resource.h-t
 MOSTLYCLEANDIRS += sys
 
diff --git a/modules/sys_select b/modules/sys_select
index 1601b3976..a3790184d 100644
--- a/modules/sys_select
+++ b/modules/sys_select
@@ -25,8 +25,7 @@ BUILT_SOURCES += sys/select.h
 # doesn't have one that works with the given compiler.
 sys/select.h: sys_select.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/sys_socket b/modules/sys_socket
index 263d35648..928573a75 100644
--- a/modules/sys_socket
+++ b/modules/sys_socket
@@ -32,8 +32,7 @@ lib_SOURCES += sys_socket.c
 # doesn't have one that works with the given compiler.
 sys/socket.h: sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
@@ -67,7 +66,7 @@ sys/socket.h: sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_
 	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
 	      < $(srcdir)/sys_socket.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t
 MOSTLYCLEANDIRS += sys
 
diff --git a/modules/sys_stat b/modules/sys_stat
index 38ff7e141..b34773e3d 100644
--- a/modules/sys_stat
+++ b/modules/sys_stat
@@ -27,8 +27,7 @@ BUILT_SOURCES += sys/stat.h
 # has one that is incomplete.
 sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/sys_time b/modules/sys_time
index 1014d2d35..0379556ba 100644
--- a/modules/sys_time
+++ b/modules/sys_time
@@ -24,8 +24,7 @@ BUILT_SOURCES += sys/time.h
 # doesn't have one that works with the given compiler.
 sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/sys_times b/modules/sys_times
index 68cb60518..91aa2436c 100644
--- a/modules/sys_times
+++ b/modules/sys_times
@@ -22,8 +22,7 @@ BUILT_SOURCES += sys/times.h
 # doesn't have one that works with the given compiler.
 sys/times.h: sys_times.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's/@''HAVE_SYS_TIMES_H''@/$(HAVE_SYS_TIMES_H)/g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/sys_types b/modules/sys_types
index 453233803..5524b731b 100644
--- a/modules/sys_types
+++ b/modules/sys_types
@@ -23,8 +23,7 @@ BUILT_SOURCES += sys/types.h
 # doesn't have one that works with the given compiler.
 sys/types.h: sys_types.in.h $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/sys_uio b/modules/sys_uio
index 1906544be..cdf0b934e 100644
--- a/modules/sys_uio
+++ b/modules/sys_uio
@@ -22,8 +22,7 @@ BUILT_SOURCES += sys/uio.h
 # doesn't have one that works with the given compiler.
 sys/uio.h: sys_uio.in.h $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
@@ -32,7 +31,7 @@ sys/uio.h: sys_uio.in.h $(top_builddir)/config.status
 	      -e 's|@''HAVE_SYS_UIO_H''@|$(HAVE_SYS_UIO_H)|g' \
 	      < $(srcdir)/sys_uio.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += sys/uio.h sys/uio.h-t
 MOSTLYCLEANDIRS += sys
 
diff --git a/modules/sys_utsname b/modules/sys_utsname
index a05589e5f..0242a42e2 100644
--- a/modules/sys_utsname
+++ b/modules/sys_utsname
@@ -22,8 +22,7 @@ BUILT_SOURCES += sys/utsname.h
 # does not have one.
 sys/utsname.h: sys_utsname.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's/@''HAVE_SYS_UTSNAME_H''@/$(HAVE_SYS_UTSNAME_H)/g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/sys_wait b/modules/sys_wait
index 18a317c39..1cb2eea14 100644
--- a/modules/sys_wait
+++ b/modules/sys_wait
@@ -23,8 +23,7 @@ BUILT_SOURCES += sys/wait.h
 # has one that is incomplete.
 sys/wait.h: sys_wait.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
-	$(AM_V_at)rm -f $@-t $@ && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/sysexits b/modules/sysexits
index a87b27931..a6ccc0389 100644
--- a/modules/sysexits
+++ b/modules/sysexits
@@ -21,9 +21,9 @@ BUILT_SOURCES += $(SYSEXITS_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_SYSEXITS_H
 sysexits.h: sysexits.in.h $(top_builddir)/config.status
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
@@ -32,7 +32,7 @@ sysexits.h: sysexits.in.h $(top_builddir)/config.status
 	      -e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \
 	      < $(srcdir)/sysexits.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 else
 sysexits.h: $(top_builddir)/config.status
 	rm -f $@
diff --git a/modules/termios b/modules/termios
index 1865f0779..fa8ed61fe 100644
--- a/modules/termios
+++ b/modules/termios
@@ -22,9 +22,9 @@ BUILT_SOURCES += termios.h
 # We need the following in order to create <termios.h> when the system
 # version does not have all declarations.
 termios.h: termios.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/threads-h b/modules/threads-h
index a101c0d67..ffb9309cf 100644
--- a/modules/threads-h
+++ b/modules/threads-h
@@ -39,9 +39,9 @@ BUILT_SOURCES += threads.h
 # We need the following in order to create <threads.h> when the system
 # doesn't have one.
 threads.h: threads.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_THREADS_H''@|$(HAVE_THREADS_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/time b/modules/time
index 8961d2ae0..83c926202 100644
--- a/modules/time
+++ b/modules/time
@@ -24,9 +24,9 @@ BUILT_SOURCES += time.h
 # We need the following in order to create <time.h> when the system
 # doesn't have one that works with the given compiler.
 time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/uchar b/modules/uchar
index f9f3b60f6..608e8c802 100644
--- a/modules/uchar
+++ b/modules/uchar
@@ -21,9 +21,9 @@ Makefile.am:
 BUILT_SOURCES += uchar.h
 
 uchar.h: uchar.in.h $(top_builddir)/config.status $(CXXDEFS_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's/@''HAVE_UCHAR_H''@/$(HAVE_UCHAR_H)/g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/unicase/base b/modules/unicase/base
index 3d073c2ce..209d0b36d 100644
--- a/modules/unicase/base
+++ b/modules/unicase/base
@@ -18,12 +18,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNICASE_H)
 
 unicase.h: unicase.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/unicase.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += unicase.h unicase.h-t
 
 Include:
diff --git a/modules/unicase/special-casing b/modules/unicase/special-casing
index 79d9b9380..b4eee8e7a 100644
--- a/modules/unicase/special-casing
+++ b/modules/unicase/special-casing
@@ -26,12 +26,11 @@ EXTRA_DIST           += unicase/special-casing-table.h
 # Generate special-casing.h with a declaration that depends on the gperf version.
 unicase/special-casing.h: unicase/special-casing.in.h unicase/special-casing-table.h
 	$(AM_V_GEN)$(MKDIR_P) '%reldir%/unicase'
-	$(AM_V_at)rm -f $@-t $@ && \
-	declaration=`grep '^gl_unicase_special_lookup' $(srcdir)/unicase/special-casing-table.h | sed -e 's/register //g'` && \
+	$(AM_V_at)declaration=`grep '^gl_unicase_special_lookup' $(srcdir)/unicase/special-casing-table.h | sed -e 's/register //g'` && \
 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e "/gl_unicase_special_lookup/s/gl_unicase_special_lookup.*/$${declaration};/" $(srcdir)/unicase/special-casing.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 BUILT_SOURCES        += unicase/special-casing.h
 MOSTLYCLEANFILES     += unicase/special-casing.h unicase/special-casing.h-t
 
diff --git a/modules/uniconv/base b/modules/uniconv/base
index b9e76db5d..de9188ad9 100644
--- a/modules/uniconv/base
+++ b/modules/uniconv/base
@@ -19,12 +19,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNICONV_H)
 
 uniconv.h: uniconv.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/uniconv.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += uniconv.h uniconv.h-t
 
 Include:
diff --git a/modules/unictype/base b/modules/unictype/base
index d28c370b4..41571dc43 100644
--- a/modules/unictype/base
+++ b/modules/unictype/base
@@ -17,12 +17,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNICTYPE_H)
 
 unictype.h: unictype.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/unictype.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += unictype.h unictype.h-t
 
 Include:
diff --git a/modules/unigbrk/base b/modules/unigbrk/base
index e9a56cd60..4a3404885 100644
--- a/modules/unigbrk/base
+++ b/modules/unigbrk/base
@@ -17,12 +17,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNIGBRK_H)
 
 unigbrk.h: unigbrk.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/unigbrk.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += unigbrk.h unigbrk.h-t
 
 Include:
diff --git a/modules/unilbrk/base b/modules/unilbrk/base
index 4215570ee..0edce6264 100644
--- a/modules/unilbrk/base
+++ b/modules/unilbrk/base
@@ -17,12 +17,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNILBRK_H)
 
 unilbrk.h: unilbrk.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/unilbrk.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += unilbrk.h unilbrk.h-t
 
 Include:
diff --git a/modules/uniname/base b/modules/uniname/base
index b710c2977..80e26224f 100644
--- a/modules/uniname/base
+++ b/modules/uniname/base
@@ -16,12 +16,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNINAME_H)
 
 uniname.h: uniname.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/uniname.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += uniname.h uniname.h-t
 
 Include:
diff --git a/modules/uninorm/base b/modules/uninorm/base
index ab5cbd6a1..bc2306431 100644
--- a/modules/uninorm/base
+++ b/modules/uninorm/base
@@ -16,12 +16,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNINORM_H)
 
 uninorm.h: uninorm.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/uninorm.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += uninorm.h uninorm.h-t
 
 Include:
diff --git a/modules/unistd b/modules/unistd
index ea1bea658..130b7e5f0 100644
--- a/modules/unistd
+++ b/modules/unistd
@@ -30,9 +30,9 @@ lib_SOURCES += unistd.c
 # We need the following in order to create an empty placeholder for
 # <unistd.h> when the system doesn't have one.
 unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/unistdio/base b/modules/unistdio/base
index d3586187b..9c746835b 100644
--- a/modules/unistdio/base
+++ b/modules/unistdio/base
@@ -16,12 +16,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNISTDIO_H)
 
 unistdio.h: unistdio.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/unistdio.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += unistdio.h unistdio.h-t
 
 Include:
diff --git a/modules/unistr/base b/modules/unistr/base
index 054cd6d8b..16806eadd 100644
--- a/modules/unistr/base
+++ b/modules/unistr/base
@@ -18,12 +18,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNISTR_H)
 
 unistr.h: unistr.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/unistr.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += unistr.h unistr.h-t
 
 Include:
diff --git a/modules/unitypes b/modules/unitypes
index 94952f1f4..14e44a2b3 100644
--- a/modules/unitypes
+++ b/modules/unitypes
@@ -32,12 +32,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H)
 
 unitypes.h: unitypes.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/unitypes.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += unitypes.h unitypes.h-t
 
 Include:
diff --git a/modules/uniwbrk/base b/modules/uniwbrk/base
index a23e796f9..f2120f403 100644
--- a/modules/uniwbrk/base
+++ b/modules/uniwbrk/base
@@ -16,12 +16,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNIWBRK_H)
 
 uniwbrk.h: uniwbrk.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/uniwbrk.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += uniwbrk.h uniwbrk.h-t
 
 Include:
diff --git a/modules/uniwidth/base b/modules/uniwidth/base
index 5d1c820f0..d2cff47ea 100644
--- a/modules/uniwidth/base
+++ b/modules/uniwidth/base
@@ -17,12 +17,12 @@ Makefile.am:
 BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H)
 
 uniwidth.h: uniwidth.in.h
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  cat $(srcdir)/uniwidth.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 MOSTLYCLEANFILES += uniwidth.h uniwidth.h-t
 
 Include:
diff --git a/modules/utime-h b/modules/utime-h
index 1cd337d37..54d5cfcc3 100644
--- a/modules/utime-h
+++ b/modules/utime-h
@@ -22,9 +22,9 @@ BUILT_SOURCES += utime.h
 # We need the following in order to create <utime.h> when the system
 # doesn't have one that works with the given compiler.
 utime.h: utime.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's/@''HAVE_UTIME_H''@/$(HAVE_UTIME_H)/g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
diff --git a/modules/wchar b/modules/wchar
index 56620eb6b..a09e3511a 100644
--- a/modules/wchar
+++ b/modules/wchar
@@ -27,9 +27,9 @@ BUILT_SOURCES += wchar.h
 # We need the following in order to create <wchar.h> when the system
 # version does not work standalone.
 wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
diff --git a/modules/wctype-h b/modules/wctype-h
index 34ccc0439..7e2eaddf9 100644
--- a/modules/wctype-h
+++ b/modules/wctype-h
@@ -25,9 +25,9 @@ lib_SOURCES += wctype-h.c
 # We need the following in order to create <wctype.h> when the system
 # doesn't have one that works with the given compiler.
 wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
-	$(AM_V_GEN)rm -f $@-t $@ && \
-@NMD@	$(MKDIR_P) '%reldir%' && \
-	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	$(AM_V_GEN)
+@NMD@	$(AM_V_at)$(MKDIR_P) '%reldir%'
+	$(AM_V_at){ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
 	      -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
 	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-- 
2.32.0

From f85a8a6f4ef5e4c5dcea20684aa09000701e26c0 Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Wed, 22 Dec 2021 10:57:36 -0800
Subject: [PATCH 2/2] libgmp: omit redundant 'mkdir -p .'

* modules/libgmp: Mark $(MKDIR) with @NMD@; this was missed
in a previous pass.
---
 ChangeLog      | 4 ++++
 modules/libgmp | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9bed73b62..719a934ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2021-12-22  Paul Eggert  <egg...@cs.ucla.edu>
 
+	libgmp: omit redundant 'mkdir -p .'
+	* modules/libgmp: Mark $(MKDIR) with @NMD@; this was missed
+	in a previous pass.
+
 	maint: omit unnecessary ‘rm -f $@-t $@’
 	* modules/alloca-opt, modules/argz, modules/arpa_inet:
 	* modules/assert-h, modules/byteswap, modules/configmake:
diff --git a/modules/libgmp b/modules/libgmp
index c8e497026..acf4fe56f 100644
--- a/modules/libgmp
+++ b/modules/libgmp
@@ -24,14 +24,14 @@ if GL_GENERATE_GMP_H
 if GL_GENERATE_MINI_GMP_H
 # Build gmp.h as a wrapper for mini-gmp.h when using mini-gmp.
 gmp.h: $(top_builddir)/config.status
-	$(MKDIR_P) '%reldir%'
+@NMD@	$(MKDIR_P) '%reldir%'
 	echo '#include "mini-gmp.h"' > $@-t
 	mv $@-t $@
 endif
 if GL_GENERATE_GMP_GMP_H
 # Build gmp.h as a wrapper for gmp/gmp.h.
 gmp.h: $(top_builddir)/config.status
-	$(MKDIR_P) '%reldir%'
+@NMD@	$(MKDIR_P) '%reldir%'
 	echo '#include <gmp/gmp.h>' > $@-t
 	mv $@-t $@
 endif
-- 
2.32.0

Reply via email to