xmake.lua 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. set_project("luac")
  2. set_xmakever("2.6.3")
  3. set_version("1.0.3", {build = "%Y%m%d%H%M"})
  4. add_rules("mode.debug", "mode.release")
  5. local luatos = "../../"
  6. -- set warning all as error
  7. set_warnings("allextra")
  8. set_optimize("fastest")
  9. -- set language: c11
  10. set_languages("c11", "cxx11")
  11. add_defines("__LUATOS__", "__XMAKE_BUILD__")
  12. add_defines("MBEDTLS_CONFIG_FILE=\"mbedtls_config_mini.h\"")
  13. --add_ldflags("-Wl,-gc-sections")
  14. if os.getenv("VM_64bit") == "1" then
  15. add_defines("LUAT_CONF_VM_64bit")
  16. end
  17. if is_host("windows") then
  18. -- add_defines("LUA_USE_WINDOWS")
  19. add_cflags("/utf-8")
  20. -- add_ldflags("-static")
  21. -- elseif is_host("linux") then
  22. -- add_defines("LUA_USE_LINUX")
  23. -- elseif is_host("macos") then
  24. -- add_defines("LUA_USE_MACOSX")
  25. end
  26. add_includedirs("include",{public = true})
  27. add_includedirs(luatos.."lua/include",{public = true})
  28. add_includedirs(luatos.."luat/include",{public = true})
  29. target("luatos-lua")
  30. -- set kind
  31. set_kind("binary")
  32. set_targetdir("$(buildir)/out")
  33. add_files("src/*.c",{public = true})
  34. add_deps("luatos")
  35. target_end()
  36. target("luatos-luac")
  37. -- set kind
  38. set_kind("binary")
  39. set_targetdir("$(buildir)/out")
  40. add_files("src/*.c",{public = true})
  41. add_deps("luatos")
  42. add_defines("LUAT_USE_LUAC")
  43. target_end()
  44. target("luatos")
  45. -- set kind
  46. set_kind("static")
  47. set_targetdir("$(buildir)/out")
  48. -- add deps
  49. add_files("port/*.c",{public = true})
  50. add_files(luatos.."lua/src/*.c")
  51. -- printf
  52. add_includedirs(luatos.."components/printf",{public = true})
  53. add_files(luatos.."components/printf/*.c")
  54. -- add_files(luatos.."luat/modules/*.c")
  55. add_files(luatos.."luat/modules/crc.c"
  56. ,luatos.."luat/modules/luat_base.c"
  57. ,luatos.."luat/modules/luat_lib_fs.c"
  58. ,luatos.."luat/modules/luat_lib_rtos.c"
  59. ,luatos.."luat/modules/luat_lib_timer.c"
  60. ,luatos.."luat/modules/luat_lib_log.c"
  61. ,luatos.."luat/modules/luat_lib_zbuff.c"
  62. ,luatos.."luat/modules/luat_lib_pack.c"
  63. ,luatos.."luat/modules/luat_lib_crypto.c"
  64. )
  65. add_files(luatos.."luat/vfs/*.c")
  66. remove_files(luatos .. "luat/vfs/luat_fs_lfs2.c")
  67. remove_files(luatos .. "luat/vfs/luat_fs_luadb.c")
  68. remove_files(luatos .. "luat/vfs/luat_fs_fatfs.c")
  69. remove_files(luatos .. "luat/vfs/luat_fs_onefile.c")
  70. -- lfs
  71. -- add_includedirs(luatos.."components/lfs")
  72. -- add_files(luatos.."components/lfs/*.c")
  73. -- add_files(luatos.."components/sfd/*.c")
  74. -- lua-cjson
  75. add_includedirs(luatos.."components/lua-cjson")
  76. add_files(luatos.."components/lua-cjson/*.c")
  77. -- cjson
  78. -- add_includedirs(luatos.."components/cjson")
  79. -- add_files(luatos.."components/cjson/*.c")
  80. -- mbedtls
  81. add_files(luatos.."components/mbedtls/library/*.c")
  82. add_includedirs(luatos.."components/mbedtls/include")
  83. -- iotauth
  84. add_files(luatos.."components/iotauth/luat_lib_iotauth.c")
  85. -- crypto
  86. add_files(luatos.."components/crypto/**.c")
  87. -- protobuf
  88. -- add_includedirs(luatos.."components/serialization/protobuf")
  89. -- add_files(luatos.."components/serialization/protobuf/*.c")
  90. -- libgnss
  91. -- add_includedirs(luatos.."components/minmea")
  92. -- add_files(luatos.."components/minmea/*.c")
  93. -- rsa
  94. add_files(luatos.."components/rsa/**.c")
  95. target_end()