25 lines
No EOL
662 B
Makefile
25 lines
No EOL
662 B
Makefile
floppy: out bootloader files
|
|
mkfs.fat -C -f 1 -F 12 -n "PORTLAND OS" -R 4 -S 512 out/floppy.img 1440
|
|
mkdir out/floppy_mount
|
|
mount out/floppy.img out/floppy_mount
|
|
cp out/fs/* out/floppy_mount/
|
|
umount out/floppy_mount
|
|
dd if=obj/bootloader.bin of=out/floppy.img bs=1 seek=62 conv=notrunc
|
|
|
|
bootloader: obj
|
|
nasm src/bootloader.bin -o obj/bootloader.bin
|
|
|
|
kernel: obj out
|
|
gcc -c src/kernel/main.c -o obj/kmain.o -ffreestanding
|
|
gcc -c src/kernel/vga.c -o obj/kvga.o -ffreestanding
|
|
ld obj/kmain.o obj/kvga.o -o out/kernel.out -nostdlib --oformat=i386-aout
|
|
|
|
files: kernel
|
|
mkdir out/fs
|
|
cp out/kernel.out out/fs/kernel.sys
|
|
|
|
obj:
|
|
mkdir -p obj
|
|
|
|
out:
|
|
mkdir -p out
|