aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2010-08-24 18:06:12 +0000
committerPeter Eisentraut <peter_e@gmx.net>2010-08-24 18:06:12 +0000
commit5c788e7cf5026be1cad634f12bb42111a411cd9e (patch)
tree7f359b7432505f997bcca2bbb3e26035b4541438 /src
parentb1e2e9c1ef21395138d0bbe451768a7fdcfa7e68 (diff)
downloadpostgresql-5c788e7cf5026be1cad634f12bb42111a411cd9e.tar.gz
postgresql-5c788e7cf5026be1cad634f12bb42111a411cd9e.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.global.in13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 280578a4c39..4fe2d75b03f 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -1,5 +1,5 @@
# -*-makefile-*-
-# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.264 2010/07/06 22:03:05 tgl Exp $
+# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.265 2010/08/24 18:06:12 petere Exp $
#------------------------------------------------------------------------------
# All PostgreSQL makefiles include this file and use the variables it sets,
@@ -580,6 +580,17 @@ 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