mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 00:14:32 -08:00
[build] Move to python build scripts per module
This change moves Bonnibel from a separate project into the jsix tree, and alters the project configuration to be jsix-specific. (I stopped using bonnibel for any other projects, so it's far easier to make it a custom generator for jsix.) The build system now also uses actual python code in `*.module` files to configure modules instead of TOML files. Target configs (boot, kernel-mode, user-mode) now moved to separate TOML files under `configs/` and can inherit from one another.
This commit is contained in:
59
src/kernel/kernel.module
Normal file
59
src/kernel/kernel.module
Normal file
@@ -0,0 +1,59 @@
|
||||
# vim: ft=python
|
||||
|
||||
kernel = module("kernel",
|
||||
kind = "exe",
|
||||
default = True,
|
||||
output = "jsix.elf",
|
||||
targets = [ "kernel" ],
|
||||
deps = [ "kutil", "cpu" ],
|
||||
includes = [ "." ],
|
||||
sources = [
|
||||
"apic.cpp",
|
||||
"ap_startup.s",
|
||||
"boot.s",
|
||||
"clock.cpp",
|
||||
"console.cpp",
|
||||
"cpprt.cpp",
|
||||
"cpu.cpp",
|
||||
"debug.cpp",
|
||||
"debug.s",
|
||||
"device_manager.cpp",
|
||||
"frame_allocator.cpp",
|
||||
"gdt.cpp",
|
||||
"gdtidt.s",
|
||||
"hpet.cpp",
|
||||
"idt.cpp",
|
||||
"interrupts.cpp",
|
||||
"interrupts.s",
|
||||
"io.cpp",
|
||||
"log.cpp",
|
||||
"main.cpp",
|
||||
"memory_bootstrap.cpp",
|
||||
"msr.cpp",
|
||||
"objects/channel.cpp",
|
||||
"objects/endpoint.cpp",
|
||||
"objects/kobject.cpp",
|
||||
"objects/thread.cpp",
|
||||
"objects/process.cpp",
|
||||
"objects/system.cpp",
|
||||
"objects/vm_area.cpp",
|
||||
"page_table.cpp",
|
||||
"page_tree.cpp",
|
||||
"pci.cpp",
|
||||
"scheduler.cpp",
|
||||
"serial.cpp",
|
||||
"syscall.cpp",
|
||||
"syscall.s",
|
||||
"syscalls/channel.cpp",
|
||||
"syscalls/endpoint.cpp",
|
||||
"syscalls/object.cpp",
|
||||
"syscalls/process.cpp",
|
||||
"syscalls/system.cpp",
|
||||
"syscalls/thread.cpp",
|
||||
"syscalls/vm_area.cpp",
|
||||
"task.s",
|
||||
"tss.cpp",
|
||||
"vm_space.cpp",
|
||||
])
|
||||
|
||||
kernel.variables['ldflags'] = ["${ldflags}", "-T", "${source_root}/src/kernel/kernel.ld"]
|
||||
Reference in New Issue
Block a user