xmake.lua 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. set_project("LuatOS-BSP")
  2. set_xmakever("2.6.3")
  3. set_version("0.0.3", {build = "%Y%m%d%H%M"})
  4. add_rules("mode.debug", "mode.release")
  5. -- 这里用llvm和clang了,尝试一下
  6. add_requires("llvm 15.0.7")
  7. set_toolchains("@llvm")
  8. local luatos = "../../"
  9. -- set warning all as error
  10. set_warnings("allextra")
  11. set_optimize("fastest")
  12. -- set language: c11
  13. set_languages("c11", "cxx11")
  14. add_defines("__LUATOS__", "__XMAKE_BUILD__", "WIN32")
  15. add_ldflags("-lwinmm","-luser32","-lncrypt","-lAdvapi32","-lGdi32")
  16. add_requires("libsdl")
  17. add_packages("libsdl")
  18. target("luatos")
  19. -- set kind
  20. set_kind("binary")
  21. set_targetdir("$(buildir)/out")
  22. -- add deps
  23. add_files("src/*.c",{public = true})
  24. add_files("port/*.c",{public = true})
  25. add_includedirs("include",{public = true})
  26. add_includedirs(luatos.."lua/include",{public = true})
  27. add_files(luatos.."lua/src/*.c")
  28. -- weak
  29. add_files(luatos.."/luat/weak/luat_malloc_weak.c",
  30. luatos.."/luat/weak/luat_mem_weak.c")
  31. -- printf
  32. add_includedirs(luatos.."components/printf",{public = true})
  33. add_files(luatos.."components/printf/*.c")
  34. add_includedirs(luatos.."luat/include",{public = true})
  35. -- add_files(luatos.."luat/modules/*.c")
  36. add_files(luatos.."luat/modules/crc.c"
  37. ,luatos.."luat/modules/luat_base.c"
  38. ,luatos.."luat/modules/luat_lib_fs.c"
  39. ,luatos.."luat/modules/luat_lib_rtos.c"
  40. ,luatos.."luat/modules/luat_lib_timer.c"
  41. ,luatos.."luat/modules/luat_lib_log.c"
  42. ,luatos.."luat/modules/luat_lib_zbuff.c"
  43. ,luatos.."luat/modules/luat_lib_pack.c"
  44. ,luatos.."luat/modules/luat_lib_crypto.c"
  45. ,luatos.."luat/modules/luat_lib_libcoap.c"
  46. ,luatos.."luat/modules/luat_lib_uart.c"
  47. ,luatos.."luat/modules/luat_lib_gpio.c"
  48. ,luatos.."luat/modules/luat_lib_i2c.c"
  49. ,luatos.."luat/modules/luat_lib_spi.c"
  50. ,luatos.."luat/modules/luat_irq.c"
  51. )
  52. add_files(luatos.."luat/vfs/*.c")
  53. -- lfs
  54. add_includedirs(luatos.."components/lfs")
  55. add_files(luatos.."components/lfs/*.c")
  56. add_files(luatos.."components/sfd/*.c")
  57. -- lua-cjson
  58. add_includedirs(luatos.."components/lua-cjson")
  59. add_files(luatos.."components/lua-cjson/*.c")
  60. -- miniz
  61. add_includedirs(luatos.."components/miniz")
  62. add_files(luatos.."components/miniz/*.c")
  63. -- add_includedirs(luatos.."components/common")
  64. -- add_files(luatos.."components/common/*.c")
  65. -- add_includedirs(luatos.."components/fatfs")
  66. -- add_files(luatos.."components/fatfs/*.c")
  67. -- sdl2
  68. add_includedirs(luatos.."components/ui/sdl2")
  69. add_files(luatos.."components/ui/sdl2/*.c")
  70. -- u8g2
  71. add_includedirs(luatos.."components/u8g2")
  72. add_files(luatos.."components/u8g2/*.c")
  73. -- lcd
  74. add_includedirs(luatos.."components/lcd")
  75. add_files(luatos.."components/lcd/*.c")
  76. -- lvgl
  77. add_includedirs(luatos.."components/lvgl")
  78. add_includedirs(luatos.."components/lvgl/binding")
  79. add_includedirs(luatos.."components/lvgl/gen")
  80. add_includedirs(luatos.."components/lvgl/src")
  81. add_includedirs(luatos.."components/lvgl/font")
  82. add_includedirs(luatos.."components/lvgl/src/lv_font")
  83. add_includedirs(luatos.."components/lvgl/sdl2")
  84. add_files(luatos.."components/lvgl/**.c")
  85. -- 默认不编译lv的demos, 节省大量的编译时间
  86. remove_files(luatos.."components/lvgl/lv_demos/**.c")
  87. -- -- eink
  88. -- add_includedirs(luatos.."components/eink")
  89. -- add_includedirs(luatos.."components/epaper")
  90. -- add_files(luatos.."components/eink/*.c")
  91. -- add_files(luatos.."components/epaper/*.c")
  92. -- tjpgd
  93. add_files(luatos.."components/tjpgd/*.c")
  94. add_includedirs(luatos.."components/tjpgd")
  95. -- cjson
  96. add_includedirs(luatos.."components/cjson")
  97. add_files(luatos.."components/cjson/*.c")
  98. -- mbedtls
  99. add_files(luatos.."components/mbedtls/library/*.c")
  100. add_includedirs(luatos.."components/mbedtls/include")
  101. -- iotauth
  102. add_includedirs(luatos.."components/iotauth")
  103. add_files(luatos.."components/iotauth/*.c")
  104. -- qrcode
  105. add_includedirs(luatos.."components/qrcode")
  106. add_files(luatos.."components/qrcode/*.c")
  107. -- crypto
  108. add_files(luatos.."components/crypto/**.c")
  109. -- protobuf
  110. add_includedirs(luatos.."components/serialization/protobuf")
  111. add_files(luatos.."components/serialization/protobuf/*.c")
  112. -- libgnss
  113. add_includedirs(luatos.."components/minmea")
  114. add_files(luatos.."components/minmea/*.c")
  115. -- rsa
  116. add_files(luatos.."components/rsa/**.c")
  117. target_end()