aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTsukasa OI <research_trasio@irq.a4lg.com>2025-08-22 01:49:26 +0000
committerChristoph Müllner <christophm30@gmail.com>2025-08-27 12:04:35 +0200
commit4f2083a0063cb03e6a675be44f90902e7ff69c68 (patch)
treec38543676f84e0ea020735396e0c463ae251b526
parentb8ca156d2ab0038c6af4569c52f9ec30d95342f0 (diff)
downloadriscv-gnu-toolchain-4f2083a0063cb03e6a675be44f90902e7ff69c68.zip
riscv-gnu-toolchain-4f2083a0063cb03e6a675be44f90902e7ff69c68.tar.gz
riscv-gnu-toolchain-4f2083a0063cb03e6a675be44f90902e7ff69c68.tar.bz2
regression: Smart construction/configuration of TARGETS2025.08.28
It makes: 1. Default target list is easier to read and to reconfigure by splitting target bases and code models. 2. TARGETS is now configurable through external environment variable (not just as a make argument), which makes TARGETS consistent with RUNTESTFLAGS. Because `TARGETS = ...` is used inside the Makefile, we could configure targets to perform regression tests with `make report TARGETS='...'` but not `TARGETS='...' make report`. This semantics is inconsistent with e.g. RUNTESTFLAGS as shown in README.md. This commit now uses `?=` to respect environment variable TARGETS given from outside, making `TARGETS='...' make report` usable. Also, this commit changes how default target list is constructed. It splits target bases and code models and each is reconfigurable through make arguments (like `make report TARGET_CODE_MODELS=medlow`). Note that TARGET_BASES and TARGET_CODE_MODELS are chosen so that no submodules use those Make variables and are ignored when the variable `TARGETS` is explicitly configured.
-rw-r--r--regression/Makefile43
1 files changed, 16 insertions, 27 deletions
diff --git a/regression/Makefile b/regression/Makefile
index 1231774..a66961c 100644
--- a/regression/Makefile
+++ b/regression/Makefile
@@ -2,33 +2,22 @@
report:
# The list of target tuples that we want to test.
-TARGETS =
-TARGETS += newlib-rv32i-ilp32-medlow
-TARGETS += newlib-rv32im-ilp32-medlow
-TARGETS += newlib-rv32iac-ilp32-medlow
-TARGETS += newlib-rv32imac-ilp32-medlow
-TARGETS += newlib-rv32imafc-ilp32f-medlow
-TARGETS += newlib-rv64imac-lp64-medlow
-TARGETS += newlib-rv64imafdc-lp64d-medlow
-TARGETS += linux-rv32imac-ilp32-medlow
-TARGETS += linux-rv32imafdc-ilp32-medlow
-TARGETS += linux-rv32imafdc-ilp32d-medlow
-TARGETS += linux-rv64imac-lp64-medlow
-TARGETS += linux-rv64imafdc-lp64-medlow
-TARGETS += linux-rv64imafdc-lp64d-medlow
-TARGETS += newlib-rv32i-ilp32-medany
-TARGETS += newlib-rv32im-ilp32-medany
-TARGETS += newlib-rv32iac-ilp32-medany
-TARGETS += newlib-rv32imac-ilp32-medany
-TARGETS += newlib-rv32imafc-ilp32f-medany
-TARGETS += newlib-rv64imac-lp64-medany
-TARGETS += newlib-rv64imafdc-lp64d-medany
-TARGETS += linux-rv32imac-ilp32-medany
-TARGETS += linux-rv32imafdc-ilp32-medany
-TARGETS += linux-rv32imafdc-ilp32d-medany
-TARGETS += linux-rv64imac-lp64-medany
-TARGETS += linux-rv64imafdc-lp64-medany
-TARGETS += linux-rv64imafdc-lp64d-medany
+TARGET_BASES = \
+ newlib-rv32i-ilp32 \
+ newlib-rv32im-ilp32 \
+ newlib-rv32iac-ilp32 \
+ newlib-rv32imac-ilp32 \
+ newlib-rv32imafc-ilp32f \
+ newlib-rv64imac-lp64 \
+ newlib-rv64imafdc-lp64d \
+ linux-rv32imac-ilp32 \
+ linux-rv32imafdc-ilp32 \
+ linux-rv32imafdc-ilp32d \
+ linux-rv64imac-lp64 \
+ linux-rv64imafdc-lp64 \
+ linux-rv64imafdc-lp64d
+TARGET_CODE_MODELS = medlow medany
+TARGETS ?= $(foreach CODE_MODEL,$(TARGET_CODE_MODELS), $(addsuffix -$(CODE_MODEL),$(TARGET_BASES)))
# This is the link between the report targets and the actual testsuite
# build/test runs. It's setup with a level of indirection here to make sure