diff options
Diffstat (limited to 'makefile')
-rw-r--r-- | makefile | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/makefile b/makefile new file mode 100644 index 0000000..efb5cf8 --- /dev/null +++ b/makefile @@ -0,0 +1,21 @@ +floppy: kernel boot + mkdir -p obj out + /sbin/mkfs.fat -C -R 17 -n "PORTLAND OS" obj/shadow.img 1440 + echo -n -e '\xeb\x3c' > obj/jmp.bin + dd if=obj/jmp.bin of=obj/shadow.img obs=2 conv=notrunc + dd if=out/boot.bin of=obj/shadow.img obs=1 seek=62 conv=notrunc + dd if=out/kernel.bin of=obj/shadow.img seek=1 conv=notrunc + mv obj/shadow.img out/floppy.img + +kernel: + mkdir -p obj/kernel out + gcc -m32 -ffreestanding -c src/kernel/main.c -o obj/kernel/main.o + gcc -m32 -ffreestanding -c src/kernel/vga.c -o obj/kernel/vga.o + ld -T src/kernel/link.ld obj/kernel/main.o obj/kernel/vga.o -o out/kernel.bin + +boot: + mkdir -p out + nasm src/boot.asm -o out/boot.bin + +clean: + rm -r obj out
\ No newline at end of file |