OCaml build: enforce .mli generation to clean-build in parallel 92/18792/2
Clément DAVID [Wed, 14 Dec 2016 18:20:46 +0000 (19:20 +0100)]
Change-Id: Ib11fdd81e79a84e6123186f1ea26d88558f538ed

scilab/CHANGES.md
scilab/modules/scicos/.gitignore
scilab/modules/scicos/Makefile.in
scilab/modules/scicos/Makefile.modelica.am

index fa69f7c..7caeac8 100644 (file)
@@ -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
 ------------
index f80fec8..4990ee1 100644 (file)
@@ -2,6 +2,7 @@
 
 modelicac
 modelicac.ocamlc
+*.mli
 *.cmi
 *.cma
 *.cmo
index d012be4..de65355 100644 (file)
@@ -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
index 01fd5f1..dae2e9e 100644 (file)
@@ -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 \