Working i386 paging and liballoc

This commit is contained in:
2025-12-07 00:53:33 +01:00
commit de5350010b
75 changed files with 6716 additions and 0 deletions

45
build/make.config Normal file
View File

@@ -0,0 +1,45 @@
cc := clang
make := make
objcopy := llvm-objcopy
platform ?= i386_pc
build ?= release
ifeq ($(platform),i386_pc)
clang_res_dir := $(shell $(cc) -print-resource-dir)
kernel_cflags := --target=i386-none-elf \
-nostdinc \
-nostdlib \
-ffreestanding \
-fno-builtin \
-std=c11 \
-pedantic \
-Wall \
-Wextra
ifeq ($(build),debug)
kernel_cflags += -O0 -g
endif
ifeq ($(build),release)
kernel_cflags += -Oz
endif
kernel_ldflags := -mcpu=i386 \
--target=i386-none-elf \
-nostdlib \
-ffreestanding \
-fno-builtin \
-fuse-ld=lld \
-flto \
-static \
-Wl,--build-id=none \
$(clang_res_dir)/lib/*/libclang_rt.builtins-i386.a
ifeq ($(build),debug)
kernel_ldflags += -g
endif
endif