.PHONY: all clean prepare cleanall iso base all: make -C kernel all prepare: if [ ! -d limine ]; then \ mkdir limine; \ cd limine; \ git init; \ git remote add origin https://github.com/limine-bootloader/limine.git; \ git fetch origin 9246bb78f446962aae5b0a291db4be32f9866ba6; \ git reset --hard FETCH_HEAD; \ make; \ fi cleanall: make clean rm -rf limine rm -rf littlefs-fuse clean: make -C kernel clean rm -f mop2.iso base.img base: @rm -f base.img @rm -rf base_root @mkdir -p base_root mklittlefs -c base_root -b 4096 -s $$((1<<20)) base.img iso: @rm -rf iso_root @mkdir -p iso_root/boot @cp -v kernel/mop2 iso_root/boot @cp -v base.img iso_root @mkdir -p iso_root/boot/limine @cp -v limine.conf limine/limine-bios.sys limine/limine-bios-cd.bin \ limine/limine-uefi-cd.bin iso_root/boot/limine @mkdir -p iso_root/EFI/BOOT @cp -v limine/BOOTX64.EFI iso_root/EFI/BOOT @cp -v limine/BOOTIA32.EFI iso_root/EFI/BOOT @xorriso -as mkisofs -R -r -J -b boot/limine/limine-bios-cd.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table -hfsplus \ -apm-block-size 2048 --efi-boot boot/limine/limine-uefi-cd.bin \ -efi-boot-part --efi-boot-image --protective-msdos-label \ iso_root -o mop2.iso @./limine/limine bios-install mop2.iso