summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@chromium.org>2015-10-31 00:42:50 +0100
committerPatrick Georgi <pgeorgi@google.com>2015-11-01 14:26:50 +0100
commit0c65dccd3f2d2443459fc00d63f096a94cba2d13 (patch)
treef4ad0b45a9092e6ba0d3527ab67cd99e817402bf
parentc2050f014d3d9d53766f99849881da4895eceb7c (diff)
downloadcoreboot-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-xutil/abuild/abuild26
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"?>'