Patrick Georgi (pgeorgi@google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/12281
-gerrit
commit 22415056e913f86a2a81b5f03242ee456025a4dc Author: Patrick Georgi pgeorgi@chromium.org Date: Sat Oct 31 09:13:26 2015 +0100
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 --- util/abuild/abuild | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/util/abuild/abuild b/util/abuild/abuild index 51011a1..cddcb57 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