gdt working

This commit is contained in:
2026-01-29 08:04:16 +11:00
parent 68df6c7ebb
commit 7d869a3cb4
11 changed files with 79 additions and 13 deletions

View File

@@ -1,23 +1,14 @@
OSNAME = CustomOS
GNUEFI = ../gnu-efi
OVMFDIR = ../OVMFbin
LDS = kernel.ld
CC = gcc
ASMC = nasm
LD = ld
CFLAGS = -ffreestanding -fshort-wchar
LDFLAGS = -T $(LDS) -static -Bsymbolic -nostdlib
OSNAME = CustomOS
GNUEFI = ../gnu-efi
OVMFDIR = ../OVMFbin
LDS = kernel.ld
CC = gcc
LD = ld
CFLAGS = -ffreestanding -fshort-wchar
ASMFLAGS =
LDFLAGS = -T $(LDS) -static -Bsymbolic -nostdlib
SRCDIR := src
@@ -27,8 +18,10 @@ BOOTEFI := $(GNUEFI)/x86_64/bootloader/main.efi
rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d))
SRC = $(call rwildcard,$(SRCDIR),*.cpp)
SRC = $(call rwildcard,$(SRCDIR),*.cpp)
ASMSRC = $(call rwildcard,$(SRCDIR),*.asm)
OBJS = $(patsubst $(SRCDIR)/%.cpp, $(OBJDIR)/%.o, $(SRC))
OBJS += $(patsubst $(SRCDIR)/%.asm, $(OBJDIR)/%_asm.o, $(ASMSRC))
DIRS = $(wildcard $(SRCDIR)/*)
kernel: $(OBJS) link
@@ -38,9 +31,13 @@ $(OBJDIR)/%.o: $(SRCDIR)/%.cpp
@ mkdir -p $(@D)
$(CC) $(CFLAGS) -c $^ -o $@
$(OBJDIR)/%_asm.o: $(SRCDIR)/%.asm
@ echo !==== ASSEMBLING $^
@ mkdir -p $(@D)
$(ASMC) $(ASMFLAGS) $^ -f elf64 -o $@
link:
@ echo !==== LINKING
@echo $(OBJS)
$(LD) $(LDFLAGS) -o $(BUILDDIR)/kernel.elf $(OBJS)
setup: