aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/makefile
diff options
context:
space:
mode:
authorGravatar ornitorrincos 2026-08-18 12:15:05 +0200
committerGravatar ornitorrincos 2026-08-18 12:15:05 +0200
commit132d3236bb884433bf94e961f6d32264e0334aec (patch)
tree06638976b06f019ea4037175ff228f8271057c44 /kernel/makefile
Diffstat (limited to 'kernel/makefile')
-rw-r--r--kernel/makefile25
1 files changed, 25 insertions, 0 deletions
diff --git a/kernel/makefile b/kernel/makefile
new file mode 100644
index 0000000..387fc4d
--- /dev/null
+++ b/kernel/makefile
@@ -0,0 +1,25 @@
+CC = x86_64-elf-gcc
+
+.PHONY: all clean
+
+#CFLAGS = -ffreestanding -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -mno-sse2 -masm=intel
+CFLAGS = -ffreestanding -mcmodel=kernel -mno-red-zone -masm=intel
+
+all:
+ nasm loader.s -f elf64 -o loader.o
+ nasm segments.s -f elf64 -o segments.o
+ nasm interrupts/common.s -f elf64 -o interrupts/common.o
+ nasm interrupts/vectors.s -f elf64 -o interrupts/vectors.o
+ $(CC) $(CFLAGS) -c kernel.c -o kernel.o
+ $(CC) $(CFLAGS) -c kprintf.c -o kprintf.o
+ $(CC) $(CFLAGS) -c memops.c -o memops.o
+ $(CC) $(CFLAGS) -c gdt.c -o gdt.o
+ $(CC) $(CFLAGS) -c idt.c -o idt.o
+ $(CC) $(CFLAGS) -c interrupts/generic.c -o interrupts/generic.o
+ $(CC) $(CFLAGS) -c cpu_info.c -o cpu_info.o
+ $(CC) $(CFLAGS) -c acpi.c -o acpi.o
+ $(CC) -T linker.ld -o kernel.bin -ffreestanding -O0 -nostdlib kernel.o kprintf.o memops.o gdt.o loader.o segments.o idt.o interrupts/common.o interrupts/generic.o interrupts/vectors.o cpu_info.o acpi.o -lgcc
+
+clean:
+ rm *.o
+ rm kernel.bin