Skip to content

Commit

Permalink
tests/tcg: prepare Makefile.prereqs at configure time
Browse files Browse the repository at this point in the history
List the dependencies of the build-tcg-tests-* and run-tcg-tests-*
targets in a Makefile fragment, without going through Makefile.prereqs's
"parsing" of config-*.mak.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220401141326.1244422-13-pbonzini@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220419091020.3008144-16-alex.bennee@linaro.org>
  • Loading branch information
bonzini authored and stsquad committed Apr 20, 2022
1 parent 8e61ecc commit f2d5935
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 23 deletions.
9 changes: 6 additions & 3 deletions tests/Makefile.include
Expand Up @@ -39,14 +39,17 @@ SPEED = quick
# Build up our target list from the filtered list of ninja targets
TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa, $(ninja-targets)))

-include tests/tcg/Makefile.prereqs
config-host.mak: $(SRC_PATH)/tests/tcg/configure.sh
tests/tcg/Makefile.prereqs: config-host.mak

# Per guest TCG tests
BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(TARGETS))
CLEAN_TCG_TARGET_RULES=$(patsubst %,clean-tcg-tests-%, $(TARGETS))
RUN_TCG_TARGET_RULES=$(patsubst %,run-tcg-tests-%, $(TARGETS))

# Probe for the Docker Builds needed for each build
$(foreach PROBE_TARGET,$(TARGET_DIRS), \
$(eval -include $(SRC_PATH)/tests/tcg/Makefile.prereqs))
$(foreach TARGET,$(TARGETS), \
$(eval $(BUILD_DIR)/tests/tcg/config-$(TARGET).mak: config-host.mak))

$(BUILD_TCG_TARGET_RULES): build-tcg-tests-%: $(if $(CONFIG_PLUGIN),test-plugins)
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) \
Expand Down
18 changes: 0 additions & 18 deletions tests/tcg/Makefile.prereqs

This file was deleted.

10 changes: 8 additions & 2 deletions tests/tcg/configure.sh
Expand Up @@ -80,6 +80,8 @@ fi
: ${cross_as_tricore="tricore-as"}
: ${cross_ld_tricore="tricore-ld"}

makefile=tests/tcg/Makefile.prereqs
: > $makefile
for target in $target_list; do
arch=${target%%-*}

Expand Down Expand Up @@ -226,14 +228,17 @@ for target in $target_list; do
echo "target=$target" >> $config_target_mak
case $target in
*-softmmu)
echo "QEMU=$PWD/qemu-system-$arch" >> $config_target_mak
qemu="qemu-system-$arch"
;;
*-linux-user|*-bsd-user)
echo "QEMU=$PWD/qemu-$arch" >> $config_target_mak
qemu="qemu-$arch"
;;
esac

echo "run-tcg-tests-$target: $qemu\$(EXESUF)" >> $makefile

eval "target_compiler_cflags=\${cross_cc_cflags_$arch}"
echo "QEMU=$PWD/$qemu" >> $config_target_mak
echo "CROSS_CC_GUEST_CFLAGS=$target_compiler_cflags" >> $config_target_mak

got_cross_cc=no
Expand Down Expand Up @@ -329,6 +334,7 @@ for target in $target_list; do
test -n "$container_image"; then
for host in $container_hosts; do
if test "$host" = "$cpu"; then
echo "build-tcg-tests-$target: docker-image-$container_image" >> $makefile
echo "DOCKER_IMAGE=$container_image" >> $config_target_mak
echo "DOCKER_CROSS_CC_GUEST=$container_cross_cc" >> \
$config_target_mak
Expand Down

0 comments on commit f2d5935

Please sign in to comment.