all: kernel.elf OBJS=entry.o stdlib.o tty.o io_ports.o HEADERS=stdlib.h tty.h io_ports.h .SUFFIXES: .asm .c.o : gcc -std=gnu99 -m32 -fno-builtin -ffreestanding -nostdlib -Wall -Wextra -c $< -o $@ .S.o : as -32 $< -o $@ .asm.o : nasm -felf32 $< -o $@ kernel.elf: kernel.o $(OBJS) $(HEADERS) ld -Tlinker.ld -melf_i386 $(OBJS) kernel.o -o kernel.elf entry.o: entry.asm stdlib.o: stdlib.c stdlib.h tty.o: tty.c tty.h clean: rm -f kernel.elf *.o