add_rules("mode.debug", "mode.release") target("sim_sfunc") set_filename("sim_board.mexw64") set_kind("shared") set_languages("c11", "c++20") add_defines("MATLAB_MEX_FILE", "_CRT_SECURE_NO_WARNINGS", "_DEBUG", "_CONSOLE") add_defines("RUN_ARCH_SIM") add_files("$(projectdir)/User project/1.FrameLayer/Source/app.c") add_files("$(projectdir)/User project/1.FrameLayer/Source/FSM_1st.c") add_files("$(projectdir)/User project/1.FrameLayer/Source/FSM_2nd.c") add_files("$(projectdir)/User project/1.FrameLayer/Source/main.c") add_files("$(projectdir)/User project/1.FrameLayer/Source/sys_ctrl.c") add_files("$(projectdir)/User project/1.FrameLayer/Source/sys_task.c") add_files("$(projectdir)/User project/1.FrameLayer/Source/tbc.c") add_files("$(projectdir)/User project/1.FrameLayer/Source/tbs.c") add_files("$(projectdir)/User project/1.FrameLayer/Source/tbt.c") add_files("$(projectdir)/User project/1.FrameLayer/Source/TimeTask_Event.c") add_files("$(projectdir)/User project/2.MotorDrive/Source/**.c") add_files("$(projectdir)/User project/3.BasicFunction/Source/**.c") add_files("$(projectdir)/User project/4.BasicHardwSoftwLayer/2.BasicSoftwLayer/Source/**.c") add_files("api_rt/*.c") add_files("peripheral/source/*.c") add_files("source/*.c") add_includedirs("$(projectdir)/MSTLibraries/SelfTestLib/inc") add_includedirs("$(projectdir)/api") add_includedirs("$(projectdir)/User project/1.FrameLayer/Include") add_includedirs("$(projectdir)/User project/2.MotorDrive/Include") add_includedirs("$(projectdir)/User project/3.BasicFunction/Include") add_includedirs("$(projectdir)/User project/4.BasicHardwSoftwLayer/1.BasicHardwLayer/Include") add_includedirs("$(projectdir)/User project/4.BasicHardwSoftwLayer/2.BasicSoftwLayer/Include") add_includedirs("api_rt") add_includedirs("include") add_includedirs("peripheral/include") add_includedirs("$(env MATLABROOT)/extern/include") add_includedirs("$(env MATLABROOT)/simulink/include") -- temp add_includedirs("$(projectdir)/tests/unit_test") add_files("$(projectdir)/tests/unit_test/*.c") add_defines("RUN_ARCH_SIM_2") add_linkdirs("$(env MATLABROOT)/extern/lib/win64/microsoft") add_links("libmex") add_links("libmat") add_links("libmx") add_rules("utils.symbols.export_list", {symbols = {"mexFunction"}}) add_cxflags("/utf-8") after_build(function (target) os.cp(target:targetfile(), "tests/sim") end)