aboutsummaryrefslogtreecommitdiff
path: root/src/sysbin/bam.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/sysbin/bam.lua')
-rw-r--r--src/sysbin/bam.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/sysbin/bam.lua b/src/sysbin/bam.lua
new file mode 100644
index 0000000..819bc43
--- /dev/null
+++ b/src/sysbin/bam.lua
@@ -0,0 +1,23 @@
+local function sysbin_settings(name)
+ local s = TableDeepCopy(user_settings)
+ s.link.flags:Add("-T src/sysbin/linker.ld",
+ "-Xlinker -Map=build/" .. name .. ".map")
+ return s
+end
+
+local function sysbin_exe(name)
+ local s = sysbin_settings(name)
+
+ local src = Collect('src/sysbin/' .. name .. '/*.c')
+ local obj = Compile(s, src)
+
+ return Link(s, name .. ".bin", {obj, libkogata})
+end
+
+sysbin = {
+ sysbin_exe('init'),
+ sysbin_exe('giosrv'),
+ sysbin_exe('login'),
+ sysbin_exe('terminal'),
+ sysbin_exe('shell'),
+}