add_rules("mode.debug", "mode.release") local cflags = { "-fno-builtin" } local ldflags = { "-nostdlib" } local includedirs = { "include" } target("slibc") set_kind("static") add_files("src/*.c") add_includedirs(includedirs) add_cflags(cflags) local plat_name if is_plat("linux") and is_arch("arm64") then plat_name = "linux-arm64" elseif is_plat("linux") and is_arch("amd64") then plat_name = "linux-amd64" end if plat_name ~= nil then local plat_path = "src/platforms/" .. plat_name .. "/" add_files(plat_path .. "**.s") end for _, dir in ipairs(os.dirs("examples/*")) do target(path.basename(dir)) set_kind("binary") add_files(dir .. "/*.c") add_includedirs(includedirs) add_cflags(cflags) add_ldflags(ldflags) add_deps("slibc") end