CC = i386-elf-gcc -ffreestanding -m32 .build/nub-os.iso: .build/kernel.bin mkdir -p .build/iso/boot/grub cp grub.cfg .build/iso/boot/grub cp .build/kernel.bin .build/iso/boot/ grub-mkrescue -o .build/nub-os.iso .build/iso/ .build/kernel.bin: .build/entry.o .build/kernel.o .build/mem.o .build/print.o i386-elf-ld -Ttext 0x100000 -o .build/kernel.bin .build/entry.o .build/kernel.o .build/mem.o .build/print.o .build/kernel.o: src/kernel.c $(CC) -c -o .build/kernel.o src/kernel.c .build/mem.o: src/mem.c $(CC) -c -o .build/mem.o src/mem.c .build/print.o: src/print.c $(CC) -c -o .build/print.o src/print.c .build/entry.o: src/entry.asm nasm -f elf -o .build/entry.o src/entry.asm run: .build/nub-os.iso qemu-system-x86_64 -cdrom .build/nub-os.iso clean: @rm -r .build/* 2>/dev/null || true