26 lines
No EOL
807 B
Makefile
26 lines
No EOL
807 B
Makefile
cd: kernel fs
|
|
mkdir -p out/fs/boot/grub
|
|
mv out/kernel.elf out/fs/boot/
|
|
cp src/grub.cfg out/fs/boot/grub/
|
|
grub2-mkrescue out/fs -o out/cd.iso --product-name=portland --product-version=0.0.9
|
|
|
|
kernel: obj out
|
|
nasm src/kernel/stub.asm -o obj/kstub.o -f elf32
|
|
gcc -c src/kernel/files.c -o obj/kfiles.o -ffreestanding -nostdlib -m32
|
|
gcc -c src/kernel/main.c -o obj/kmain.o -ffreestanding -nostdlib -m32
|
|
gcc -c src/kernel/mem.c -o obj/kmem.o -ffreestanding -nostdlib -m32
|
|
gcc -c src/kernel/proc.c -o obj/kproc.o -ffreestanding -nostdlib -m32
|
|
gcc -c src/kernel/vga.c -o obj/kvga.o -ffreestanding -nostdlib -m32
|
|
ld obj/k*.o -o out/kernel.elf -T src/kernel/link.ld -s --orphan-handling=discard -m elf_i386
|
|
|
|
clean:
|
|
rm -r obj out
|
|
|
|
fs: out
|
|
mkdir -p out/fs
|
|
|
|
obj:
|
|
mkdir -p obj
|
|
|
|
out:
|
|
mkdir -p out
|