xmake.lua 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. add_rules("mode.debug", "mode.release")
  2. target("sim_sfunc")
  3. set_filename("sim_board.mexw64")
  4. set_kind("shared")
  5. set_languages("c11", "c++20")
  6. add_defines("MATLAB_MEX_FILE", "_CRT_SECURE_NO_WARNINGS", "_DEBUG", "_CONSOLE")
  7. add_defines("RUN_ARCH_SIM")
  8. add_files("$(projectdir)/User project/1.FrameLayer/Source/app.c")
  9. add_files("$(projectdir)/User project/1.FrameLayer/Source/FSM_1st.c")
  10. add_files("$(projectdir)/User project/1.FrameLayer/Source/FSM_2nd.c")
  11. add_files("$(projectdir)/User project/1.FrameLayer/Source/main.c")
  12. add_files("$(projectdir)/User project/1.FrameLayer/Source/sys_ctrl.c")
  13. add_files("$(projectdir)/User project/1.FrameLayer/Source/sys_task.c")
  14. add_files("$(projectdir)/User project/1.FrameLayer/Source/tbc.c")
  15. add_files("$(projectdir)/User project/1.FrameLayer/Source/tbs.c")
  16. add_files("$(projectdir)/User project/1.FrameLayer/Source/tbt.c")
  17. add_files("$(projectdir)/User project/1.FrameLayer/Source/TimeTask_Event.c")
  18. add_files("$(projectdir)/User project/2.MotorDrive/Source/**.c")
  19. add_files("$(projectdir)/User project/3.BasicFunction/Source/**.c")
  20. add_files("$(projectdir)/User project/4.BasicHardwSoftwLayer/2.BasicSoftwLayer/Source/**.c")
  21. add_files("api_rt/*.c")
  22. add_files("peripheral/source/*.c")
  23. add_files("source/*.c")
  24. add_includedirs("$(projectdir)/MSTLibraries/SelfTestLib/inc")
  25. add_includedirs("$(projectdir)/api")
  26. add_includedirs("$(projectdir)/User project/1.FrameLayer/Include")
  27. add_includedirs("$(projectdir)/User project/2.MotorDrive/Include")
  28. add_includedirs("$(projectdir)/User project/3.BasicFunction/Include")
  29. add_includedirs("$(projectdir)/User project/4.BasicHardwSoftwLayer/1.BasicHardwLayer/Include")
  30. add_includedirs("$(projectdir)/User project/4.BasicHardwSoftwLayer/2.BasicSoftwLayer/Include")
  31. add_includedirs("api_rt")
  32. add_includedirs("include")
  33. add_includedirs("peripheral/include")
  34. add_includedirs("$(env MATLABROOT)/extern/include")
  35. add_includedirs("$(env MATLABROOT)/simulink/include")
  36. -- temp
  37. add_includedirs("$(projectdir)/tests/unit_test")
  38. add_files("$(projectdir)/tests/unit_test/*.c")
  39. add_defines("RUN_ARCH_SIM_2")
  40. add_linkdirs("$(env MATLABROOT)/extern/lib/win64/microsoft")
  41. add_links("libmex")
  42. add_links("libmat")
  43. add_links("libmx")
  44. add_rules("utils.symbols.export_list", {symbols = {"mexFunction"}})
  45. add_cxflags("/utf-8")
  46. after_build(function (target)
  47. os.cp(target:targetfile(), "tests/sim")
  48. end)