From: Clément DAVID Date: Wed, 14 Dec 2016 18:20:46 +0000 (+0100) Subject: OCaml build: enforce .mli generation to clean-build in parallel X-Git-Tag: 6.0.0~289 X-Git-Url: http://gitweb.scilab.org/?p=scilab.git;a=commitdiff_plain;h=32c0288226994dc2a28c9cf6e38eaed3dfdae90c OCaml build: enforce .mli generation to clean-build in parallel Change-Id: Ib11fdd81e79a84e6123186f1ea26d88558f538ed --- diff --git a/scilab/CHANGES.md b/scilab/CHANGES.md index fa69f7c..7caeac8 100644 --- a/scilab/CHANGES.md +++ b/scilab/CHANGES.md @@ -62,6 +62,8 @@ To build Scilab from sources, or to build extensions code (Toolboxes): * ecj minimal version switched to 4.4.0 (for Java 8 compatibility). * `--without-xcos` now only disable Xcos compilation. Xcos graphical interface is disabled using `--without-gui`. +Building the OCaml Scilab files in parallel is supported. + Dependencies ------------ diff --git a/scilab/modules/scicos/.gitignore b/scilab/modules/scicos/.gitignore index f80fec8..4990ee1 100644 --- a/scilab/modules/scicos/.gitignore +++ b/scilab/modules/scicos/.gitignore @@ -2,6 +2,7 @@ modelicac modelicac.ocamlc +*.mli *.cmi *.cma *.cmo diff --git a/scilab/modules/scicos/Makefile.in b/scilab/modules/scicos/Makefile.in index d012be4..de65355 100644 --- a/scilab/modules/scicos/Makefile.in +++ b/scilab/modules/scicos/Makefile.in @@ -3796,32 +3796,25 @@ distclean-local: @OCAML_TRUE@@XCOS_TRUE@.mly.ml: @OCAML_TRUE@@XCOS_TRUE@ $(OCAMLYACC) $< -@OCAML_TRUE@@XCOS_TRUE@ @rm $*.mli # Build the binaries, disabling parallel building -@OCAML_TRUE@@XCOS_TRUE@modelicac: $(modelicac_SOURCES) -@OCAML_TRUE@@XCOS_TRUE@ $(MAKE) MAKEFLAGS=-j1 $(MLS_modelicac:.ml=.cmx) +@OCAML_TRUE@@XCOS_TRUE@modelicac: $(modelicac_SOURCES) $(MLIS_modelicac) $(MLS_modelicac:.ml=.cmx) @OCAML_TRUE@@XCOS_TRUE@ $(OCAMLOPT) -o $@ $(INCLUDE) $(OCAMLOPTFLAGS) $(OCAMLLIBS:.cma=.cmxa) $(MLS_modelicac:.ml=.cmx) -@OCAML_TRUE@@XCOS_TRUE@modelicac.ocamlc: $(modelicac_SOURCES) -@OCAML_TRUE@@XCOS_TRUE@ $(MAKE) MAKEFLAGS=-j1 $(MLS_modelicac:.ml=.cmo) +@OCAML_TRUE@@XCOS_TRUE@modelicac.ocamlc: $(modelicac_SOURCES) $(MLIS_modelicac) $(MLS_modelicac:.ml=.cmo) @OCAML_TRUE@@XCOS_TRUE@ $(OCAMLC) -o $@ $(INCLUDE) $(OCAMLOPTFLAGS) $(OCAMLLIBS) $(MLS_modelicac:.ml=.cmo) -@OCAML_TRUE@@XCOS_TRUE@XML2Modelica: $(XML2Modelica_SOURCES) -@OCAML_TRUE@@XCOS_TRUE@ $(MAKE) MAKEFLAGS=-j1 $(MLS_XML2Modelica:.ml=.cmx) +@OCAML_TRUE@@XCOS_TRUE@XML2Modelica: $(XML2Modelica_SOURCES) $(MLIS_XML2Modelica) $(MLS_XML2Modelica:.ml=.cmx) @OCAML_TRUE@@XCOS_TRUE@ $(OCAMLOPT) -o $@ $(INCLUDE) $(OCAMLCFLAGS) $(OCAMLLIBS:.cma=.cmxa) $(MLS_XML2Modelica:.ml=.cmx) -@OCAML_TRUE@@XCOS_TRUE@XML2Modelica.ocamlc: $(XML2Modelica_SOURCES) -@OCAML_TRUE@@XCOS_TRUE@ $(MAKE) MAKEFLAGS=-j1 $(MLS_XML2Modelica:.ml=.cmo) +@OCAML_TRUE@@XCOS_TRUE@XML2Modelica.ocamlc: $(XML2Modelica_SOURCES) $(MLIS_XML2Modelica) $(MLS_XML2Modelica:.ml=.cmo) @OCAML_TRUE@@XCOS_TRUE@ $(OCAMLC) -o $@ $(INCLUDE) $(OCAMLCFLAGS) $(OCAMLLIBS) $(MLS_XML2Modelica:.ml=.cmo) -@OCAML_TRUE@@XCOS_TRUE@modelicat: $(modelicat_SOURCES) -@OCAML_TRUE@@XCOS_TRUE@ $(MAKE) MAKEFLAGS=-j1 $(MLS_modelicat:.ml=.cmx) +@OCAML_TRUE@@XCOS_TRUE@modelicat: $(modelicat_SOURCES) $(MLIS_modelicat) $(MLS_modelicat:.ml=.cmx) @OCAML_TRUE@@XCOS_TRUE@ $(OCAMLOPT) -o $@ $(INCLUDE_modelicat) $(OCAMLOPTFLAGS) $(OCAMLLIBS:.cma=.cmxa) $(MLS_modelicat:.ml=.cmx) -@OCAML_TRUE@@XCOS_TRUE@modelicat.ocamlc: $(modelicat_SOURCES) -@OCAML_TRUE@@XCOS_TRUE@ $(MAKE) MAKEFLAGS=-j1 $(MLS_modelicat:.ml=.cmo) +@OCAML_TRUE@@XCOS_TRUE@modelicat.ocamlc: $(modelicat_SOURCES) $(MLIS_modelicat) $(MLS_modelicat:.ml=.cmo) @OCAML_TRUE@@XCOS_TRUE@ $(OCAMLC) -o $@ $(INCLUDE_modelicat) $(OCAMLOPTFLAGS) $(OCAMLLIBS) $(MLS_modelicat:.ml=.cmo) #BUILT_SOURCES = depend diff --git a/scilab/modules/scicos/Makefile.modelica.am b/scilab/modules/scicos/Makefile.modelica.am index 01fd5f1..dae2e9e 100644 --- a/scilab/modules/scicos/Makefile.modelica.am +++ b/scilab/modules/scicos/Makefile.modelica.am @@ -148,32 +148,25 @@ SUFFIXES += .ml .mli .mll .mly .cmo .cmi .cmx .mly.ml: $(OCAMLYACC) $< - @rm $*.mli # Build the binaries, disabling parallel building -modelicac: $(modelicac_SOURCES) - $(MAKE) MAKEFLAGS=-j1 $(MLS_modelicac:.ml=.cmx) +modelicac: $(modelicac_SOURCES) $(MLIS_modelicac) $(MLS_modelicac:.ml=.cmx) $(OCAMLOPT) -o $@ $(INCLUDE) $(OCAMLOPTFLAGS) $(OCAMLLIBS:.cma=.cmxa) $(MLS_modelicac:.ml=.cmx) -modelicac.ocamlc: $(modelicac_SOURCES) - $(MAKE) MAKEFLAGS=-j1 $(MLS_modelicac:.ml=.cmo) +modelicac.ocamlc: $(modelicac_SOURCES) $(MLIS_modelicac) $(MLS_modelicac:.ml=.cmo) $(OCAMLC) -o $@ $(INCLUDE) $(OCAMLOPTFLAGS) $(OCAMLLIBS) $(MLS_modelicac:.ml=.cmo) -XML2Modelica: $(XML2Modelica_SOURCES) - $(MAKE) MAKEFLAGS=-j1 $(MLS_XML2Modelica:.ml=.cmx) +XML2Modelica: $(XML2Modelica_SOURCES) $(MLIS_XML2Modelica) $(MLS_XML2Modelica:.ml=.cmx) $(OCAMLOPT) -o $@ $(INCLUDE) $(OCAMLCFLAGS) $(OCAMLLIBS:.cma=.cmxa) $(MLS_XML2Modelica:.ml=.cmx) -XML2Modelica.ocamlc: $(XML2Modelica_SOURCES) - $(MAKE) MAKEFLAGS=-j1 $(MLS_XML2Modelica:.ml=.cmo) +XML2Modelica.ocamlc: $(XML2Modelica_SOURCES) $(MLIS_XML2Modelica) $(MLS_XML2Modelica:.ml=.cmo) $(OCAMLC) -o $@ $(INCLUDE) $(OCAMLCFLAGS) $(OCAMLLIBS) $(MLS_XML2Modelica:.ml=.cmo) -modelicat: $(modelicat_SOURCES) - $(MAKE) MAKEFLAGS=-j1 $(MLS_modelicat:.ml=.cmx) +modelicat: $(modelicat_SOURCES) $(MLIS_modelicat) $(MLS_modelicat:.ml=.cmx) $(OCAMLOPT) -o $@ $(INCLUDE_modelicat) $(OCAMLOPTFLAGS) $(OCAMLLIBS:.cma=.cmxa) $(MLS_modelicat:.ml=.cmx) -modelicat.ocamlc: $(modelicat_SOURCES) - $(MAKE) MAKEFLAGS=-j1 $(MLS_modelicat:.ml=.cmo) +modelicat.ocamlc: $(modelicat_SOURCES) $(MLIS_modelicat) $(MLS_modelicat:.ml=.cmo) $(OCAMLC) -o $@ $(INCLUDE_modelicat) $(OCAMLOPTFLAGS) $(OCAMLLIBS) $(MLS_modelicat:.ml=.cmo) CLEANFILES = $(BASE_PATH)/*/*.cmi \