No need to go through the shell when we already have the test and images at the point where the targets are declared.
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- tests/docker/Makefile.include | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 5cadd1b53e..e1bea20451 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -204,7 +204,9 @@ DOCKER_TESTS := $(if $(TESTS), $(filter $(TESTS), $(__TESTS)), $(__TESTS)) $(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES),$(DOCKER_IMAGES)), \ $(foreach t,$(DOCKER_TESTS), \ $(eval .PHONY: docker-$t@$i) \ - $(eval docker-$t@$i: docker-image-$i docker-run-$t@$i) \ + $(eval docker-$t@$i: TEST=$t) \ + $(eval docker-$t@$i: IMAGE=qemu/$i) \ + $(eval docker-$t@$i: docker-image-$i; @$(MAKE) docker-run) \ ) \ $(foreach t,$(DOCKER_TESTS), \ $(eval docker-all-tests: docker-$t@$i) \ @@ -298,14 +300,6 @@ docker-run: docker-qemu-src $(call quiet-command, rm -r $(DOCKER_SRC_COPY), \ " CLEANUP $(DOCKER_SRC_COPY)") -# Run targets: -# -# Of the form docker-TEST-FOO@IMAGE-BAR which will then be expanded into a call to "make docker-run" -docker-run-%: CMD = $(shell echo '$@' | sed -e 's/docker-run-\([^@]*\)@\(.*\)/\1/') -docker-run-%: IMAGE = $(shell echo '$@' | sed -e 's/docker-run-\([^@]*\)@\(.*\)/\2/') -docker-run-%: - @$(MAKE) docker-run TEST=$(CMD) IMAGE=qemu/$(IMAGE) - docker-image: ${DOCKER_IMAGES:%=docker-image-%} docker-clean: -- 2.31.1