diff options
author | Patrick Georgi <pgeorgi@chromium.org> | 2015-10-31 00:42:50 +0100 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-11-01 14:26:50 +0100 |
commit | 0c65dccd3f2d2443459fc00d63f096a94cba2d13 (patch) | |
tree | f4ad0b45a9092e6ba0d3527ab67cd99e817402bf | |
parent | c2050f014d3d9d53766f99849881da4895eceb7c (diff) | |
download | coreboot-0c65dccd3f2d2443459fc00d63f096a94cba2d13.tar.xz |
abuild: allow users to specify multiple boards
Specifying a directory with multiple boards (eg abuild -t google/veyron)
makes abuild run through all of them.
Change-Id: Ifb60f3a1f0c4a727dc43c48671ea90711ffe5585
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: http://review.coreboot.org/12278
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
-rwxr-xr-x | util/abuild/abuild | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/util/abuild/abuild b/util/abuild/abuild index 0c78a8fc9e..daf53c663e 100755 --- a/util/abuild/abuild +++ b/util/abuild/abuild @@ -551,25 +551,25 @@ if [ "$cpus" != "1" ]; then if [ "$cpus" = "max" ]; then cpus=32 fi - if [ "$target" = "" ]; then - # Test if xargs supports the non-standard -P flag - # FIXME: disabled until we managed to eliminate all the make(1) quirks - echo | xargs -P ${cpus:-0} -n 1 echo 2>/dev/null >/dev/null && USE_XARGS=1 - fi + # Test if xargs supports the non-standard -P flag + # FIXME: disabled until we managed to eliminate all the make(1) quirks + echo | xargs -P ${cpus:-0} -n 1 echo 2>/dev/null >/dev/null && USE_XARGS=1 fi if [ "$USE_XARGS" = "0" ]; then test "$MAKEFLAGS" == "" && test "$cpus" != "" && export MAKEFLAGS="-j $cpus" -build_all_targets() +build_targets() { - for MAINBOARD in $( get_mainboards ); do - build_target $MAINBOARD + local targets=${*-$(get_mainboards)} + for MAINBOARD in $targets; do + build_target ${MAINBOARD} remove_target ${MAINBOARD} done } else -build_all_targets() +build_targets() { + local targets=${*-$(get_mainboards)} # seed shared utils TMPCFG=`mktemp` printf "$configoptions" > $TMPCFG @@ -613,7 +613,7 @@ build_all_targets() rmdir ${scanbuild_out}tmp fi rm -rf $TARGET/temp $TMPCFG - get_mainboards | xargs -P ${cpus:-0} -n 1 $0 $cmdline -t + echo $targets | xargs -P ${cpus:-0} -n 1 $0 $cmdline -t } fi @@ -632,7 +632,9 @@ if [ "$target" != "" ]; then exit 1 fi build_srcdir=$(mainboard_directory ${MAINBOARD}) - if [ ! -r $ROOT/src/mainboard/${build_srcdir} ]; then + if [ "$(echo ${MAINBOARD} | wc -w)" -gt 1 ]; then + build_targets ${MAINBOARD} + elif [ ! -r $ROOT/src/mainboard/${build_srcdir} ]; then printf "No such target: ${MAINBOARD}\n" exit 1 else @@ -644,7 +646,7 @@ if [ "$target" != "" ]; then XMLFILE=$REAL_XMLFILE fi else - build_all_targets + build_targets rm -f $REAL_XMLFILE XMLFILE=$REAL_XMLFILE junit '<?xml version="1.0" encoding="utf-8"?>' |