Makefile (1105B)
1 all: iso 2 3 iso: kernel limine 4 @echo "Copying kernel to isodir..." 5 cp -v ./kernel/bin/cowos ./isodir/boot/ 6 @echo "Creating ISO image..." 7 xorriso -as mkisofs -R -r -J -b boot/limine/limine-bios-cd.bin \ 8 -no-emul-boot -boot-load-size 4 -boot-info-table -hfsplus \ 9 -apm-block-size 2048 --efi-boot boot/limine/limine-uefi-cd.bin \ 10 -efi-boot-part --efi-boot-image --protective-msdos-label \ 11 isodir -o cowos.iso 12 @echo "Installing Limine BIOS..." 13 ./limine/limine bios-install cowos.iso 14 15 kernel: 16 @echo "Buliding kernel..." 17 make -C ./kernel/ 18 19 limine: kernel 20 @echo "Setting up Limine..." 21 ./scripts/limine-git.sh 22 23 clean: 24 @echo "Cleaning up..." 25 rm cowos.iso 26 make -C ./kernel/ clean 27 28 run: 29 @echo "Running cowos in QEMU..." 30 @if [ "$(DEBUG)" = "1" ]; then \ 31 echo "Debug mode: Starting QEMU with LLDB..."; \ 32 qemu-system-x86_64 -cdrom cowos.iso -m 512M -serial stdio -s -S & \ 33 echo "Launching LLDB..."; \ 34 lldb --arch x86_64 -o "gdb-remote localhost:1234" ./kernel/bin/cowos; \ 35 else \ 36 qemu-system-x86_64 -cdrom cowos.iso -m 512M -serial stdio; \ 37 fi 38 39 .PHONY: all iso kernel limine clean run