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