mirror of https://github.com/xemu-project/xemu.git
tests/tcg: prepare Makefile.prereqs at configure time
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>
This commit is contained in:
parent
8e61ecca4a
commit
f2d5935145
|
@ -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) \
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
# -*- Mode: makefile -*-
|
||||
#
|
||||
# TCG Compiler Probe
|
||||
#
|
||||
# This Makefile fragment is included multiple times in the main make
|
||||
# script to probe for available compilers. This is used to build up a
|
||||
# selection of required docker targets before we invoke a sub-make for
|
||||
# each target.
|
||||
|
||||
DOCKER_IMAGE:=
|
||||
|
||||
-include $(BUILD_DIR)/tests/tcg/config-$(PROBE_TARGET).mak
|
||||
|
||||
ifneq ($(DOCKER_IMAGE),)
|
||||
build-tcg-tests-$(PROBE_TARGET): docker-image-$(DOCKER_IMAGE)
|
||||
endif
|
||||
$(BUILD_DIR)/tests/tcg/config_$(PROBE_TARGET).mak: config-host.mak
|
||||
config-host.mak: $(SRC_PATH)/tests/tcg/configure.sh
|
|
@ -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%%-*}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue