all: kernel.elf kernel.elf: kernel.o entry.o ld -Tlinker.ld -melf_i386 entry.o kernel.o -o kernel.elf kernel.o: kernel.c gcc -std=gnu99 -m32 -fno-builtin -ffreestanding -nostdlib -Wall -Wextra -c kernel.c # entry.o: entry.S # as -32 $< -o entry.o entry.o: entry.asm nasm -f elf32 $< clean: rm -f *.o kernel.elf