all: kernel-i386.elf clean: -@rm *.o *.elf 2> /dev/null || true start32.o: start32.asm fasm start32.asm kernel.o: kernel.c tcc -m32 -c kernel.c vga.o: vga.c tcc -m32 -c vga.c kernel-i386.elf: kernel.o start32.o vga.o tcc -m32 -nostdlib -Wl,-Ttext,0x100000 start32.o kernel.o vga.o -o kernel-i386.elf qemu-multiboot: kernel-i386.elf qemu-system-i386 -kernel kernel-i386.elf -serial file:CON qemu-image: kernel-i386.elf mount cp kernel-i386.elf mnt/ sync qemu-system-i386 koalemos.img mount: koalemos.img mnt/ @if ! mountpoint -q "mnt/"; then \ sudo mount -o loop,offset=1048576,umask=177,dmask=222,uid=$(shell id -u),gid=$(shell id -g) koalemos.img mnt/; \ fi; umount: @sudo umount mnt mnt/: @mkdir mnt