gdt idt stuff

This commit is contained in:
2026-06-12 23:03:00 -04:00
parent 5e823e570b
commit 00fb70c25b
7 changed files with 67 additions and 19 deletions

View File

@@ -6,6 +6,7 @@ OSNAME := rockos
C_SOURCES := $(shell find kernel -type f -name '*.c')
S_SOURCES := $(shell find kernel -type f -name '*.s')
# This correctly generates paths like obj/kernel/main.o
OBJECTS := $(patsubst %.c, obj/%.o, $(C_SOURCES)) $(patsubst %.s, obj/%.o, $(S_SOURCES))
CFLAGS := -ffreestanding -O2 -Wall -Wextra -Ikernel
@@ -13,6 +14,8 @@ LDFLAGS := -T kernel/linker.ld
.PHONY: all run clean
all: $(OSNAME).iso
$(OSNAME).bin: $(OBJECTS)
$(LD) $(LDFLAGS) -o $@ $(OBJECTS)
@@ -22,11 +25,12 @@ $(OSNAME).iso: $(OSNAME).bin grub.cfg
cp grub.cfg isodir/boot/grub/grub.cfg
grub-mkrescue -o $(OSNAME).iso isodir
obj/%.o: %.c
# FIX: Pattern rules now explicitly expect the 'kernel' directory layout
obj/kernel/%.o: kernel/%.c
@mkdir -p $(dir $@)
$(CC) -c $< -o $@ $(CFLAGS)
obj/%.o: %.s
obj/kernel/%.o: kernel/%.s
@mkdir -p $(dir $@)
$(CC) -c $< -o $@ $(CFLAGS)