KERNEL_FILE := hos.gz MKISOFS := genisoimage ISO := hos.iso QEMU := qemu-system-x86_64 # default target: build the kernel and ISO image all: kernel iso # build the kernel .PHONY: kernel kernel: $(MAKE) -C $@ # build the ISO image .PHONY: iso iso: $(ISO) kernel $(ISO): kernel cp kernel/$(KERNEL_FILE) iso/boot -rm -f $(ISO) $(MKISOFS) -R -b boot/grub/stage2_eltorito -no-emul-boot \ -boot-load-size 4 -boot-info-table -o $(ISO) iso .PHONY: qemu qemu: iso $(QEMU) -cdrom $(ISO) -boot d -m 384 -localtime .PHONY: clean clean: $(MAKE) -C kernel clean -rm -f $(ISO) iso/boot/$(KERNEL_FILE)