1
0
mirror of https://github.com/Adorable-Catgirl/Zorya-NEO.git synced 2024-11-14 22:38:07 +11:00
Zorya-NEO/release.lua

40 lines
1.4 KiB
Lua
Raw Normal View History

2020-01-09 15:01:35 +11:00
--Makes a release CPIO
2020-01-15 12:07:27 +11:00
local start = os.time()
function status(s)
io.stderr:write(s.."\n")
end
status("Cleaning last build...")
2020-01-09 15:01:35 +11:00
os.execute("rm -rf pkg")
2020-01-15 12:07:27 +11:00
status("Making directories...")
2020-01-09 15:01:35 +11:00
os.execute("mkdir -p pkg/mods")
os.execute("mkdir -p pkg/lib")
os.execute("mkdir -p pkg/bios")
2020-01-15 12:07:27 +11:00
status("Building EEPROM...")
2020-01-09 15:01:35 +11:00
os.execute("luacomp src/loader.lua -O pkg/bios/managed.bios")
2020-01-15 12:07:27 +11:00
if (os.execute("[[ $(stat --printf=%s pkg/bios/managed.bios) > 4096 ]]")) then
io.stderr:write("WARNING: BIOS is over 4KiB!\n")
end
status("\n\nBuilding modules.")
2020-01-09 15:01:35 +11:00
if (os.execute("stat mods 1>/dev/null 2>&1")) then
for l in io.popen("ls mods"):lines() do
2020-01-15 12:07:27 +11:00
status("MOD\t"..l)
os.execute("zsh -c 'cd mods/"..l.."; luacomp init.lua -mnone | lua ../../utils/zlua.lua > ../../pkg/mods/"..l..".zy2m'")
2020-01-09 15:01:35 +11:00
end
end
2020-01-15 12:07:27 +11:00
status("Module build complete.\n\nBuilding libraries.")
2020-01-09 15:01:35 +11:00
if (os.execute("stat lib 1>/dev/null 2>&1")) then
for l in io.popen("ls lib"):lines() do
2020-01-15 12:07:27 +11:00
status("LIB\t"..l)
os.execute("zsh -c 'cd lib/"..l.."; luacomp init.lua -mnone | lua ../../utils/zlua.lua > ../../pkg/lib/"..l..".zy2l'")
2020-01-09 15:01:35 +11:00
end
end
2020-01-15 12:07:27 +11:00
status("Library build complete.\n\nBuilding installer...")
2020-01-09 15:01:35 +11:00
os.execute("cp utils/ser.lua pkg/init.lua")
os.execute("cp -r installer_dat pkg")
2020-01-15 12:07:27 +11:00
status("Packing installer...")
os.execute("cd pkg; find * -depth | cpio -o | lua ../utils/mkselfextract.lua > ../zorya-neo-installer.lua")
status("Build complete.")
status(string.format("Took %ds.", os.time()-start))