diff options
| author | Emilio Jesus Gallego Arias | 2018-03-10 02:03:08 +0100 |
|---|---|---|
| committer | Emilio Jesus Gallego Arias | 2018-05-10 11:39:58 +0200 |
| commit | 78c3d736a6a1c74d9bc8317e15895a1a0fbab341 (patch) | |
| tree | 31f7eaad28d8880a4b97656f28501fa9359ba15f /Makefile.checker | |
| parent | 6c8b00e47334f60f200256d45a5542fa80ce4b12 (diff) | |
[build] Build checker generated files using a make rule.
Currently, `configure.ml` does copy/link some files from `kernel` to
`checker` in an ad-hoc way. Instead, it is preferable to add a copy
rule to make and let it handle the dependencies properly.
This also fixes a dependency bug in Windows, as files wouldn't be
properly refreshed if `configure` was not run each time.
Diffstat (limited to 'Makefile.checker')
| -rw-r--r-- | Makefile.checker | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/Makefile.checker b/Makefile.checker index 172c64af3a..dd1f6d514b 100644 --- a/Makefile.checker +++ b/Makefile.checker @@ -34,6 +34,20 @@ CHECKMLLIBFILE := checker/.mllibfiles CHECKERDEPS := $(addsuffix .d, $(CHECKMLDFILE) $(CHECKMLLIBFILE)) -include $(CHECKERDEPS) +# Copied files +checker/esubst.mli: kernel/esubst.mli + cp -a $< $@ + sed -i.bak '1i(* AUTOGENERATED FILE: DO NOT EDIT *)\n\n\n\n\n\n\n\n' $@ && rm $@.bak +checker/esubst.ml: kernel/esubst.ml + cp -a $< $@ + sed -i.bak '1i(* AUTOGENERATED FILE: DO NOT EDIT *)\n\n\n\n\n\n\n\n' $@ && rm $@.bak +checker/names.mli: kernel/names.mli + cp -a $< $@ + sed -i.bak '1i(* AUTOGENERATED FILE: DO NOT EDIT *)\n\n\n\n\n\n\n\n' $@ && rm $@.bak +checker/names.ml: kernel/names.ml + cp -a $< $@ + sed -i.bak '1i(* AUTOGENERATED FILE: DO NOT EDIT *)\n\n\n\n\n\n\n\n' $@ && rm $@.bak + ifeq ($(BEST),opt) $(CHICKEN): checker/check.cmxa checker/main.mli checker/main.ml $(SHOW)'OCAMLOPT -o $@' @@ -57,13 +71,15 @@ checker/check.cmxa: checker/check.mllib | md5chk $(SHOW)'OCAMLOPT -a -o $@' $(HIDE)$(OCAMLOPT) $(CHKLIBS) $(OPTFLAGS) -a -o $@ $(filter-out %.mllib, $^) -$(CHECKMLDFILE).d: $(filter checker/%, $(MLFILES) $(MLIFILES)) +CHECKGENFILES:=$(addprefix checker/, names.mli names.ml esubst.mli esubst.ml) + +$(CHECKMLDFILE).d: $(filter checker/%, $(MLFILES) $(MLIFILES) $(CHECKGENFILES)) $(SHOW)'OCAMLDEP checker/MLFILES checker/MLIFILES' - $(HIDE)$(OCAMLFIND) ocamldep -slash $(CHKLIBS) $(filter checker/%, $(MLFILES) $(MLIFILES)) $(TOTARGET) + $(HIDE)$(OCAMLFIND) ocamldep -slash $(CHKLIBS) $(filter checker/%, $(MLFILES) $(MLIFILES) $(CHECKGENFILES)) $(TOTARGET) -$(CHECKMLLIBFILE).d: $(filter checker/%, $(MLLIBFILES) $(MLPACKFILES)) | $(OCAMLLIBDEP) +$(CHECKMLLIBFILE).d: $(filter checker/%, $(MLLIBFILES) $(MLPACKFILES) $(CHECKGENFILES)) | $(OCAMLLIBDEP) $(SHOW)'OCAMLLIBDEP checker/MLLIBFILES checker/MLPACKFILES' - $(HIDE)$(OCAMLLIBDEP) $(CHKLIBS) $(filter checker/%, $(MLLIBFILES) $(MLPACKFILES)) $(TOTARGET) + $(HIDE)$(OCAMLLIBDEP) $(CHKLIBS) $(filter checker/%, $(MLLIBFILES) $(MLPACKFILES) $(CHECKGENFILES)) $(TOTARGET) checker/%.cmi: checker/%.mli $(SHOW)'OCAMLC $<' |
