-kernel/kernel.bin: kernel/entry.o kernel/kernel.o
- $(LD) -o $@ -Ttext 0x1000 kernel/entry.o kernel/kernel.o --oformat=binary
+default: kernel/kernel.elf
+
+all: default boot/x86/disk.img
+
+run: boot/x86/disk.img
+ $(QEMU) boot/x86/disk.img
+
+boot/x86/disk.img: boot/x86/mbr.s boot/x86/vbr-fat32.s boot/x86/loader.s boot/x86/disk.dump boot/x86/fat32.s boot/x86/fat32-structs.s
+ cd boot/x86 && $(MAKE) all
+
+kernel/kernel.bin: ${KERNEL_OBJ}
+ $(LD) -o $@ -T kernel/linker.ld ${KERNEL_OBJ}