# Makefile generated by OpenModelica
CC=gcc
AR=@AR@
CFLAGS=${SIM_OR_DYNLOAD_OPT_LEVEL} -falign-functions -msse2 -mfpmath=sse 
LD=$(CC) -shared
LDFLAGS=-L"C:/OpenModelica1.12.0-64bit//lib//omc" -Wl,-rpath,"C:/OpenModelica1.12.0-64bit//lib//omc" -lregex -lexpat -lomcgc -lpthread -fopenmp -loleaut32 -limagehlp -lz -lhdf5  -lSimulationRuntimeC -lomcgc -lexpat -lregex -static-libgcc -luuid -loleaut32 -lole32 -limagehlp -lws2_32 -llis -lumfpack -lklu -lcolamd -lbtf -lamd -lsundials_idas -lsundials_kinsol -lsundials_nvecserial -lipopt -lcoinmumps -lpthread -lm -lgfortranbegin -lgfortran -lmingw32 -lgcc_eh -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lopenblas -lcminpack -lwsock32 -lstdc++ 
DLLEXT=.dll
NEED_RUNTIME=
NEED_DGESV=
FMIPLATFORM=win64
# Note: Simulation of the fmu with dymola does not work with -finline-small-functions (enabled by most optimization levels)
CPPFLAGS=
OMC_NUM_LINEAR_SYSTEMS=0
OMC_NUM_NONLINEAR_SYSTEMS=0
OMC_NUM_MIXED_SYSTEMS=0
OMC_NDELAY_EXPRESSIONS=0
OMC_NVAR_STRING=0

override CPPFLAGS += -Iinclude/ -Iinclude/fmi2 -I.    -DOMC_MODEL_PREFIX=MassSpringDamper1 -DOMC_NUM_MIXED_SYSTEMS=0 -DOMC_NUM_LINEAR_SYSTEMS=0 -DOMC_NUM_NONLINEAR_SYSTEMS=0 -DOMC_NDELAY_EXPRESSIONS=0 -DOMC_NVAR_STRING=0

MAINFILE=MassSpringDamper1_FMU.c
MAINOBJ=MassSpringDamper1_FMU.o
CFILES=MassSpringDamper1.c MassSpringDamper1_functions.c MassSpringDamper1_records.c \
MassSpringDamper1_01exo.c MassSpringDamper1_02nls.c MassSpringDamper1_03lsy.c MassSpringDamper1_04set.c MassSpringDamper1_05evt.c MassSpringDamper1_06inz.c MassSpringDamper1_07dly.c \
MassSpringDamper1_08bnd.c MassSpringDamper1_09alg.c MassSpringDamper1_10asr.c MassSpringDamper1_11mix.c MassSpringDamper1_12jac.c MassSpringDamper1_13opt.c MassSpringDamper1_14lnz.c \
MassSpringDamper1_15syn.c MassSpringDamper1_16dae.c MassSpringDamper1_17inl.c MassSpringDamper1_init_fmu.c
OFILES=$(CFILES:.c=.o)
GENERATEDFILES=$(MAINFILE) MassSpringDamper1_FMU.makefile MassSpringDamper1_literals.h MassSpringDamper1_model.h MassSpringDamper1_includes.h MassSpringDamper1_functions.h  MassSpringDamper1_11mix.h MassSpringDamper1_12jac.h MassSpringDamper1_13opt.h MassSpringDamper1_init_fmu.c MassSpringDamper1_info.c $(CFILES) MassSpringDamper1_FMU.libs

# FIXME: before you push into master...
RUNTIMEDIR=include
OMC_MINIMAL_RUNTIME=1
OMC_FMI_RUNTIME=1
include $(RUNTIMEDIR)/Makefile.objs
ifneq ($(NEED_RUNTIME),)
RUNTIMEFILES=$(FMI_ME_OBJS:%=$(RUNTIMEDIR)/%.o)
endif

PHONY: MassSpringDamper1_FMU
MassSpringDamper1_FMU: $(MAINOBJ) MassSpringDamper1_functions.h MassSpringDamper1_literals.h $(OFILES) $(RUNTIMEFILES)
	$(CXX) -shared -I. -o MassSpringDamper1$(DLLEXT) $(MAINOBJ) $(RUNTIMEFILES) $(OFILES) $(CPPFLAGS) -L"C:/srcctrl/2019.WinterSim.CosimTutorialMaterials/fmus/models"   $(CFLAGS) $(LDFLAGS) -llis -Wl,--kill-at
	mkdir.exe -p ../binaries/win64
	dlltool -d MassSpringDamper1.def --dllname MassSpringDamper1$(DLLEXT) --output-lib MassSpringDamper1.lib --kill-at
	cp MassSpringDamper1$(DLLEXT) MassSpringDamper1.lib MassSpringDamper1_FMU.libs ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libsundials_*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libopenblas.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libexpat*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libgfortran*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libquadmath*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libwinpthread*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/zlib*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libszip*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libhdf5*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libsystre*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libtre*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libintl*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libiconv*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libgcc_s_*.dll ../binaries/win64/
	cp C:/OpenModelica1.12.0-64bit//bin/libstdc*.dll ../binaries/win64/
	rm -f MassSpringDamper1.def MassSpringDamper1.o MassSpringDamper1$(DLLEXT) $(OFILES) $(RUNTIMEFILES)
	cd .. && rm -f ../MassSpringDamper1.fmu && zip -r ../MassSpringDamper1.fmu *

