@@ -16,7 +16,7 @@ template translateModel(SimCode simCode, Boolean useFlatArrayNotation)
1616 let()= textFile(simulationFunctionsHeaderFile(simCode,modelInfo.functions,literals,false), 'OMCpp<%fileNamePrefix%>Functions.h')
1717 let()= textFile(simulationFunctionsFile(simCode, modelInfo.functions,literals,externalFunctionIncludes, false), 'OMCpp<%fileNamePrefix%>Functions.cpp')
1818 let()= textFile(simulationTypesHeaderFile(simCode,modelInfo.functions,literals, useFlatArrayNotation), 'OMCpp<%fileNamePrefix%>Types.h')
19- let()= textFile(simulationMakefile(target,simCode,"","","",""), '<%fileNamePrefix%>.makefile')
19+ let()= textFile(simulationMakefile(target,simCode,"","","","",false ), '<%fileNamePrefix%>.makefile')
2020 let()= textFile(simulationInitHeaderFile(simCode), 'OMCpp<%fileNamePrefix%>Initialize.h')
2121 let()= textFile(simulationInitCppFile(simCode,false),'OMCpp<%fileNamePrefix%>Initialize.cpp')
2222 let()= textFile(simulationJacobianHeaderFile(simCode), 'OMCpp<%fileNamePrefix%>Jacobian.h')
@@ -1615,8 +1615,6 @@ end notparamInit;
16151615
16161616
16171617
1618-
1619-
16201618template simulationMainDLLib(SimCode simCode)
16211619::=
16221620match simCode
@@ -1639,7 +1637,9 @@ else
16391637end simulationMainDLLib2;
16401638
16411639
1642- template simulationMakefile(String target, SimCode simCode, String additionalLinkerFlags_GCC, String additionalLinkerFlags_MSVC, String additionalCFlags_GCC, String additionalCFlags_MSVC)
1640+ template simulationMakefile(String target, SimCode simCode, String additionalLinkerFlags_GCC,
1641+ String additionalLinkerFlags_MSVC, String additionalCFlags_GCC,
1642+ String additionalCFlags_MSVC, Boolean compileForMPI)
16431643 "Generates the contents of the makefile for the simulation case."
16441644::=
16451645let &timeMeasureLink = buffer "" /*BUFD*/
@@ -1733,15 +1733,20 @@ case "gcc" then
17331733 case("all_perf") then ' -Wl,-rpath,"<%omHome%>/lib/omc/cpp" -lOMCppExtensionUtilities -lOMCppExtensionUtilities_papi -lpapi'
17341734 else ' -Wl,-rpath,"<%omHome%>/lib/omc/cpp" -lOMCppExtensionUtilities'
17351735 end match
1736+ let CC = if (compileForMPI) then "mpicc" else '<%makefileParams.ccompiler%>'
1737+ let CXX = if (compileForMPI) then "mpicxx" else '<%makefileParams.cxxcompiler%>'
1738+ let MPIEnvVars = if (compileForMPI)
1739+ then 'OMPI_MPICC=<%makefileParams.ccompiler%> <%\n%>OMPI_MPICXX=<%makefileParams.cxxcompiler%>' else ""
17361740 <<
17371741 # Makefile generated by OpenModelica
17381742 OMHOME=<%makefileParams.omhome%>
17391743 include <%makefileParams.omhome%>/include/omc/cpp/ModelicaConfig.inc
17401744 include <%makefileParams.omhome%>/include/omc/cpp/ModelicaLibraryConfig.inc
17411745 # Simulations use -O0 by default
17421746 SIM_OR_DYNLOAD_OPT_LEVEL=-O0
1743- CC=<%makefileParams.ccompiler%>
1744- CXX=<%makefileParams.cxxcompiler%>
1747+ CC=<%CC%>
1748+ CXX=<%CXX%>
1749+ <%MPIEnvVars%>
17451750 LINK=<%makefileParams.linker%>
17461751 EXEEXT=<%makefileParams.exeext%>
17471752 DLLEXT=<%makefileParams.dllext%>
0 commit comments