From 1eb1dde049ccfffc42c80c2bcec14155c58bcc1f Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Wed, 31 Oct 2012 23:33:35 -0400
Subject: [PATCH] Have make never delete intermediate files automatically

Several hacks in certain modes already thought this was a bad idea, so
just disable it globally.
---
 src/Makefile.global.in | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index c17c4be11a3..e10eeada874 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -31,6 +31,9 @@ all:
 # started to update the file.
 .DELETE_ON_ERROR:
 
+# Never delete any intermediate files automatically.
+.SECONDARY:
+
 # PostgreSQL version number
 VERSION = @PACKAGE_VERSION@
 MAJORVERSION = @PG_MAJORVERSION@
@@ -329,8 +332,6 @@ GENHTML = @GENHTML@
 ifeq ($(enable_coverage),yes)
 # ccache loses .gcno files
 export CCACHE_DISABLE = 1
-# preserve intermediate .c files for genhtml
-.PRECIOUS: %.c
 endif
 
 # Feature settings
@@ -685,17 +686,6 @@ clean distclean maintainer-clean: clean-deps
 clean-deps:
 	@rm -rf $(DEPDIR)
 
-# When in automatic dependency mode, never delete any intermediate
-# files automatically.  Otherwise, the following could happen: When
-# starting from a clean source tree, the first build would delete the
-# intermediate file, but also create the dependency file, which
-# mentions the intermediate file, thus making it non-intermediate.
-# The second build will then need to rebuild the now non-intermediate
-# missing file.  So the second build will do work even though nothing
-# had changed.  One place where this happens is the .c -> .o -> .so
-# chain for some contrib modules.
-.SECONDARY:
-
 endif # autodepend
 
 
-- 
GitLab