mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-08-03 17:26:08 -04:00
57 lines
1.4 KiB
Makefile
57 lines
1.4 KiB
Makefile
.PHONY: default clean force_look qemu bochs debug
|
|
|
|
default: thor.flp
|
|
|
|
kernel/kernel.bin: force_look
|
|
cd kernel; $(MAKE)
|
|
|
|
bootloader/stage1.bin: force_look
|
|
cd bootloader; $(MAKE) stage1.bin
|
|
|
|
bootloader/stage2.bin: force_look
|
|
cd bootloader; $(MAKE) stage2.bin
|
|
|
|
programs/one/a.out: force_look
|
|
cd programs/one; ${MAKE} a.out
|
|
|
|
programs/hello/a.out: force_look
|
|
cd programs/hello; ${MAKE} a.out
|
|
|
|
thor.flp: bootloader/stage1.bin bootloader/stage2.bin kernel/kernel.bin programs/one/a.out programs/hello/a.out
|
|
dd if=bootloader/stage1.bin of=hdd.img conv=notrunc
|
|
dd if=bootloader/stage2.bin of=hdd.img seek=1 conv=notrunc
|
|
sudo /sbin/losetup -o1048576 /dev/loop0 hdd.img
|
|
sudo /usr/sbin/mkdosfs -F32 /dev/loop0
|
|
sudo /bin/mount -t vfat /dev/loop0 /mnt/fake_cdrom/
|
|
sudo /bin/cp kernel/kernel.bin /mnt/fake_cdrom/
|
|
sudo /bin/cp programs/one/a.out /mnt/fake_cdrom/one
|
|
sudo /bin/cp programs/hello/a.out /mnt/fake_cdrom/hello
|
|
sleep 0.1
|
|
sudo /bin/umount /mnt/fake_cdrom/
|
|
sudo /sbin/losetup -d /dev/loop0
|
|
|
|
qemu: default
|
|
qemu-kvm -cpu host -vga std -hda hdd.img
|
|
|
|
bochs: default
|
|
bochs -qf bochsrc.txt
|
|
|
|
debug: default
|
|
echo "c" > commands
|
|
bochs -qf debug_bochsrc.txt -rc commands
|
|
rm commands
|
|
|
|
gdb: default
|
|
bochs -qf gdb_bochsrc.txt
|
|
|
|
force_look:
|
|
true
|
|
|
|
clean:
|
|
cd bootloader; $(MAKE) clean
|
|
cd kernel; $(MAKE) clean
|
|
cd programs/one; $(MAKE) clean
|
|
cd programs/hello; $(MAKE) clean
|
|
rm -f *.bin
|
|
rm -f *.flp
|