xmake.lua 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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. option("luavm_64bit")
  15. set_default(false)
  16. set_showmenu(true)
  17. set_description("luavm")
  18. option_end()
  19. add_options("luavm_64bit")
  20. if has_config("luavm_64bit") and get_config("luavm_64bit") == true then
  21. add_defines("LUAT_CONF_VM_64bit")
  22. end
  23. if is_host("windows") then
  24. -- add_defines("LUA_USE_WINDOWS")
  25. add_cflags("/utf-8")
  26. -- add_ldflags("-static")
  27. -- elseif is_host("linux") then
  28. -- add_defines("LUA_USE_LINUX")
  29. -- elseif is_host("macos") then
  30. -- add_defines("LUA_USE_MACOSX")
  31. end
  32. add_includedirs("include",{public = true})
  33. add_includedirs(luatos.."lua/include",{public = true})
  34. add_includedirs(luatos.."luat/include",{public = true})
  35. target("luatos-lua")
  36. -- set kind
  37. set_kind("binary")
  38. set_targetdir("$(buildir)/out")
  39. add_files("src/*.c",{public = true})
  40. add_deps("luatos")
  41. target_end()
  42. target("luatos-luac")
  43. -- set kind
  44. set_kind("binary")
  45. set_targetdir("$(buildir)/out")
  46. add_files("src/*.c",{public = true})
  47. add_deps("luatos")
  48. add_defines("LUAT_USE_LUAC")
  49. target_end()
  50. target("luatos")
  51. -- set kind
  52. set_kind("static")
  53. set_targetdir("$(buildir)/out")
  54. -- add deps
  55. add_files("port/*.c",{public = true})
  56. add_files(luatos.."lua/src/*.c")
  57. -- printf
  58. add_includedirs(luatos.."components/printf",{public = true})
  59. add_files(luatos.."components/printf/*.c")
  60. -- add_files(luatos.."luat/modules/*.c")
  61. add_files(luatos.."luat/weak/luat_mem_weak.c")
  62. add_files(luatos.."luat/modules/crc.c"
  63. ,luatos.."luat/modules/luat_base.c"
  64. ,luatos.."luat/modules/luat_lib_fs.c"
  65. ,luatos.."luat/modules/luat_lib_rtos.c"
  66. ,luatos.."luat/modules/luat_lib_timer.c"
  67. ,luatos.."luat/modules/luat_lib_log.c"
  68. ,luatos.."luat/modules/luat_lib_zbuff.c"
  69. ,luatos.."luat/modules/luat_lib_pack.c"
  70. ,luatos.."luat/modules/luat_lib_crypto.c"
  71. )
  72. add_files(luatos.."luat/vfs/*.c")
  73. remove_files(luatos .. "luat/vfs/luat_fs_lfs2.c")
  74. remove_files(luatos .. "luat/vfs/luat_fs_luadb.c")
  75. remove_files(luatos .. "luat/vfs/luat_fs_fatfs.c")
  76. remove_files(luatos .. "luat/vfs/luat_fs_onefile.c")
  77. -- lfs
  78. -- add_includedirs(luatos.."components/lfs")
  79. -- add_files(luatos.."components/lfs/*.c")
  80. -- add_files(luatos.."components/sfd/*.c")
  81. -- lua-cjson
  82. add_includedirs(luatos.."components/lua-cjson")
  83. add_files(luatos.."components/lua-cjson/*.c")
  84. -- cjson
  85. -- add_includedirs(luatos.."components/cjson")
  86. -- add_files(luatos.."components/cjson/*.c")
  87. -- mbedtls
  88. add_files(luatos.."components/mbedtls/library/*.c")
  89. add_includedirs(luatos.."components/mbedtls/include")
  90. -- iotauth
  91. add_files(luatos.."components/iotauth/luat_lib_iotauth.c")
  92. -- crypto
  93. add_files(luatos.."components/crypto/**.c")
  94. -- protobuf
  95. -- add_includedirs(luatos.."components/serialization/protobuf")
  96. -- add_files(luatos.."components/serialization/protobuf/*.c")
  97. -- libgnss
  98. -- add_includedirs(luatos.."components/minmea")
  99. -- add_files(luatos.."components/minmea/*.c")
  100. -- rsa
  101. add_files(luatos.."components/rsa/**.c")
  102. target_end()