2020-02-01 22:00:16 +01:00
|
|
|
.PHONY: run run_kernelonly debug_kernel clean bin compile_helpers compile_bootloader compile_kernel
|
|
|
|
|
2020-01-03 14:07:50 +01:00
|
|
|
run: bin
|
2020-01-02 12:19:32 +01:00
|
|
|
qemu-system-i386 -drive format=raw,file=target/boot.bin -monitor stdio
|
|
|
|
|
2020-01-08 22:36:49 +01:00
|
|
|
run_kernelonly: compile_kernel
|
|
|
|
qemu-system-i386 -kernel target/kernel/kernel.bin -monitor stdio
|
|
|
|
|
|
|
|
debug_kernel: compile_kernel
|
|
|
|
qemu-system-i386 -s -S -kernel target/kernel/kernel.bin
|
|
|
|
|
2020-01-03 14:07:50 +01:00
|
|
|
clean:
|
|
|
|
rm -r ./target/
|
|
|
|
mkdir -p ./target/helpers
|
|
|
|
mkdir ./target/bootloader
|
|
|
|
mkdir ./target/kernel
|
2019-12-28 13:47:10 +01:00
|
|
|
|
2020-01-03 14:07:50 +01:00
|
|
|
bin: compile_bootloader compile_kernel compile_helpers
|
|
|
|
./target/helpers/make_bin
|
|
|
|
|
|
|
|
compile_helpers:
|
2020-01-05 22:47:40 +01:00
|
|
|
gcc -g -o ./target/helpers/make_bin ./helpers/make_bin.c
|
2020-01-03 14:07:50 +01:00
|
|
|
|
|
|
|
compile_bootloader:
|
|
|
|
rm -rf target/bootloader/bootloader.bin
|
|
|
|
nasm -f bin -o target/bootloader/bootloader.bin bootloader/main.asm
|
2019-12-27 16:17:28 +01:00
|
|
|
|
2020-01-02 12:19:32 +01:00
|
|
|
compile_kernel:
|
2020-01-03 14:07:50 +01:00
|
|
|
nasm -felf32 kernel/wrapper.asm -o target/kernel/wrapper.o
|
2020-01-09 12:06:45 +01:00
|
|
|
i686-elf-gcc -g -c kernel/kernel.c -o target/kernel/kernel.o -std=gnu99 -ffreestanding -Og -Wall -Wextra -mno-80387 -mgeneral-regs-only -mno-red-zone
|
|
|
|
i686-elf-gcc -g -T kernel/linker.ld -o target/kernel/kernel.bin -ffreestanding -Og -nostdlib target/kernel/wrapper.o target/kernel/kernel.o -lgcc
|