diff options
author | Patrick Georgi <pgeorgi@chromium.org> | 2015-10-31 09:13:26 +0100 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-11-01 14:27:02 +0100 |
commit | f6dc5443185ea07fd305426a67a1b0aa57003d96 (patch) | |
tree | f4927912f5e5d81a161b89d60e9bb19809d09e0d | |
parent | 5ab5a39d2ed0ea28347218ad5e129a7c8244012c (diff) |
abuild: allow specifying multiple targets by mainboard descriptor
abuild -t EMULATION_QEMU_UCB_RISCV,EMULATION_SPIKE_UCB_RISCV works now
Change-Id: I49d8cd86e21ede724d8daa441b728efa1f6ea1fa
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: http://review.coreboot.org/12281
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
-rwxr-xr-x | util/abuild/abuild | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/util/abuild/abuild b/util/abuild/abuild index 51011a1d52..cddcb57648 100755 --- a/util/abuild/abuild +++ b/util/abuild/abuild @@ -118,7 +118,7 @@ function get_mainboards { local search_space=${1-*/*} grep -h "^[[:space:]]*config\>[[:space:]]*\<BOARD_" \ - ${ROOT}/src/mainboard/${search_space}/Kconfig.name | \ + ${ROOT}/src/mainboard/${search_space}/Kconfig.name 2>/dev/null | \ sed "s,^.*\<BOARD_\([A-Z0-9_]*\)\>.*$,\1," } @@ -154,11 +154,21 @@ function mainboard_vendor # If a directory contains multiple boards, returns them all. function normalize_target { - if [ -r ${ROOT}/src/mainboard/$1/Kconfig.name ]; then - get_mainboards $1 - elif [ -n "$(mainboard_directory $1)" ]; then - echo $1 + local targets=$(get_mainboards $1) + if [ -n "$targets" ]; then + echo $targets + return fi + + local targets=$(echo $1 | tr ',' ' ') + for i in $targets; do + if [ -n "$(mainboard_directory $i)" ]; then + echo $i + else + echo "$i is not a valid target" >&2 + exit 1 + fi + done } function create_config |