diff options
Diffstat (limited to 'src/sysbin/bam.lua')
-rw-r--r-- | src/sysbin/bam.lua | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/src/sysbin/bam.lua b/src/sysbin/bam.lua index 8628bf1..9e13a8a 100644 --- a/src/sysbin/bam.lua +++ b/src/sysbin/bam.lua @@ -1,23 +1,24 @@ -local function sysbin_settings(name) - local s = TableDeepCopy(user_settings) - s.link.flags:Add("-T src/lib/linker.ld", - "-Xlinker -Map=build/sysbin/" .. name .. ".map") - return s -end +return function(s, lib) + local function sysbin_settings(name) + local s = TableDeepCopy(s.user_settings) + s.link.flags:Add("-T src/lib/linker.ld") + return s + end -local function sysbin_exe(name, deps) - local s = sysbin_settings(name) + local function sysbin_exe(name, deps) + local s = sysbin_settings(name) - local src = Collect('src/sysbin/' .. name .. '/*.c') - local obj = Compile(s, src) + local src = Collect('src/sysbin/' .. name .. '/*.c') + local obj = Compile(s, src) - return Link(s, 'sysbin/' .. name .. ".bin", {obj, deps}) -end + return Link(s, 'sysbin/' .. name .. ".bin", {obj, deps}) + end -sysbin = { - sysbin_exe('init', {libkogata}), - sysbin_exe('giosrv', {libkogata}), - sysbin_exe('login', {libkogata}), - sysbin_exe('terminal', {libkogata}), - sysbin_exe('shell', {libkogata}), -} + return { + sysbin_exe('init', {lib.libkogata}), + sysbin_exe('giosrv', {lib.libkogata}), + sysbin_exe('login', {lib.libkogata}), + sysbin_exe('terminal', {lib.libkogata}), + sysbin_exe('shell', {lib.libkogata}), + } +end |