]> git.lizzy.rs Git - loadnothing.git/blobdiff - Makefile
Enable unreal mode
[loadnothing.git] / Makefile
index 91b0bff7b6cb28bde41bd00f674e0d19625b5a7a..b487105a7de0393b7230f34e884d850e41eea974 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,29 +1,24 @@
-default_target: vm
-.PHONY: vm clean
+default_target: bochs
+.PHONY: qemu bochs clean
 
-stage1/boot.bin: stage1/boot.asm
-       nasm -DSTAGE2SIZE=$$(du -b stage2/target/x86_64-loadnothing/release/stage2 | cut -f1) -f bin -o stage1/boot.bin stage1/boot.asm
+stage1/boot.bin: stage1/boot.asm stage2/target/x86-loadnothing/release/stage2
+       nasm -DSTAGE2SIZE=$$(du -b stage2/target/x86-loadnothing/release/stage2 | cut -f1) -f bin -o stage1/boot.bin stage1/boot.asm
 
-magic.bin:
-       echo -en "\x55\xAA" > magic.bin
-
-stage2/target/x86_64-loadnothing/release/stage2: stage2/src/main.rs
+stage2/target/x86-loadnothing/release/stage2: stage2/src/main.rs stage2/src/vga.rs
        cd stage2 && cargo build --release
 
-nothing.img: magic.bin stage2/target/x86_64-loadnothing/release/stage2 stage1/boot.bin
-       dd if=/dev/zero of=nothing.img bs=32M count=1
-       parted -s nothing.img mklabel msdos
-       parted -s -a optimal nothing.img mkpart primary fat32 16MiB 100%
-       doas losetup /dev/loop1 nothing.img
-       doas mkfs.fat /dev/loop1p1
-       doas losetup -d /dev/loop1
+nothing.img: stage2/target/x86-loadnothing/release/stage2 stage1/boot.bin
+       cp -p base.img nothing.img
        dd if=stage1/boot.bin of=nothing.img bs=1 count=446 conv=notrunc
-       dd if=magic.bin of=nothing.img bs=1 seek=510 count=2 conv=notrunc
-       dd if=stage2/target/x86_64-loadnothing/release/stage2 of=nothing.img bs=512 seek=1 conv=notrunc
+       echo -en "\x55\xAA" | dd of=nothing.img bs=1 seek=510 count=2 conv=notrunc
+       dd if=stage2/target/x86-loadnothing/release/stage2 of=nothing.img bs=512 seek=1 conv=notrunc
+
+bochs: nothing.img
+       bochs -q
 
-vm: nothing.img
-       qemu-system-x86_64 -hda nothing.img
+qemu: nothing.img
+       qemu-system-x86_64 -drive format=raw,file=nothing.img
 
 clean:
-       rm -f magic.bin stage1/boot.bin nothing.img
+       rm -f stage1/boot.bin nothing.img
        cd stage2 && cargo clean