LDFLAGS ?= -O2
LDFLAGS := $(LDFLAGS) -Wall -Wextra -Werror -std=c++20 -ffreestanding
-TO_ISO :=
-TO_CLEAN :=
+TO_ISO := isodir/boot/grub/grub.cfg
+TO_CLEAN := isodir amycros.iso
include **/module.mk
qemu: build
qemu-system-x86_64 -cdrom amycros.iso -serial stdio -cpu qemu64,pdpe1gb -no-reboot $(QEMUFLAGS)
clean:
- -rm -rf $(TO_CLEAN) isodir amycros.iso
+ -rm -rf $(TO_CLEAN)
-amycros.iso: $(TO_ISO) grub.cfg
- mkdir -p isodir/boot/grub
- install -m 644 grub.cfg isodir/boot/grub/grub.cfg
+amycros.iso: $(TO_ISO)
grub-mkrescue -o "$@" isodir
+
+isodir/boot/grub/grub.cfg: grub.cfg
+ mkdir -p "$(@D)"
+ install -m 644 "$<" "$@"