39 lines
876 B
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
|