aboutsummaryrefslogtreecommitdiff
path: root/Makefile.stage1
diff options
context:
space:
mode:
authorlmamane2007-07-16 10:16:38 +0000
committerlmamane2007-07-16 10:16:38 +0000
commita964a7da07af0921ce173c4ef2f89fc80609366c (patch)
tree2f0a96c3c2198a7874cb340960e50783778977b8 /Makefile.stage1
parente45135c43acd75a604da1b3eb6c90c161d064400 (diff)
A cleaner solution to "make deletes .ml4.d files -> infinite loop" problem
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10010 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'Makefile.stage1')
-rw-r--r--Makefile.stage114
1 files changed, 11 insertions, 3 deletions
diff --git a/Makefile.stage1 b/Makefile.stage1
index e085122064..a60d388fc6 100644
--- a/Makefile.stage1
+++ b/Makefile.stage1
@@ -8,13 +8,21 @@
include Makefile.build
-include $(ML4FILES:.ml4=.ml4.d)
+# All includes must be declared secondary, otherwise make will delete
+# them if it decided to build them by dependency instead of because of
+# include, and they will then be automatically deleted, leading to an
+# infinite loop.
+-include $(ML4FILES:.ml4=.ml4.d)
+.SECONDARY: $(ML4FILES:.ml4=.ml4.d)
-include $(MLFILES:.ml=.ml.d)
+.SECONDARY: $(MLFILES:.ml=.ml.d)
-include $(MLIFILES:.mli=.mli.d)
+.SECONDARY: $(MLIFILES:.mli=.mli.d)
##Depends upon the fact that all .ml4.d for stage1 files are empty
-include $(STAGE1_ML4:.ml4=.ml4.ml.d)
--include parsing/q_constr.ml4.ml.d
--include $(shell find kernel/byterun -name '*.c' -printf '%p.d\n')
+.SECONDARY: $(STAGE1_ML4:.ml4=.ml4.ml.d)
+-include $(CFILES:.c=.c.d)
+.SECONDARY: $(CFILES:.c=.c.d)
.PHONY: stage1
stage1: $(STAGE1)