# Makefile for VM tests

.PHONY: vm-build-all

IMAGES := ubuntu.i386 freebsd netbsd openbsd
IMAGE_FILES := $(patsubst %, tests/vm/%.img, $(IMAGES))

.PRECIOUS: $(IMAGE_FILES)

vm-test:
	@echo "vm-test: Test QEMU in preconfigured virtual machines"
	@echo
	@echo "  vm-build-ubuntu.i386            - Build QEMU in ubuntu i386 VM"
	@echo "  vm-build-freebsd                - Build QEMU in FreeBSD VM"
	@echo "  vm-build-netbsd                 - Build QEMU in NetBSD VM"
	@echo "  vm-build-openbsd                - Build QEMU in OpenBSD VM"

vm-build-all: $(addprefix vm-build-, $(IMAGES))

tests/vm/%.img: $(SRC_PATH)/tests/vm/% \
		$(SRC_PATH)/tests/vm/basevm.py \
		$(SRC_PATH)/tests/vm/Makefile.include
	$(call quiet-command, \
		$< \
		$(if $(V)$(DEBUG), --debug) \
		--image "$@" \
		--force \
		--build-image $@, \
		"  VM-IMAGE $*")


# Build in VM $(IMAGE)
vm-build-%: tests/vm/%.img
	$(call quiet-command, \
		$(SRC_PATH)/tests/vm/$* \
		$(if $(V)$(DEBUG), --debug) \
		$(if $(DEBUG), --interactive) \
		$(if $(J),--jobs $(J)) \
		--image "$<" \
		--build-qemu $(SRC_PATH), \
		"  VM-BUILD $*")

