OC-PsychOS/modules/applications/genkernel.lua

39 lines
876 B
Lua

function genkernel(modlistf,kname)
local nk,f = "",io.open(modlistf,"rb")
nk=nk.."_OSVERSION=\"PsychOS "..(kname or "unknown").."\"\n"
nk=nk.."_BD=\""..os.date("%Y/%m/%d %H:%M %z").."\"\n"
local c=f:read("*a")
f:close()
local n=1
local function apfile(fp)
local f=io.open(fp,"rb")
if f then
nk=nk..f:read("*a")
f:close()
end
end
for line in c:gmatch("[^\r\n]+") do
local tw = {}
for w in line:gmatch("%S+") do
tw[#tw+1] = w
end
n=n+1
if tw[1] == "fwrap" then
nk=nk.."function "..tw[2].."(...)\n"
apfile(tw[3])
nk=nk.."\nend\n"
elseif tw[1] == "libwrap" then
nk=nk.."function "..tw[2].."(...)\n"
apfile(tw[3])
nk=nk.."\nend\n_G."..tw[2].." = "..tw[2].."()\n"
elseif tw[1] == "alias" then
nk=nk..tw[2].."="..tw[3].."\n"
elseif tw[1] == "include" then
apfile(tw[2])
else
apfile(line)
end
end
return nk
end