diff options
Diffstat (limited to 'Makefile.stage1')
| -rw-r--r-- | Makefile.stage1 | 14 |
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) |
