aboutsummaryrefslogtreecommitdiff
path: root/Makefile.stage1
diff options
context:
space:
mode:
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)