1b1fb9a63SFam Zheng# Makefile for VM tests 2b1fb9a63SFam Zheng 3ebe95fa0SFam Zheng.PHONY: vm-build-all vm-clean-all 4b1fb9a63SFam Zheng 51bd26988SFam ZhengIMAGES := ubuntu.i386 freebsd netbsd openbsd centos 6b1fb9a63SFam ZhengIMAGE_FILES := $(patsubst %, tests/vm/%.img, $(IMAGES)) 7b1fb9a63SFam Zheng 8b1fb9a63SFam Zheng.PRECIOUS: $(IMAGE_FILES) 9b1fb9a63SFam Zheng 10b1fb9a63SFam Zhengvm-test: 11b1fb9a63SFam Zheng @echo "vm-test: Test QEMU in preconfigured virtual machines" 12b1fb9a63SFam Zheng @echo 13b1fb9a63SFam Zheng @echo " vm-build-ubuntu.i386 - Build QEMU in ubuntu i386 VM" 14b1fb9a63SFam Zheng @echo " vm-build-freebsd - Build QEMU in FreeBSD VM" 15b1fb9a63SFam Zheng @echo " vm-build-netbsd - Build QEMU in NetBSD VM" 16b1fb9a63SFam Zheng @echo " vm-build-openbsd - Build QEMU in OpenBSD VM" 171bd26988SFam Zheng @echo " vm-build-centos - Build QEMU in CentOS VM, with Docker" 18*af7e9168SFam Zheng @echo "" 19*af7e9168SFam Zheng @echo " vm-build-all - Build QEMU in all VMs" 20*af7e9168SFam Zheng @echo " vm-clean-all - Clean up VM images" 21b1fb9a63SFam Zheng 22b1fb9a63SFam Zhengvm-build-all: $(addprefix vm-build-, $(IMAGES)) 23b1fb9a63SFam Zheng 24ebe95fa0SFam Zhengvm-clean-all: 25ebe95fa0SFam Zheng rm -f $(IMAGE_FILES) 26ebe95fa0SFam Zheng 27b1fb9a63SFam Zhengtests/vm/%.img: $(SRC_PATH)/tests/vm/% \ 28b1fb9a63SFam Zheng $(SRC_PATH)/tests/vm/basevm.py \ 29b1fb9a63SFam Zheng $(SRC_PATH)/tests/vm/Makefile.include 30b1fb9a63SFam Zheng $(call quiet-command, \ 31b1fb9a63SFam Zheng $< \ 32b1fb9a63SFam Zheng $(if $(V)$(DEBUG), --debug) \ 33b1fb9a63SFam Zheng --image "$@" \ 34b1fb9a63SFam Zheng --force \ 35b1fb9a63SFam Zheng --build-image $@, \ 36b1fb9a63SFam Zheng " VM-IMAGE $*") 37b1fb9a63SFam Zheng 38b1fb9a63SFam Zheng 39b1fb9a63SFam Zheng# Build in VM $(IMAGE) 40b1fb9a63SFam Zhengvm-build-%: tests/vm/%.img 41b1fb9a63SFam Zheng $(call quiet-command, \ 42b1fb9a63SFam Zheng $(SRC_PATH)/tests/vm/$* \ 43b1fb9a63SFam Zheng $(if $(V)$(DEBUG), --debug) \ 44b1fb9a63SFam Zheng $(if $(DEBUG), --interactive) \ 45b1fb9a63SFam Zheng $(if $(J),--jobs $(J)) \ 4641e3340aSPeter Maydell $(if $(V),--verbose) \ 47b1fb9a63SFam Zheng --image "$<" \ 48b1fb9a63SFam Zheng --build-qemu $(SRC_PATH), \ 49b1fb9a63SFam Zheng " VM-BUILD $*") 50b1fb9a63SFam Zheng 51