λ

furix

cute os

settings

boot/x86_64/Makefile

605 bytes raw

ifndef KERNEL_ELF
$(error KERNEL_ELF undefined)
endif

ifndef BUILD_BOOT
$(error BUILD_BOOT undefined)
endif

QEMU := qemu-system-x86_64
QEMUFLAGS := -m 64M -no-reboot -no-shutdown -d int

GRUB_CFG := boot/x86_64/grub.cfg

TARGET_ISO := $(BUILD_BOOT)/image.iso
TARGET_DIR := $(BUILD_BOOT)/isodir

.PHONY: qemu
qemu: clean $(TARGET_ISO)
	$(QEMU) $(QEMUFLAGS) -cdrom $(TARGET_ISO)

$(TARGET_ISO): $(KERNEL_ELF)
	@mkdir -p $(TARGET_DIR)/boot/grub/

	@cp $(GRUB_CFG) $(TARGET_DIR)/boot/grub/grub.cfg
	@cp $(KERNEL_ELF) $(TARGET_DIR)/boot/kernel.elf

	grub-mkrescue -o $(TARGET_ISO) $(TARGET_DIR) 2> /dev/null