xmake.lua 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. set_project("AIR101")
  2. set_xmakever("2.5.8")
  3. set_version("0.0.2", {build = "%Y%m%d%H%M"})
  4. add_rules("mode.debug", "mode.release")
  5. local sdkdir = "../"
  6. local sdk_dir = "D:\\csky-elfabiv2-tools-mingw-minilibc\\"
  7. if is_plat("linux") then
  8. sdk_dir = "/opt/csky-elfabiv2-tools/"
  9. elseif is_plat("windows") then
  10. sdk_dir = "E:\\csky-elfabiv2-tools-mingw-minilibc\\"
  11. end
  12. toolchain("csky_toolchain")
  13. set_kind("standalone")
  14. set_sdkdir(sdk_dir)
  15. toolchain_end()
  16. set_toolchains("csky_toolchain")
  17. --add macro defination
  18. add_defines("GCC_COMPILE=1","TLS_CONFIG_CPU_XT804=1","NIMBLE_FTR=1","__LUATOS__")
  19. -- set warning all as error
  20. set_warnings("all")
  21. set_optimize("smallest")
  22. -- set language: c99
  23. set_languages("c99", "cxx11")
  24. add_asflags("-DTLS_CONFIG_CPU_XT804=1 -DGCC_COMPILE=1 -mcpu=ck804ef -std=gnu99 -c -mhard-float -Wa,--gdwarf2 -fdata-sections -ffunction-sections")
  25. add_cflags("-DTLS_CONFIG_CPU_XT804=1 -DGCC_COMPILE=1 -mcpu=ck804ef -std=gnu99 -c -mhard-float -Wall -fdata-sections -ffunction-sections")
  26. add_cxflags("-DTLS_CONFIG_CPU_XT804=1 -DGCC_COMPILE=1 -mcpu=ck804ef -std=gnu99 -c -mhard-float -Wall -fdata-sections -ffunction-sections")
  27. set_dependir("$(buildir)/.deps")
  28. set_objectdir("$(buildir)/.objs")
  29. set_targetdir("$(projectdir)")
  30. target("app")
  31. set_kind("static")
  32. set_plat("cross")
  33. set_arch("c-sky")
  34. add_files(sdkdir.."src/app/**.c")
  35. del_files(sdkdir.."src/app/btapp/**.c")
  36. add_includedirs(os.dirs(path.join(os.scriptdir(),sdkdir.."src/app/**")))
  37. add_includedirs(os.dirs(path.join(os.scriptdir(),sdkdir.."src/bt/blehost/**")))
  38. add_includedirs(sdkdir.."include",{public = true})
  39. add_includedirs(sdkdir.."include/app",{public = true})
  40. add_includedirs(sdkdir.."include/driver",{public = true})
  41. add_includedirs(sdkdir.."include/os",{public = true})
  42. add_includedirs(sdkdir.."include/bt",{public = true})
  43. add_includedirs(sdkdir.."include/platform",{public = true})
  44. add_includedirs(sdkdir.."platform/common/params",{public = true})
  45. add_includedirs(sdkdir.."include/wifi",{public = true})
  46. add_includedirs(sdkdir.."include/arch/xt804",{public = true})
  47. add_includedirs(sdkdir.."include/arch/xt804/csi_core",{public = true})
  48. add_includedirs(sdkdir.."include/net",{public = true})
  49. add_includedirs(sdkdir.."demo",{public = true})
  50. add_includedirs(sdkdir.."platform/inc",{public = true})
  51. target_end()
  52. target("wmcommon")
  53. set_kind("static")
  54. set_plat("cross")
  55. set_arch("c-sky")
  56. add_files(sdkdir.."platform/common/**.c")
  57. add_includedirs(sdkdir.."platform/common/params",{public = true})
  58. add_includedirs(sdkdir.."platform/inc",{public = true})
  59. add_includedirs(sdkdir.."src/app/mbedtls/include",{public = true})
  60. add_includedirs(sdkdir.."include",{public = true})
  61. add_includedirs(sdkdir.."include/platform",{public = true})
  62. add_includedirs(sdkdir.."include/driver",{public = true})
  63. add_includedirs(sdkdir.."include/os",{public = true})
  64. add_includedirs(sdkdir.."include/arch/xt804",{public = true})
  65. add_includedirs(sdkdir.."include/arch/xt804/csi_core",{public = true})
  66. add_includedirs(sdkdir.."src/os/rtos/include",{public = true})
  67. add_includedirs(sdkdir.."include/wifi",{public = true})
  68. target_end()
  69. target("wmarch")
  70. set_kind("static")
  71. set_plat("cross")
  72. set_arch("c-sky")
  73. add_files(sdkdir.."platform/arch/**.c")
  74. add_files(sdkdir.."platform/arch/**.S")
  75. add_includedirs(sdkdir.."include",{public = true})
  76. add_includedirs(sdkdir.."include/driver",{public = true})
  77. add_includedirs(sdkdir.."include/os",{public = true})
  78. add_includedirs(sdkdir.."include/arch/xt804",{public = true})
  79. add_includedirs(sdkdir.."include/arch/xt804/csi_core",{public = true})
  80. after_load(function (target)
  81. for _, sourcebatch in pairs(target:sourcebatches()) do
  82. if sourcebatch.sourcekind == "as" then -- only asm files
  83. for idx, objectfile in ipairs(sourcebatch.objectfiles) do
  84. sourcebatch.objectfiles[idx] = objectfile:gsub("%.S%.o", ".o")
  85. end
  86. end
  87. end
  88. end)
  89. target_end()
  90. target("blehost")
  91. set_kind("static")
  92. set_plat("cross")
  93. set_arch("c-sky")
  94. add_files(sdkdir.."src/bt/blehost/**.c")
  95. add_includedirs(os.dirs(path.join(os.scriptdir(),sdkdir.."src/bt/blehost/**")))
  96. add_includedirs(sdkdir.."src/app/bleapp",{public = true})
  97. add_includedirs(sdkdir.."src/os/rtos/include",{public = true})
  98. add_includedirs(sdkdir.."include",{public = true})
  99. add_includedirs(sdkdir.."include/bt",{public = true})
  100. add_includedirs(sdkdir.."include/platform",{public = true})
  101. add_includedirs(sdkdir.."include/os",{public = true})
  102. add_includedirs(sdkdir.."include/arch/xt804",{public = true})
  103. add_includedirs(sdkdir.."include/arch/xt804/csi_core",{public = true})
  104. target_end()
  105. target("os")
  106. set_kind("static")
  107. set_plat("cross")
  108. set_arch("c-sky")
  109. add_files(sdkdir.."src/os/**.c")
  110. add_files(sdkdir.."src/os/**.S")
  111. add_includedirs(sdkdir.."src/os/rtos/include",{public = true})
  112. add_includedirs(sdkdir.."include",{public = true})
  113. add_includedirs(sdkdir.."include/platform",{public = true})
  114. add_includedirs(sdkdir.."include/os",{public = true})
  115. add_includedirs(sdkdir.."include/arch/xt804",{public = true})
  116. add_includedirs(sdkdir.."include/arch/xt804/csi_core",{public = true})
  117. target_end()
  118. target("drivers")
  119. set_kind("static")
  120. set_plat("cross")
  121. set_arch("c-sky")
  122. add_files(sdkdir.."platform/drivers/**.c")
  123. add_includedirs(sdkdir.."platform/inc",{public = true})
  124. add_includedirs(sdkdir.."include",{public = true})
  125. add_includedirs(sdkdir.."include/app",{public = true})
  126. add_includedirs(sdkdir.."include/platform",{public = true})
  127. add_includedirs(sdkdir.."include/driver",{public = true})
  128. add_includedirs(sdkdir.."include/os",{public = true})
  129. add_includedirs(sdkdir.."include/arch/xt804",{public = true})
  130. add_includedirs(sdkdir.."include/arch/xt804/csi_core",{public = true})
  131. add_includedirs(sdkdir.."include/net",{public = true})
  132. add_includedirs(sdkdir.."include/wifi",{public = true})
  133. add_includedirs(sdkdir.."demo",{public = true})
  134. target_end()
  135. target("wmsys")
  136. set_kind("static")
  137. set_plat("cross")
  138. set_arch("c-sky")
  139. add_files(sdkdir.."platform/sys/*.c")
  140. add_includedirs(sdkdir.."platform/arch",{public = true})
  141. add_includedirs(sdkdir.."include",{public = true})
  142. add_includedirs(sdkdir.."include/driver",{public = true})
  143. add_includedirs(sdkdir.."include/os",{public = true})
  144. add_includedirs(sdkdir.."include/platform",{public = true})
  145. add_includedirs(sdkdir.."include/wifi",{public = true})
  146. add_includedirs(sdkdir.."include/arch/xt804",{public = true})
  147. add_includedirs(sdkdir.."include/arch/xt804/csi_core",{public = true})
  148. add_includedirs(sdkdir.."include/app",{public = true})
  149. add_includedirs(sdkdir.."include/net",{public = true})
  150. add_includedirs(sdkdir.."demo",{public = true})
  151. add_includedirs(sdkdir.."platform/inc",{public = true})
  152. target_end()