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 6*bd1497dcSGerd HoffmannIMAGES_DIR := $(HOME)/.cache/qemu-vm/images 7*bd1497dcSGerd HoffmannIMAGE_FILES := $(patsubst %, $(IMAGES_DIR)/%.img, $(IMAGES)) 8b1fb9a63SFam Zheng 9b1fb9a63SFam Zheng.PRECIOUS: $(IMAGE_FILES) 10b1fb9a63SFam Zheng 11b1fb9a63SFam Zhengvm-test: 12b1fb9a63SFam Zheng @echo "vm-test: Test QEMU in preconfigured virtual machines" 13b1fb9a63SFam Zheng @echo 14b1fb9a63SFam Zheng @echo " vm-build-ubuntu.i386 - Build QEMU in ubuntu i386 VM" 15b1fb9a63SFam Zheng @echo " vm-build-freebsd - Build QEMU in FreeBSD VM" 16b1fb9a63SFam Zheng @echo " vm-build-netbsd - Build QEMU in NetBSD VM" 17b1fb9a63SFam Zheng @echo " vm-build-openbsd - Build QEMU in OpenBSD VM" 181bd26988SFam Zheng @echo " vm-build-centos - Build QEMU in CentOS VM, with Docker" 19af7e9168SFam Zheng @echo "" 20af7e9168SFam Zheng @echo " vm-build-all - Build QEMU in all VMs" 21af7e9168SFam Zheng @echo " vm-clean-all - Clean up VM images" 22b1fb9a63SFam Zheng 23b1fb9a63SFam Zhengvm-build-all: $(addprefix vm-build-, $(IMAGES)) 24b1fb9a63SFam Zheng 25ebe95fa0SFam Zhengvm-clean-all: 26ebe95fa0SFam Zheng rm -f $(IMAGE_FILES) 27ebe95fa0SFam Zheng 28*bd1497dcSGerd Hoffmann$(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \ 29b1fb9a63SFam Zheng $(SRC_PATH)/tests/vm/basevm.py \ 30b1fb9a63SFam Zheng $(SRC_PATH)/tests/vm/Makefile.include 31*bd1497dcSGerd Hoffmann @mkdir -p $(IMAGES_DIR) 32b1fb9a63SFam Zheng $(call quiet-command, \ 33b1fb9a63SFam Zheng $< \ 34b1fb9a63SFam Zheng $(if $(V)$(DEBUG), --debug) \ 35b1fb9a63SFam Zheng --image "$@" \ 36b1fb9a63SFam Zheng --force \ 37b1fb9a63SFam Zheng --build-image $@, \ 38b1fb9a63SFam Zheng " VM-IMAGE $*") 39b1fb9a63SFam Zheng 40b1fb9a63SFam Zheng 41b1fb9a63SFam Zheng# Build in VM $(IMAGE) 42*bd1497dcSGerd Hoffmannvm-build-%: $(IMAGES_DIR)/%.img 43b1fb9a63SFam Zheng $(call quiet-command, \ 44b1fb9a63SFam Zheng $(SRC_PATH)/tests/vm/$* \ 45b1fb9a63SFam Zheng $(if $(V)$(DEBUG), --debug) \ 46b1fb9a63SFam Zheng $(if $(DEBUG), --interactive) \ 47b1fb9a63SFam Zheng $(if $(J),--jobs $(J)) \ 4841e3340aSPeter Maydell $(if $(V),--verbose) \ 49b1fb9a63SFam Zheng --image "$<" \ 50b1fb9a63SFam Zheng --build-qemu $(SRC_PATH), \ 51b1fb9a63SFam Zheng " VM-BUILD $*") 52b1fb9a63SFam Zheng 53