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