build: rm -f *.o x86_64-elf-gcc -g -c -I src src/idt/idt.c src/mem/utils.c src/mem/gdt.c src/io/serial.c src/io/term.c src/io/printf.c src/kmain.c -Wall -Wextra -std=gnu99 -nostdlib -ffreestanding -fno-stack-protector -fno-stack-check -fno-PIC -ffunction-sections -fdata-sections -mcmodel=kernel objcopy -O elf64-x86-64 -B i386 -I binary zap-light16.psf zap-light16.o nasm -f elf64 src/idt/idt.S -o idt_stub.o x86_64-elf-ld -o pepperk -T linker.ld *.o limine/limine: rm -rf limine git clone https://github.com/limine-bootloader/limine.git --branch=v9.x-binary --depth=1 $(MAKE) -C limine build-iso: limine/limine build rm -rf iso_root mkdir -p iso_root/boot cp -v pepperk iso_root/boot mkdir -p iso_root/boot/limine cp -v limine.conf iso_root/boot/limine mkdir -p iso_root/EFI/BOOT cp -v limine/limine-bios.sys limine/limine-bios-cd.bin limine/limine-uefi-cd.bin iso_root/boot/limine/ 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 pepper.iso ./limine/limine bios-install pepper.iso debug: qemu-system-x86_64 -drive file=pepper.iso -s -S -d int -no-reboot & gdb pepperk --command=debug.gdb run: build-iso qemu-system-x86_64 -cdrom pepper.iso -serial stdio clean: rm -rf *.o pepperk iso_root pepper.iso limine