local TSUKI_RELEASE = "0.0.1" local tz = os.date("%z") tz = tz:sub(1, 3)..":"..tz:sub(4) local TSUKI_VERSION = "Lua 5.3 "..os.date("%Y-%m-%dT%H:%M:%S")..tz local TSUKI_TARGET = os.getenv("TSUKI_TARGET") or "OC" function actions.kernel(dbg) os.execute("mkdir -p build/kernel") print("Compiling kernel...") local h = io.open("build/kernel/tkrnl.velx", "wb") h:write(velx_multistep("ksrc/init.lua", ".doc", { TSUKI_RELEASE = TSUKI_RELEASE, TSUKI_VERSION = TSUKI_VERSION, TSUKI_TARGET = TSUKI_TARGET, PRINT_DMESG_LEVEL = ((dbg and 0) or 1) }, { precomp = function() print("Compiling kernel...") end, postcomp = function(krnl) os.execute("mkdir .doc") local h = io.open("build/kernel/debug.lua", "w") h:write(krnl) h:close() print("Generating docs and stripping comments...") h = io.popen("lua utils/gendocs.lua .doc 2>.ktmp", "w") h:write(krnl) h:close() h = io.open(".ktmp", "rb") local data = h:read("*a") h:close() os.execute("rm -rf .ktmp") return data end, prearc = function() print("Storing docs...") end, postarc = function() os.execute("rm -rf .doc") end, prez = function() print("Compressing kernel...") end, postz = function() print("Writing kernel out...") end })) end actions[#actions+1] = "kernel"