:: commit 5a53f91e0153dd2fe0c97d449b3d7fab5486ee75

mintsuki <mintsuki@protonmail.com> — 2023-03-23 15:03

parents: 0196abf2ec

build: Split test portion of root makefile to own file

diff --git a/GNUmakefile.in b/GNUmakefile.in
index 153b088b..577346ce 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -308,6 +308,7 @@ dist:
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/.github"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/autom4te.cache"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/test"
+	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/test.mk"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/screenshot.png"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/bochsrc"
 	echo "$(LIMINE_VERSION)" > '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/version"
@@ -377,264 +378,4 @@ decompressor:
 decompressor-clean:
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))/decompressor-build'
 
-.PHONY: test-clean
-test-clean:
-	$(MAKE) -C test clean
-	rm -rf test_image test.hdd test.iso
-
-ovmf-x64:
-	$(MKDIR_P) ovmf-x64
-	cd ovmf-x64 && curl -o OVMF-X64.zip https://efi.akeo.ie/OVMF/OVMF-X64.zip && 7z x OVMF-X64.zip
-
-ovmf-aa64:
-	mkdir -p ovmf-aa64
-	cd ovmf-aa64 && curl -o OVMF-AA64.zip https://efi.akeo.ie/OVMF/OVMF-AA64.zip && 7z x OVMF-AA64.zip
-
-ovmf-ia32:
-	$(MKDIR_P) ovmf-ia32
-	cd ovmf-ia32 && curl -o OVMF-IA32.zip https://efi.akeo.ie/OVMF/OVMF-IA32.zip && 7z x OVMF-IA32.zip
-
-.PHONY: test.hdd
-test.hdd:
-	rm -f test.hdd
-	dd if=/dev/zero bs=1M count=0 seek=64 of=test.hdd
-	parted -s test.hdd mklabel gpt
-	parted -s test.hdd mkpart primary 2048s 100%
-
-.PHONY: mbrtest.hdd
-mbrtest.hdd:
-	rm -f mbrtest.hdd
-	dd if=/dev/zero bs=1M count=0 seek=64 of=mbrtest.hdd
-	echo -e "o\nn\np\n1\n2048\n\nt\n6\na\nw\n" | fdisk mbrtest.hdd -H 16 -S 63
-
-.PHONY: ext2-test
-ext2-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine-deploy
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	mkdir test_image
-	sudo losetup -Pf --show test.hdd > loopback_dev
-	sudo partprobe `cat loopback_dev`
-	sudo mkfs.ext2 `cat loopback_dev`p1
-	sudo mount `cat loopback_dev`p1 test_image
-	sudo mkdir test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	sync
-	sudo umount test_image/
-	sudo losetup -d `cat loopback_dev`
-	rm -rf test_image loopback_dev
-	$(BINDIR)/limine-deploy test.hdd
-	qemu-system-x86_64 -net none -smp 4   -hda test.hdd -debugcon stdio
-
-.PHONY: fat12-test
-fat12-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine-deploy
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	mkdir test_image
-	sudo losetup -Pf --show test.hdd > loopback_dev
-	sudo partprobe `cat loopback_dev`
-	sudo mkfs.fat -F 12 `cat loopback_dev`p1
-	sudo mount `cat loopback_dev`p1 test_image
-	sudo mkdir test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	sync
-	sudo umount test_image/
-	sudo losetup -d `cat loopback_dev`
-	rm -rf test_image loopback_dev
-	$(BINDIR)/limine-deploy test.hdd
-	qemu-system-x86_64 -net none -smp 4   -hda test.hdd -debugcon stdio
-
-.PHONY: fat16-test
-fat16-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine-deploy
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	mkdir test_image
-	sudo losetup -Pf --show test.hdd > loopback_dev
-	sudo partprobe `cat loopback_dev`
-	sudo mkfs.fat -F 16 `cat loopback_dev`p1
-	sudo mount `cat loopback_dev`p1 test_image
-	sudo mkdir test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	sync
-	sudo umount test_image/
-	sudo losetup -d `cat loopback_dev`
-	rm -rf test_image loopback_dev
-	$(BINDIR)/limine-deploy test.hdd
-	qemu-system-x86_64 -net none -smp 4   -hda test.hdd -debugcon stdio
-
-.PHONY: legacy-fat16-test
-legacy-fat16-test:
-	$(MAKE) test-clean
-	$(MAKE) mbrtest.hdd
-	fdisk -l mbrtest.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine-deploy
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	mkdir test_image
-	sudo losetup -Pf --show mbrtest.hdd > loopback_dev
-	sudo partprobe `cat loopback_dev`
-	sudo mkfs.fat -F 16 `cat loopback_dev`p1
-	sudo mount `cat loopback_dev`p1 test_image
-	sudo mkdir test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	sync
-	sudo umount test_image/
-	sudo losetup -d `cat loopback_dev`
-	rm -rf test_image loopback_dev
-	$(BINDIR)/limine-deploy mbrtest.hdd
-	qemu-system-i386 -cpu pentium2 -m 16M -M isapc -net none   -hda mbrtest.hdd -debugcon stdio
-
-.PHONY: fat32-test
-fat32-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine-deploy
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	mkdir test_image
-	sudo losetup -Pf --show test.hdd > loopback_dev
-	sudo partprobe `cat loopback_dev`
-	sudo mkfs.fat -F 32 `cat loopback_dev`p1
-	sudo mount `cat loopback_dev`p1 test_image
-	sudo mkdir test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	sync
-	sudo umount test_image/
-	sudo losetup -d `cat loopback_dev`
-	rm -rf test_image loopback_dev
-	$(BINDIR)/limine-deploy test.hdd
-	qemu-system-x86_64 -net none -smp 4   -hda test.hdd -debugcon stdio
-
-.PHONY: iso9660-test
-iso9660-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	$(MKDIR_P) test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	xorriso -as mkisofs -b boot/limine-cd.bin -no-emul-boot -boot-load-size 4 -boot-info-table test_image/ -o test.iso
-	qemu-system-x86_64 -net none -smp 4   -cdrom test.iso -debugcon stdio
-
-.PHONY: full-hybrid-test
-full-hybrid-test:
-	$(MAKE) ovmf-x64
-	$(MAKE) ovmf-ia32
-	$(MAKE) test-clean
-	$(MAKE) all
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	$(MKDIR_P) test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	xorriso -as mkisofs -b boot/limine-cd.bin -no-emul-boot -boot-load-size 4 -boot-info-table --efi-boot boot/limine-cd-efi.bin -efi-boot-part --efi-boot-image --protective-msdos-label test_image/ -o test.iso
-	$(BINDIR)/limine-deploy test.iso
-	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-x64/OVMF.fd -net none -smp 4   -cdrom test.iso -debugcon stdio
-	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-x64/OVMF.fd -net none -smp 4   -hda test.iso -debugcon stdio
-	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-ia32/OVMF.fd -net none -smp 4   -cdrom test.iso -debugcon stdio
-	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-ia32/OVMF.fd -net none -smp 4   -hda test.iso -debugcon stdio
-	qemu-system-x86_64 -m 512M -M q35 -net none -smp 4   -cdrom test.iso -debugcon stdio
-	qemu-system-x86_64 -m 512M -M q35 -net none -smp 4   -hda test.iso -debugcon stdio
-
-.PHONY: pxe-test
-pxe-test:
-	$(MAKE) test-clean
-	$(MAKE) limine-bios
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	$(MKDIR_P) test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	qemu-system-x86_64  -smp 4  -netdev user,id=n0,tftp=./test_image,bootfile=boot/limine-pxe.bin -device rtl8139,netdev=n0,mac=00:00:00:11:11:11 -debugcon stdio
-
-.PHONY: uefi-x86-64-test
-uefi-x86-64-test:
-	$(MAKE) ovmf-x64
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-uefi-x86-64
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	mkdir test_image
-	sudo losetup -Pf --show test.hdd > loopback_dev
-	sudo partprobe `cat loopback_dev`
-	sudo mkfs.fat -F 32 `cat loopback_dev`p1
-	sudo mount `cat loopback_dev`p1 test_image
-	sudo mkdir test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	sudo $(MKDIR_P) test_image/EFI/BOOT
-	sudo cp $(BINDIR)/BOOTX64.EFI test_image/EFI/BOOT/
-	sync
-	sudo umount test_image/
-	sudo losetup -d `cat loopback_dev`
-	rm -rf test_image loopback_dev
-	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-x64/OVMF.fd -net none -smp 4   -hda test.hdd -debugcon stdio
-
-.PHONY: uefi-aa64-test
-uefi-aa64-test:
-	$(MAKE) ovmf-aa64
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-uefi-aarch64
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-aarch64-toolchain.mk'
-	rm -rf test_image/
-	mkdir test_image
-	sudo losetup -Pf --show test.hdd > loopback_dev
-	sudo partprobe `cat loopback_dev`
-	sudo mkfs.fat -F 32 `cat loopback_dev`p1
-	sudo mount `cat loopback_dev`p1 test_image
-	sudo mkdir test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	sudo $(MKDIR_P) test_image/EFI/BOOT
-	sudo cp $(BINDIR)/BOOTAA64.EFI test_image/EFI/BOOT/
-	sync
-	sudo umount test_image/
-	sudo losetup -d `cat loopback_dev`
-	rm -rf test_image loopback_dev
-	qemu-system-aarch64 -m 512M -M virt -cpu cortex-a72 -bios ovmf-aa64/OVMF.fd -net none -smp 4 -device ramfb -device qemu-xhci -device usb-kbd  -hda test.hdd -serial stdio
-
-.PHONY: uefi-ia32-test
-uefi-ia32-test:
-	$(MAKE) ovmf-ia32
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-uefi-ia32
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
-	rm -rf test_image/
-	mkdir test_image
-	sudo losetup -Pf --show test.hdd > loopback_dev
-	sudo partprobe `cat loopback_dev`
-	sudo mkfs.fat -F 32 `cat loopback_dev`p1
-	sudo mount `cat loopback_dev`p1 test_image
-	sudo mkdir test_image/boot
-	sudo cp -rv $(BINDIR)/* test_image/boot/
-	sudo cp -rv test/* test_image/boot/
-	sudo $(MKDIR_P) test_image/EFI/BOOT
-	sudo cp $(BINDIR)/BOOTIA32.EFI test_image/EFI/BOOT/
-	sync
-	sudo umount test_image/
-	sudo losetup -d `cat loopback_dev`
-	rm -rf test_image loopback_dev
-	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-ia32/OVMF.fd -net none -smp 4   -hda test.hdd -debugcon stdio
+-include test.mk
diff --git a/test.mk b/test.mk
new file mode 100644
index 00000000..5640cbc8
--- /dev/null
+++ b/test.mk
@@ -0,0 +1,261 @@
+.PHONY: test-clean
+test-clean:
+	$(MAKE) -C test clean
+	rm -rf test_image test.hdd test.iso
+
+ovmf-x64:
+	$(MKDIR_P) ovmf-x64
+	cd ovmf-x64 && curl -o OVMF-X64.zip https://efi.akeo.ie/OVMF/OVMF-X64.zip && 7z x OVMF-X64.zip
+
+ovmf-aa64:
+	mkdir -p ovmf-aa64
+	cd ovmf-aa64 && curl -o OVMF-AA64.zip https://efi.akeo.ie/OVMF/OVMF-AA64.zip && 7z x OVMF-AA64.zip
+
+ovmf-ia32:
+	$(MKDIR_P) ovmf-ia32
+	cd ovmf-ia32 && curl -o OVMF-IA32.zip https://efi.akeo.ie/OVMF/OVMF-IA32.zip && 7z x OVMF-IA32.zip
+
+.PHONY: test.hdd
+test.hdd:
+	rm -f test.hdd
+	dd if=/dev/zero bs=1M count=0 seek=64 of=test.hdd
+	parted -s test.hdd mklabel gpt
+	parted -s test.hdd mkpart primary 2048s 100%
+
+.PHONY: mbrtest.hdd
+mbrtest.hdd:
+	rm -f mbrtest.hdd
+	dd if=/dev/zero bs=1M count=0 seek=64 of=mbrtest.hdd
+	echo -e "o\nn\np\n1\n2048\n\nt\n6\na\nw\n" | fdisk mbrtest.hdd -H 16 -S 63
+
+.PHONY: ext2-test
+ext2-test:
+	$(MAKE) test-clean
+	$(MAKE) test.hdd
+	$(MAKE) limine-bios
+	$(MAKE) limine-deploy
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	mkdir test_image
+	sudo losetup -Pf --show test.hdd > loopback_dev
+	sudo partprobe `cat loopback_dev`
+	sudo mkfs.ext2 `cat loopback_dev`p1
+	sudo mount `cat loopback_dev`p1 test_image
+	sudo mkdir test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	sync
+	sudo umount test_image/
+	sudo losetup -d `cat loopback_dev`
+	rm -rf test_image loopback_dev
+	$(BINDIR)/limine-deploy test.hdd
+	qemu-system-x86_64 -net none -smp 4   -hda test.hdd -debugcon stdio
+
+.PHONY: fat12-test
+fat12-test:
+	$(MAKE) test-clean
+	$(MAKE) test.hdd
+	$(MAKE) limine-bios
+	$(MAKE) limine-deploy
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	mkdir test_image
+	sudo losetup -Pf --show test.hdd > loopback_dev
+	sudo partprobe `cat loopback_dev`
+	sudo mkfs.fat -F 12 `cat loopback_dev`p1
+	sudo mount `cat loopback_dev`p1 test_image
+	sudo mkdir test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	sync
+	sudo umount test_image/
+	sudo losetup -d `cat loopback_dev`
+	rm -rf test_image loopback_dev
+	$(BINDIR)/limine-deploy test.hdd
+	qemu-system-x86_64 -net none -smp 4   -hda test.hdd -debugcon stdio
+
+.PHONY: fat16-test
+fat16-test:
+	$(MAKE) test-clean
+	$(MAKE) test.hdd
+	$(MAKE) limine-bios
+	$(MAKE) limine-deploy
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	mkdir test_image
+	sudo losetup -Pf --show test.hdd > loopback_dev
+	sudo partprobe `cat loopback_dev`
+	sudo mkfs.fat -F 16 `cat loopback_dev`p1
+	sudo mount `cat loopback_dev`p1 test_image
+	sudo mkdir test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	sync
+	sudo umount test_image/
+	sudo losetup -d `cat loopback_dev`
+	rm -rf test_image loopback_dev
+	$(BINDIR)/limine-deploy test.hdd
+	qemu-system-x86_64 -net none -smp 4   -hda test.hdd -debugcon stdio
+
+.PHONY: legacy-fat16-test
+legacy-fat16-test:
+	$(MAKE) test-clean
+	$(MAKE) mbrtest.hdd
+	fdisk -l mbrtest.hdd
+	$(MAKE) limine-bios
+	$(MAKE) limine-deploy
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	mkdir test_image
+	sudo losetup -Pf --show mbrtest.hdd > loopback_dev
+	sudo partprobe `cat loopback_dev`
+	sudo mkfs.fat -F 16 `cat loopback_dev`p1
+	sudo mount `cat loopback_dev`p1 test_image
+	sudo mkdir test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	sync
+	sudo umount test_image/
+	sudo losetup -d `cat loopback_dev`
+	rm -rf test_image loopback_dev
+	$(BINDIR)/limine-deploy mbrtest.hdd
+	qemu-system-i386 -cpu pentium2 -m 16M -M isapc -net none   -hda mbrtest.hdd -debugcon stdio
+
+.PHONY: fat32-test
+fat32-test:
+	$(MAKE) test-clean
+	$(MAKE) test.hdd
+	$(MAKE) limine-bios
+	$(MAKE) limine-deploy
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	mkdir test_image
+	sudo losetup -Pf --show test.hdd > loopback_dev
+	sudo partprobe `cat loopback_dev`
+	sudo mkfs.fat -F 32 `cat loopback_dev`p1
+	sudo mount `cat loopback_dev`p1 test_image
+	sudo mkdir test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	sync
+	sudo umount test_image/
+	sudo losetup -d `cat loopback_dev`
+	rm -rf test_image loopback_dev
+	$(BINDIR)/limine-deploy test.hdd
+	qemu-system-x86_64 -net none -smp 4   -hda test.hdd -debugcon stdio
+
+.PHONY: iso9660-test
+iso9660-test:
+	$(MAKE) test-clean
+	$(MAKE) test.hdd
+	$(MAKE) limine-bios
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	$(MKDIR_P) test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	xorriso -as mkisofs -b boot/limine-cd.bin -no-emul-boot -boot-load-size 4 -boot-info-table test_image/ -o test.iso
+	qemu-system-x86_64 -net none -smp 4   -cdrom test.iso -debugcon stdio
+
+.PHONY: full-hybrid-test
+full-hybrid-test:
+	$(MAKE) ovmf-x64
+	$(MAKE) ovmf-ia32
+	$(MAKE) test-clean
+	$(MAKE) all
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	$(MKDIR_P) test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	xorriso -as mkisofs -b boot/limine-cd.bin -no-emul-boot -boot-load-size 4 -boot-info-table --efi-boot boot/limine-cd-efi.bin -efi-boot-part --efi-boot-image --protective-msdos-label test_image/ -o test.iso
+	$(BINDIR)/limine-deploy test.iso
+	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-x64/OVMF.fd -net none -smp 4   -cdrom test.iso -debugcon stdio
+	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-x64/OVMF.fd -net none -smp 4   -hda test.iso -debugcon stdio
+	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-ia32/OVMF.fd -net none -smp 4   -cdrom test.iso -debugcon stdio
+	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-ia32/OVMF.fd -net none -smp 4   -hda test.iso -debugcon stdio
+	qemu-system-x86_64 -m 512M -M q35 -net none -smp 4   -cdrom test.iso -debugcon stdio
+	qemu-system-x86_64 -m 512M -M q35 -net none -smp 4   -hda test.iso -debugcon stdio
+
+.PHONY: pxe-test
+pxe-test:
+	$(MAKE) test-clean
+	$(MAKE) limine-bios
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	$(MKDIR_P) test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	qemu-system-x86_64  -smp 4  -netdev user,id=n0,tftp=./test_image,bootfile=boot/limine-pxe.bin -device rtl8139,netdev=n0,mac=00:00:00:11:11:11 -debugcon stdio
+
+.PHONY: uefi-x86-64-test
+uefi-x86-64-test:
+	$(MAKE) ovmf-x64
+	$(MAKE) test-clean
+	$(MAKE) test.hdd
+	$(MAKE) limine-uefi-x86-64
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	mkdir test_image
+	sudo losetup -Pf --show test.hdd > loopback_dev
+	sudo partprobe `cat loopback_dev`
+	sudo mkfs.fat -F 32 `cat loopback_dev`p1
+	sudo mount `cat loopback_dev`p1 test_image
+	sudo mkdir test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	sudo $(MKDIR_P) test_image/EFI/BOOT
+	sudo cp $(BINDIR)/BOOTX64.EFI test_image/EFI/BOOT/
+	sync
+	sudo umount test_image/
+	sudo losetup -d `cat loopback_dev`
+	rm -rf test_image loopback_dev
+	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-x64/OVMF.fd -net none -smp 4   -hda test.hdd -debugcon stdio
+
+.PHONY: uefi-aa64-test
+uefi-aa64-test:
+	$(MAKE) ovmf-aa64
+	$(MAKE) test-clean
+	$(MAKE) test.hdd
+	$(MAKE) limine-uefi-aarch64
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-aarch64-toolchain.mk'
+	rm -rf test_image/
+	mkdir test_image
+	sudo losetup -Pf --show test.hdd > loopback_dev
+	sudo partprobe `cat loopback_dev`
+	sudo mkfs.fat -F 32 `cat loopback_dev`p1
+	sudo mount `cat loopback_dev`p1 test_image
+	sudo mkdir test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	sudo $(MKDIR_P) test_image/EFI/BOOT
+	sudo cp $(BINDIR)/BOOTAA64.EFI test_image/EFI/BOOT/
+	sync
+	sudo umount test_image/
+	sudo losetup -d `cat loopback_dev`
+	rm -rf test_image loopback_dev
+	qemu-system-aarch64 -m 512M -M virt -cpu cortex-a72 -bios ovmf-aa64/OVMF.fd -net none -smp 4 -device ramfb -device qemu-xhci -device usb-kbd  -hda test.hdd -serial stdio
+
+.PHONY: uefi-ia32-test
+uefi-ia32-test:
+	$(MAKE) ovmf-ia32
+	$(MAKE) test-clean
+	$(MAKE) test.hdd
+	$(MAKE) limine-uefi-ia32
+	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	rm -rf test_image/
+	mkdir test_image
+	sudo losetup -Pf --show test.hdd > loopback_dev
+	sudo partprobe `cat loopback_dev`
+	sudo mkfs.fat -F 32 `cat loopback_dev`p1
+	sudo mount `cat loopback_dev`p1 test_image
+	sudo mkdir test_image/boot
+	sudo cp -rv $(BINDIR)/* test_image/boot/
+	sudo cp -rv test/* test_image/boot/
+	sudo $(MKDIR_P) test_image/EFI/BOOT
+	sudo cp $(BINDIR)/BOOTIA32.EFI test_image/EFI/BOOT/
+	sync
+	sudo umount test_image/
+	sudo losetup -d `cat loopback_dev`
+	rm -rf test_image loopback_dev
+	qemu-system-x86_64 -m 512M -M q35 -bios ovmf-ia32/OVMF.fd -net none -smp 4   -hda test.hdd -debugcon stdio
tab: 248 wrap: offon