Files
CappuccinOS/Makefile

29 lines
736 B
Makefile

IMAGE_NAME = os-image
.PHONY: build clean
build: make-bin-dir compile-kernel compile-bootloader objcopy-elf-file build-os-image
make-bin-dir:
mkdir -p bin
build-os-image:
rm bin/${IMAGE_NAME}
dd if=bin/bootloader.bin conv=notrunc of=bin/${IMAGE_NAME} bs=512
dd if=bin/kernel.bin conv=notrunc of=bin/${IMAGE_NAME} bs=512 seek=1
compile-bootloader:
nasm -f bin bootloader/bootloader.asm -o bin/bootloader.bin
objcopy-elf-file:
objcopy -O binary target/x86_64-unknown-none/release/operating-system.elf bin/kernel.bin
compile-kernel:
cargo build --release --target x86_64-unknown-none.json
run: build
qemu-system-x86_64 -drive format=raw,file=bin/${IMAGE_NAME} -serial mon:stdio -s
clean:
cargo clean
rm -rf bin