diff options
author | Alex Auvolat <alex@adnab.me> | 2016-07-13 22:31:46 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2016-07-13 22:31:46 +0200 |
commit | 360da84db0d7165c84d160b518f39cd16006c758 (patch) | |
tree | a6fea5da753ec4ac5a37237cefda52801f9647ac /src/kernel | |
parent | 27a6934ea3073c3eaf782cc7615ce4ed0dbf4a18 (diff) | |
download | kogata-360da84db0d7165c84d160b518f39cd16006c758.tar.gz kogata-360da84db0d7165c84d160b518f39cd16006c758.zip |
Migrate to BAM build tool
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/Makefile | 23 | ||||
-rw-r--r-- | src/kernel/bam.lua | 20 |
2 files changed, 20 insertions, 23 deletions
diff --git a/src/kernel/Makefile b/src/kernel/Makefile deleted file mode 100644 index 1082b29..0000000 --- a/src/kernel/Makefile +++ /dev/null @@ -1,23 +0,0 @@ - -OBJ = core/loader.o core/dbglog.o \ - core/gdt.o core/idt.o core/interrupt.o core/context_switch.o core/thread.o \ - core/frame.o core/paging.o core/freemem.o core/region.o core/kmalloc.o \ - core/worker.o core/prng.o \ - user/vfs.o user/nullfs.o user/process.o user/elf.o user/syscall.o user/ipc.o user/pager.o \ - dev/pci.o dev/pciide.o dev/v86.o dev/v86asm.o dev/vesa.o dev/pckbd.o \ - fs/iso9660.o - -LIB = ../common/libc/libc.lib ../common/libkogata/libkogata.lib ../common/libalgo/libalgo.lib - -CFLAGS = -I ./include -I ../common/include -DPRNG_INIT_ENTROPY=1$(shell date +%N) - -LDFLAGS = -T linker.ld -Xlinker -Map=kernel.map - -OUT = kernel.lib - -include ../rules.make - -kernel.bin: kernel.lib core/kmain.o core/sys.o - $(LD) $(LDFLAGS) -o $@ $^ - -all: $(OUT) kernel.bin diff --git a/src/kernel/bam.lua b/src/kernel/bam.lua new file mode 100644 index 0000000..1588315 --- /dev/null +++ b/src/kernel/bam.lua @@ -0,0 +1,20 @@ +local kernel_settings = TableDeepCopy(common_settings) + +kernel_settings.cc.includes:Add("src/kernel/include") + +kernel_settings.link.flags:Add("-T src/kernel/linker.ld", + "-Xlinker -Map=build/kernel.map") + +kernel_source = { + Collect('src/kernel/core/*.s'), + Collect('src/kernel/dev/*.s'), + Collect('src/kernel/core/*.c'), + Collect('src/kernel/dev/*.c'), + Collect('src/kernel/fs/*.c'), + Collect('src/kernel/user/*.c'), +} +kernel_obj = Compile(kernel_settings, kernel_source) + +kernel = Link(kernel_settings, "kernel", {kernel_obj, common_libkogata, + common_libc, common_libalgo}) + |