Skip to content
This repository was archived by the owner on May 18, 2019. It is now read-only.

Commit 2718416

Browse files
sjoelundOpenModelica-Hudson
authored andcommitted
Change the default to statically linked FMUs
Added a pre-built static version of the FMI SimulationRuntime to improve performance of statically linked FMUs. Belonging to [master]: - #2395 - OpenModelica/OpenModelica-testsuite#933
1 parent 004da73 commit 2718416

File tree

4 files changed

+78
-40
lines changed

4 files changed

+78
-40
lines changed

Compiler/FrontEnd/ModelicaBuiltin.mo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2456,7 +2456,7 @@ The only required argument is the className, while all others have some default
24562456
input String version = "2.0" "FMU version, 1.0 or 2.0.";
24572457
input String fmuType = "me" "FMU type, me (model exchange), cs (co-simulation), me_cs (both model exchange and co-simulation)";
24582458
input String fileNamePrefix = "<default>" "fileNamePrefix. <default> = \"className\"";
2459-
input String platforms[:] = {"dynamic"} "The list of platforms to generate code for. \"dynamic\"=current platform, dynamically link the runtime. \"static\"=current platform, statically link everything. Else, use a host triple, e.g. \"x86_64-linux-gnu\" or \"x86_64-w64-mingw32\"";
2459+
input String platforms[:] = {"static"} "The list of platforms to generate code for. \"dynamic\"=current platform, dynamically link the runtime. \"static\"=current platform, statically link everything. Else, use a host triple, e.g. \"x86_64-linux-gnu\" or \"x86_64-w64-mingw32\"";
24602460
input Boolean includeResources = false "include Modelica based resources via loadResource or not";
24612461
output String generatedFileName "Returns the full path of the generated FMU.";
24622462
external "builtin";

Compiler/Script/CevalScriptBackend.mo

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3327,10 +3327,10 @@ algorithm
33273327
// replace @XX@ variables in the Makefile
33283328
makefileStr := System.stringReplace(makefileStr, "@CC@", CC);
33293329
makefileStr := System.stringReplace(makefileStr, "@CFLAGS@", CFLAGS);
3330-
makefileStr := System.stringReplace(makefileStr, "@LDFLAGS@", LDFLAGS+System.getRTLibsFMU());
3330+
makefileStr := System.stringReplace(makefileStr, "@LDFLAGS@", LDFLAGS+" -lSimulationRuntimeFMI "+System.getRTLibsFMU());
33313331
makefileStr := System.stringReplace(makefileStr, "@LIBS@", "");
33323332
makefileStr := System.stringReplace(makefileStr, "@DLLEXT@", System.getDllExt());
3333-
makefileStr := System.stringReplace(makefileStr, "@NEED_RUNTIME@", "1");
3333+
makefileStr := System.stringReplace(makefileStr, "@NEED_RUNTIME@", "");
33343334
makefileStr := System.stringReplace(makefileStr, "@NEED_DGESV@", "");
33353335
makefileStr := System.stringReplace(makefileStr, "@FMIPLATFORM@", System.modelicaPlatform());
33363336
makefileStr := System.stringReplace(makefileStr, "@CPPFLAGS@", "-DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1");
@@ -3368,7 +3368,7 @@ protected function buildModelFMU " author: Frenkel TUD
33683368
input String inFMUType;
33693369
input String inFileNamePrefix;
33703370
input Boolean addDummy "if true, add a dummy state";
3371-
input list<String> platforms = {"dynamic"};
3371+
input list<String> platforms = {"static"};
33723372
output FCore.Cache cache;
33733373
output Values.Value outValue;
33743374
protected

SimulationRuntime/c/Makefile.common

Lines changed: 50 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
NEED_DGESV=1
99
include Makefile.objs
1010

11+
LIBSIMULATIONFMI=libSimulationRuntimeFMI.a
1112
OMC_MINIMAL_RUNTIME=
13+
BUILDPATH=build/c
1214

1315
CPPFLAGS = -I. -I$(top_builddir)/Compiler/runtime -I$(top_builddir)/3rdParty/gc/include -I$(top_builddir)/3rdParty/FMIL/install/include/ -I$(top_builddir)/3rdParty/lis-1.4.12/include/ -I$(top_builddir)/3rdParty/Ipopt/include/ -I$(builddir_inc)/c/sundials/ $(CONFIG_CPPFLAGS) -DGC_REDIRECT_TO_LOCAL -I$(builddir_inc)/c
1416
override CFLAGS += $(CPPFLAGS) $(CONFIG_CFLAGS) $(EXTRA_CFLAGS)
@@ -132,7 +134,7 @@ RUNTIMEINITIALIZATION_HEADERS = \
132134
# ./simulation/solver/solver_main.h \
133135
# ./util/list.h \
134136

135-
.PHONY : clean all emcc emcc-clean emcc/libSimulationRuntimeC.so
137+
.PHONY : clean all emcc emcc-clean emcc/libSimulationRuntimeC.so fmi-runtime mkbuilddir
136138

137139
all : install
138140

@@ -187,44 +189,61 @@ libOpenModelicaFMIRuntimeC.dylib: $(FMIOBJSPATH) $(GCOBJPATH_MINIMAL) Makefile.o
187189
@rm -f $@
188190
$(CC) -shared -o $@ $(FMIOBJSPATH) $(GCOBJPATH_MINIMAL) $(LDFLAGS_SIM) -undefined dynamic_lookup -install_name '@rpath/$@'
189191

190-
$(GCOBJSPATH):%$(OBJ_EXT): %.c $(GCHFILESPATH) $(COMMON_HEADERS)
192+
MKBUILDDIR=@(mkdir -p "$(BUILDPATH)" && cd "$(BUILDPATH)" && mkdir -p $(GCPATH) $(METAPATH) $(UTILPATH) $(MATHPATH) $(SOLVERPATH) $(INITIALIZATIONPATH) $(RESULTSPATH) $(SIMPATH) $(OPTIMIZATIONPATH)/DataManagement $(OPTIMIZATIONPATH)/eval_all $(FMIPATH) $(OPTIMIZATIONPATH) linearization external_solvers)
193+
$(GCOBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.c $(GCHFILESPATH) $(COMMON_HEADERS)
194+
$(MKBUILDDIR)
191195
$(CC) -c $(CFLAGS) -o $@ $<
192196

193-
$(METAOBJSPATH):%$(OBJ_EXT): %.c $(METAHFILESPATH) $(COMMON_HEADERS)
197+
$(METAOBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.c $(METAHFILESPATH) $(COMMON_HEADERS)
198+
$(MKBUILDDIR)
194199
$(CC) -c $(CFLAGS) -o $@ $<
195200

196-
meta/meta_modelica_catch$(OBJ_EXT): meta/meta_modelica_catch.c
201+
$(BUILDPATH)/./meta/meta_modelica_catch$(OBJ_EXT): meta/meta_modelica_catch.c
202+
$(MKBUILDDIR)
197203
$(CC) -c $(CFLAGS) -o $@ $< -g
198204

199-
$(UTILOBJSPATH):%$(OBJ_EXT): %.c $(UTILHFILESPATH) $(COMMON_HEADERS)
205+
$(UTILOBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.c $(UTILHFILESPATH) $(COMMON_HEADERS)
206+
$(MKBUILDDIR)
200207
$(CC) -c $(CFLAGS) -o $@ $<
201208

202-
$(MATHOBJSPATH):%$(OBJ_EXT): %.c $(MATHHFILESPATH) $(COMMON_HEADERS)
209+
$(MATHOBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.c $(MATHHFILESPATH) $(COMMON_HEADERS)
210+
$(MKBUILDDIR)
203211
$(CC) -c $(CFLAGS) $(FPMATHFORTRAN) -o $@ $<
204212

205-
$(SOLVEROBJSPATH):%$(OBJ_EXT): %.c $(SOLVERHFILESPATH) $(RESULTSHFILESPATH) $(INITIALIZATIONHFILESPATH) $(OPTIMIZATIONHFILESPATH) $(COMMON_HEADERS)
213+
$(SOLVEROBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.c $(SOLVERHFILESPATH) $(RESULTSHFILESPATH) $(INITIALIZATIONHFILESPATH) $(OPTIMIZATIONHFILESPATH) $(COMMON_HEADERS)
214+
$(MKBUILDDIR)
206215
$(CC) -c $(CFLAGS) -o $@ $<
207216

208-
$(INITIALIZATIONOBJSPATH):%$(OBJ_EXT): %.c $(SOLVERHFILESPATH) $(INITIALIZATIONHFILESPATH) $(COMMON_HEADERS)
217+
$(INITIALIZATIONOBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.c $(SOLVERHFILESPATH) $(INITIALIZATIONHFILESPATH) $(COMMON_HEADERS)
218+
$(MKBUILDDIR)
209219
$(CC) -c $(CFLAGS) -o $@ $<
210220

211-
$(RESULTSOBJSPATH):%$(OBJ_EXT): %.cpp $(RESULTSFILESPATH) $(COMMON_HEADERS)
221+
$(RESULTSOBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.cpp $(RESULTSFILESPATH) $(COMMON_HEADERS)
222+
$(MKBUILDDIR)
212223
$(CXX) -c $(CXXFLAGS) -o $@ $<
213224

214-
$(SIMOBJSPATH):%$(OBJ_EXT): %.cpp linearization/linearize.cpp $(SIMHFILESPATH) $(COMMON_HEADERS)
225+
$(SIMOBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.cpp linearization/linearize.cpp $(SIMHFILESPATH) $(COMMON_HEADERS)
226+
$(MKBUILDDIR)
215227
$(CXX) -c -Ilinearization/ $(CXXFLAGS) -o $@ $<
216228

217-
$(SIMOBJSPATHC):%$(OBJ_EXT): %.c $(SIMHFILESPATH) $(COMMON_HEADERS)
229+
$(SIMOBJSPATHC):$(BUILDPATH)/%$(OBJ_EXT): %.c $(SIMHFILESPATH) $(COMMON_HEADERS)
218230
@echo Deps: $(SIMHFILESPATH) $(COMMON_HEADERS)
231+
$(MKBUILDDIR)
219232
$(CC) -c $(CFLAGS) -o $@ $<
220233

221-
$(OPTIMIZATIONOBJSPATH):%$(OBJ_EXT): %.c $(OPTIMIZATIONHFILESPATH) $(COMMON_HEADERS)
234+
$(OPTIMIZATIONOBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.c $(OPTIMIZATIONHFILESPATH) $(COMMON_HEADERS)
235+
$(MKBUILDDIR)
222236
$(CC) -c $(CFLAGS) -o $@ $<
223237

224-
$(FMIOBJSPATH):%$(OBJ_EXT): %.c $(COMMON_HEADERS)
238+
$(FMIOBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): %.c $(COMMON_HEADERS)
239+
$(MKBUILDDIR)
225240
$(CC) -c $(CFLAGS) -o $@ $<
226241

227-
util/socket$(OBJ_EXT): util/socket_win.cpp util/socket_unix.cpp
242+
$(EXTERNAL_SOLVER_OBJSPATH):$(BUILDPATH)/%$(OBJ_EXT): $(builddir_inc)/c/%.c
243+
$(MKBUILDDIR)
244+
$(CC) -c $(CFLAGS) -o $@ $<
245+
246+
$(BUILDPATH)/util/socket$(OBJ_EXT): util/socket_win.cpp util/socket_unix.cpp
228247

229248
bootstrap-dependencies: $(LIBRUNTIME)
230249
cp -p $(LIBRUNTIME) $(builddir_lib)
@@ -240,9 +259,17 @@ bootstrap-dependencies: $(LIBRUNTIME)
240259
cp -p $(RUNTIMEMETAGC_HEADERS) $(builddir_inc)/c/gc/
241260
cp -p $(RUNTIMEUTIL_HEADERS) $(builddir_inc)/c/util/
242261

243-
install: bootstrap-dependencies $(LIBSIMULATION) $(LIBFMIRUNTIME) $(ALL_OBJS) sourcedist
262+
fmi-runtime: sourcedist
263+
$(MAKE) "$(LIBSIMULATIONFMI)" OMC_MINIMAL_RUNTIME=1 OMC_FMI_RUNTIME=1 BUILDPATH=build/fmi OMC_NUM_NONLINEAR_SYSTEMS=1 OMC_NUM_LINEAR_SYSTEMS=1 OMC_NUM_MIXED_SYSTEMS=1
264+
libSimulationRuntimeFMI.a: $(FMI_ME_OBJS_BUILDPATH)
265+
@# You have to remove the old archive first or it may contain old objects
266+
@rm -f $@
267+
$(AR) $@ $(FMI_ME_OBJS_BUILDPATH)
268+
ranlib $@
269+
270+
install: bootstrap-dependencies $(LIBSIMULATION) $(LIBFMIRUNTIME) $(ALL_OBJS) fmi-runtime
244271
# copy libraries
245-
cp -p $(LIBSIMULATION) $(LIBFMIRUNTIME) $(builddir_lib)
272+
cp -p $(LIBSIMULATION) $(LIBFMIRUNTIME) $(LIBSIMULATIONFMI) $(builddir_lib)
246273
test ! -f libSimulationRuntimeC.bc || cp libSimulationRuntimeC.bc $(builddir_lib)/emcc/libSimulationRuntimeC.so
247274
test ! `uname` = Darwin || install_name_tool -change libsundials_idas.0.dylib @rpath/libsundials_idas.0.dylib $(builddir_lib)/$(LIBFMIRUNTIME)
248275
test ! `uname` = Darwin || install_name_tool -change libsundials_ida.2.dylib @rpath/libsundials_ida.2.dylib $(builddir_lib)/$(LIBFMIRUNTIME)
@@ -259,7 +286,7 @@ install: bootstrap-dependencies $(LIBSIMULATION) $(LIBFMIRUNTIME) $(ALL_OBJS) so
259286
../fmi/export/fmi2/fmu2_model_interface.c $(builddir_inc)/c/fmi2
260287

261288
clean:
262-
rm -f $(ALL_PATHS_CLEAN_OBJS) fmi/*.o *.a *.so optimization/*/*.o
289+
rm -rf $(ALL_PATHS_CLEAN_OBJS) fmi/*.o *.a *.so optimization/*/*.o build/
263290
(! test -f $(EXTERNALCBUILDDIR)/Makefile) || make -C $(EXTERNALCBUILDDIR) clean
264291
(! test -f $(EXTERNALCBUILDDIR)/Makefile) || make -C $(EXTERNALCBUILDDIR) distclean
265292

@@ -269,21 +296,23 @@ sourcedist1:
269296
sourcedist2:
270297
$(MAKE) -C ../fmi/export/buildproject -f $(defaultMakefileTarget)
271298

299+
# Copied files need to preserve the time-stamp or the external solvers builds
300+
# over and over again
272301
sourcedist_internal:
273302
mkdir -p $(builddir_inc)/c/external_solvers external_solvers
274-
cp \
303+
cp -p \
275304
$(CMINPACK_OBJS:%=$(CMINPACKDIR)/%.c) \
276305
$(LAPACK_OBJS:%=$(LAPACKDIR)/lapack/%.c) \
277306
$(BLAS_OBJS:%=$(LAPACKDIR)/blas/%.c) \
278307
$(LIBF2C_OBJS:%=$(LAPACKDIR)/libf2c/%.c) \
279308
"./external_solvers/"
280-
cp \
309+
cp -p \
281310
"$(CMINPACKDIR)/minpack.h" "$(CMINPACKDIR)/cminpack.h" \
282311
"$(LAPACKDIR)/include/blaswrap.h" \
283312
"$(LAPACKDIR)/include/clapack.h" \
284313
"$(LAPACKDIR)/include/f2c.h" \
285314
"$(builddir_inc)/c/external_solvers"
286-
cd $(builddir_inc)/c/ && mkdir -p $(ALL_PATHS)
287-
(D=`pwd` && cd $(builddir_inc)/c/ $(FMI_ME_OBJS:%.o= && (OMCFILE=% && cp $$D/$$OMCFILE.c $$OMCFILE.c)))
315+
@cd $(builddir_inc)/c/ && mkdir -p $(ALL_PATHS)
316+
@(D=`pwd` && cd $(builddir_inc)/c/ $(FMI_ME_OBJS:%.o= && (OMCFILE=% && cp -p $$D/$$OMCFILE.c $$OMCFILE.c)))
288317
cp Makefile.objs $(builddir_inc)/c/
289318
rm -r ./external_solvers

SimulationRuntime/c/Makefile.objs

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -104,53 +104,53 @@ SIM_HFILES = options.h simulation_input_xml.h simulation_info_json.h modelinfo.h
104104

105105
FMIPATH = ./fmi/
106106
FMI_OBJS = FMICommon$(OBJ_EXT) FMI1Common$(OBJ_EXT) FMI1ModelExchange$(OBJ_EXT) FMI1CoSimulation$(OBJ_EXT) FMI2Common$(OBJ_EXT) FMI2ModelExchange$(OBJ_EXT)
107-
FMIOBJSPATH = $(FMI_OBJS:%=$(FMIPATH)%)
107+
FMIOBJSPATH = $(FMI_OBJS:%=$(BUILDPATH)/$(FMIPATH)%)
108108

109109
GCPATH = ./gc/
110-
GCOBJSPATH = $(GC_OBJS:%=$(GCPATH)%)
110+
GCOBJSPATH = $(GC_OBJS:%=$(BUILDPATH)/$(GCPATH)%)
111111
GCHFILESPATH = $(GC_HFILES:%=$(GCPATH)%)
112112
GCHFILESPATH_MINIMAL = $(GC_HFILES_MINIMAL:%=$(GCPATH)%)
113113
GCOBJSPATH_MINIMAL = $(GC_OBJS_MINIMAL:%=$(GCPATH)%)
114114

115115

116116
METAPATH = ./meta/
117-
METAOBJSPATH = $(META_OBJS:%=$(METAPATH)%)
117+
METAOBJSPATH = $(META_OBJS:%=$(BUILDPATH)/$(METAPATH)%)
118118
METAHFILESPATH = $(META_HFILES:%=$(METAPATH)%)
119119

120120
UTILPATH = ./util/
121-
UTILOBJSPATH = $(UTIL_OBJS:%=$(UTILPATH)%)
121+
UTILOBJSPATH = $(UTIL_OBJS:%=$(BUILDPATH)/$(UTILPATH)%)
122122
UTILHFILESPATH = $(UTIL_HFILES:%=$(UTILPATH)%)
123123

124124
MATHPATH = ./math-support/
125-
MATHOBJSPATH = $(MATH_OBJS:%=$(MATHPATH)%)
125+
MATHOBJSPATH = $(MATH_OBJS:%=$(BUILDPATH)/$(MATHPATH)%)
126126
MATHHFILESPATH = $(MATH_HFILES:%=$(MATHPATH)%)
127127

128128
INITIALIZATIONPATH = ./simulation/solver/initialization/
129-
INITIALIZATIONOBJSPATH = $(INITIALIZATION_OBJS:%=$(INITIALIZATIONPATH)%)
129+
INITIALIZATIONOBJSPATH = $(INITIALIZATION_OBJS:%=$(BUILDPATH)/$(INITIALIZATIONPATH)%)
130130
INITIALIZATIONHFILESPATH = $(INITIALIZATION_HFILES:%=$(INITIALIZATIONPATH)%)
131131

132132
OPTIMIZATIONPATH = ./optimization/
133-
OPTIMIZATIONOBJSPATH = $(OPTIMIZATION_OBJS:%=$(OPTIMIZATIONPATH)%)
133+
OPTIMIZATIONOBJSPATH = $(OPTIMIZATION_OBJS:%=$(BUILDPATH)/$(OPTIMIZATIONPATH)%)
134134
OPTIMIZATIONHFILESPATH = $(OPTIMIZATION_HFILES:%=$(OPTIMIZATIONPATH)%)
135135

136136
SOLVERPATH = ./simulation/solver/
137-
SOLVEROBJSPATH = $(SOLVER_OBJS:%=$(SOLVERPATH)%)
137+
SOLVEROBJSPATH = $(SOLVER_OBJS:%=$(BUILDPATH)/$(SOLVERPATH)%)
138138
SOLVERHFILESPATH = $(SOLVER_HFILES:%=$(SOLVERPATH)%)
139139

140140
RESULTSPATH = ./simulation/results/
141-
RESULTSOBJSPATH = $(RESULTS_OBJS:%=$(RESULTSPATH)%)
141+
RESULTSOBJSPATH = $(RESULTS_OBJS:%=$(BUILDPATH)/$(RESULTSPATH)%)
142142
RESULTSHFILESPATH = $(RESULTS_HFILES:%=$(RESULTSPATH)%)
143143
RESULTSFILESPATH = $(RESULTS_FILES:%=$(RESULTSPATH)%)
144144

145145
SIMPATH = ./simulation/
146-
SIMOBJSPATH = $(SIM_OBJS:%=$(SIMPATH)%)
147-
SIMOBJSPATHC = $(SIM_OBJS_C:%=$(SIMPATH)%)
146+
SIMOBJSPATH = $(SIM_OBJS:%=$(BUILDPATH)/$(SIMPATH)%)
147+
SIMOBJSPATHC = $(SIM_OBJS_C:%=$(BUILDPATH)/$(SIMPATH)%)
148148
SIMHFILESPATH = $(SIM_HFILES:%=$(SIMPATH)%)
149149

150150
FMIPATH = ./fmi/
151-
FMIOBJSPATH = $(FMI_OBJS:%=$(FMIPATH)%)
151+
FMIOBJSPATH = $(FMI_OBJS:%=$(BUILDPATH)/$(FMIPATH)%)
152152

153-
ALL_OBJS = $(GCOBJSPATH) $(METAOBJSPATH) $(UTILOBJSPATH) $(MATHOBJSPATH) $(SOLVEROBJSPATH) $(INITIALIZATIONOBJSPATH) $(OPTIMIZATIONOBJSPATH) $(RESULTSOBJSPATH) $(SIMOBJSPATH) $(SIMOBJSPATHC) meta/meta_modelica_catch$(OBJ_EXT)
153+
ALL_OBJS = $(GCOBJSPATH) $(METAOBJSPATH) $(UTILOBJSPATH) $(MATHOBJSPATH) $(SOLVEROBJSPATH) $(INITIALIZATIONOBJSPATH) $(OPTIMIZATIONOBJSPATH) $(RESULTSOBJSPATH) $(SIMOBJSPATH) $(SIMOBJSPATHC) $(BUILDPATH)/./meta/meta_modelica_catch$(OBJ_EXT)
154154

155155
# External solvers needed by FMI for ME
156156
ifeq ($(OMC_NUM_NONLINEAR_SYSTEMS),0)
@@ -167,18 +167,27 @@ LIBF2C_OBJS = i_nint pow_di s_cmp s_copy
167167
endif
168168
endif
169169

170+
ifeq ($(OMC_FMI_RUNTIME),)
171+
else
172+
EXTERNAL_SOLVER_OBJSPATH1=$(CMINPACK_OBJS:%=./external_solvers/%$(OBJ_EXT)) \
173+
$(LAPACK_OBJS:%=./external_solvers/%$(OBJ_EXT)) \
174+
$(BLAS_OBJS:%=./external_solvers/%$(OBJ_EXT)) \
175+
$(LIBF2C_OBJS:%=./external_solvers/%$(OBJ_EXT))
176+
EXTERNAL_SOLVER_OBJSPATH=$(EXTERNAL_SOLVER_OBJSPATH1:./%=$(BUILDPATH)/%)
177+
endif
170178
# Only objects needed for FMI for Modelica Exchange
171-
FMI_ME_OBJS = $(GCOBJSPATH_MINIMAL) $(UTILOBJSPATH) $(MATHOBJSPATH) $(SIMOBJSPATHC) $(SOLVEROBJSPATH) $(INITIALIZATIONOBJSPATH) \
179+
FMI_ME_OBJS = $(GCOBJSPATH_MINIMAL:$(BUILDPATH)/%=%) $(UTILOBJSPATH:$(BUILDPATH)/%=%) $(MATHOBJSPATH:$(BUILDPATH)/%=%) $(SIMOBJSPATHC:$(BUILDPATH)/%=%) $(SOLVEROBJSPATH:$(BUILDPATH)/%=%) $(INITIALIZATIONOBJSPATH:$(BUILDPATH)/%=%) \
172180
./meta/meta_modelica_catch$(OBJ_EXT) \
173181
$(CMINPACK_OBJS:%=./external_solvers/%$(OBJ_EXT)) \
174182
$(LAPACK_OBJS:%=./external_solvers/%$(OBJ_EXT)) \
175183
$(BLAS_OBJS:%=./external_solvers/%$(OBJ_EXT)) \
176184
$(LIBF2C_OBJS:%=./external_solvers/%$(OBJ_EXT))
185+
FMI_ME_OBJS_BUILDPATH = $(FMI_ME_OBJS:./external_solvers/%=$(BUILDPATH)/external_solvers/%)
177186

178187
ALL_HEADERS = $(METAHFILESPATH) $(GCFILESPATH) $(UTILHFILESPATH) $(MATHHFILESPATH) $(SOLVERHFILESPATH) $(INITIALIZATIONHFILESPATH) $(OPTIMIZATIONHFILESPATH) $(RESULTSHFILESPATH) $(SIMHFILESPATH)
179188
ALL_PATHS = $(METAPATH) $(FMIPATH) $(GCPATH) $(UTILPATH) $(MATHPATH) $(SOLVERPATH) $(INITIALIZATIONPATH) $(OPTIMIZATIONPATH) $(RESULTSPATH) $(SIMPATH) linearization/
180189
ALL_PATHS_CLEAN_OBJS = $(ALL_PATHS:%=%*$(OBJ_EXT)) $(ALL_PATHS:%=%*.a) meta/gc/*$(OBJ_EXT)
181190

182-
BASE_OBJS = $(GCOBJSPATH) $(METAOBJSPATH) $(UTILOBJSPATH) meta/meta_modelica_catch$(OBJ_EXT)
191+
BASE_OBJS = $(GCOBJSPATH) $(METAOBJSPATH) $(UTILOBJSPATH) ./meta/meta_modelica_catch$(OBJ_EXT)
183192

184193
COMMON_HEADERS = util/omc_msvc.h openmodelica.h openmodelica_types.h ModelicaUtilities.h omc_inline.h openmodelica_func.h simulation_data.h

0 commit comments

Comments
 (0)