summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@chromium.org>2015-10-31 09:13:26 +0100
committerPatrick Georgi <pgeorgi@google.com>2015-11-01 14:27:02 +0100
commitf6dc5443185ea07fd305426a67a1b0aa57003d96 (patch)
treef4927912f5e5d81a161b89d60e9bb19809d09e0d
parent5ab5a39d2ed0ea28347218ad5e129a7c8244012c (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-xutil/abuild/abuild20
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