This commit is contained in:
2026-06-13 13:27:39 -05:00
parent 00fb70c25b
commit 3ecbcdf369
13 changed files with 106 additions and 14 deletions

View File

@@ -4,10 +4,10 @@ LD = i686-elf-ld
OSNAME := rockos
C_SOURCES := $(shell find kernel -type f -name '*.c')
S_SOURCES := $(shell find kernel -type f -name '*.s')
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))
OBJECTS := $(patsubst %.c, obj/%.o, $(C_SOURCES)) $(patsubst %.S, obj/%.o, $(S_SOURCES))
CFLAGS := -ffreestanding -O2 -Wall -Wextra -Ikernel
LDFLAGS := -T kernel/linker.ld
@@ -25,12 +25,11 @@ $(OSNAME).iso: $(OSNAME).bin grub.cfg
cp grub.cfg isodir/boot/grub/grub.cfg
grub-mkrescue -o $(OSNAME).iso isodir
# FIX: Pattern rules now explicitly expect the 'kernel' directory layout
obj/kernel/%.o: kernel/%.c
@mkdir -p $(dir $@)
$(CC) -c $< -o $@ $(CFLAGS)
obj/kernel/%.o: kernel/%.s
obj/kernel/%.o: kernel/%.S
@mkdir -p $(dir $@)
$(CC) -c $< -o $@ $(CFLAGS)