Skip to content

Conversation

a4lg
Copy link
Contributor

@a4lg a4lg commented Aug 26, 2025

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.

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.
@pz9115
Copy link
Contributor

pz9115 commented Aug 27, 2025

LGTM, it make sense, thanks.

Copy link
Collaborator

@cmuellner cmuellner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@cmuellner cmuellner merged commit 4f2083a into riscv-collab:master Aug 27, 2025
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants