]> git.lizzy.rs Git - loadnothing.git/blob - Makefile
2a6c1d414f3e0e8a04b24df81cf2ec4ae9ffca68
[loadnothing.git] / Makefile
1 default_target: vm
2 .PHONY: vm clean
3
4 stage1/boot.bin: stage1/boot.asm
5         nasm -DSTAGE2SIZE=$$(du -b stage2/target/x86-loadnothing/release/stage2 | cut -f1) -f bin -o stage1/boot.bin stage1/boot.asm
6
7 stage2/target/x86-loadnothing/release/stage2: stage2/src/main.rs stage2/src/vga.rs
8         cd stage2 && cargo build --release
9
10 nothing.img: stage2/target/x86-loadnothing/release/stage2 stage1/boot.bin
11         cp -p base.img nothing.img
12         dd if=stage1/boot.bin of=nothing.img bs=1 count=446 conv=notrunc
13         echo -en "\x55\xAA" | dd of=nothing.img bs=1 seek=510 count=2 conv=notrunc
14         dd if=stage2/target/x86-loadnothing/release/stage2 of=nothing.img bs=512 seek=1 conv=notrunc
15
16 vm: nothing.img
17         qemu-system-x86_64 -drive format=raw,file=nothing.img
18
19 clean:
20         rm -f magic.bin stage1/boot.bin nothing.img
21         cd stage2 && cargo clean