diff options
| author | lmamane | 2007-07-16 10:16:38 +0000 |
|---|---|---|
| committer | lmamane | 2007-07-16 10:16:38 +0000 |
| commit | a964a7da07af0921ce173c4ef2f89fc80609366c (patch) | |
| tree | 2f0a96c3c2198a7874cb340960e50783778977b8 /Makefile.stage1 | |
| parent | e45135c43acd75a604da1b3eb6c90c161d064400 (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.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) |
