Add -r|--remove option to force abuild to remove the output directory
after every board build, in order to save disk space if you don't need
the actual output files.
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4119 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/util/abuild/abuild b/util/abuild/abuild
index a60bd50..33e0a33 100755
--- a/util/abuild/abuild
+++ b/util/abuild/abuild
@@ -499,9 +499,30 @@
return 0
}
+function remove_target
+{
+ if [ "$remove" != "true" ]; then
+ return 0
+ fi
+
+ VENDOR=$1
+ MAINBOARD=$2
+
+ # Save the generated coreboot.rom file of each board.
+ if [ -r "$TARGET/${VENDOR}_${MAINBOARD}/coreboot.rom" ]; then
+ cp $TARGET/${VENDOR}_${MAINBOARD}/coreboot.rom \
+ ${VENDOR}_${MAINBOARD}_coreboot.rom
+ fi
+
+ printf "Removing build dir for board $VENDOR $MAINBOARD...\n"
+ rm -rf $TARGET/${VENDOR}_${MAINBOARD}
+
+ return 0
+}
+
function myhelp
{
- printf "Usage: $0 [-v] [-a] [-b] [-t <vendor/board>] [-p <dir>] [lbroot]\n"
+ printf "Usage: $0 [-v] [-a] [-b] [-r] [-t <vendor/board>] [-p <dir>] [lbroot]\n"
printf " $0 [-V|--version]\n"
printf " $0 [-h|--help]\n\n"
@@ -509,6 +530,7 @@
printf " [-v|--verbose] print more messages\n"
printf " [-a|--all] build previously succeeded ports as well\n"
printf " [-b|--broken] attempt to build ports that are known broken\n"
+ printf " [-r|--remove] remove output dir after build\n"
printf " [-t|--target <vendor/board>] attempt to build target vendor/board only\n"
printf " [-p|--payloads <dir>] use payloads in <dir> to build images\n"
printf " [-V|--version] print version number and exit\n"
@@ -570,6 +592,7 @@
-t|--target) shift; target="$1"; shift;;
-a|--all) shift; buildall=true;;
-b|--broken) shift; buildbroken=true;;
+ -r|--remove) shift; remove=true; shift;;
-v|--verbose) shift; verbose=true;;
-V|--version) shift; myversion; exit 0;;
-h|--help) shift; myversion; myhelp; exit 0;;
@@ -606,6 +629,7 @@
for MAINBOARD in $( mainboards $VENDOR ); do
build_target $VENDOR $MAINBOARD
test_target $VENDOR $MAINBOARD
+ remove_target $VENDOR $MAINBOARD
done
done
fi
diff --git a/util/abuild/abuild.1 b/util/abuild/abuild.1
index 251a912..44439e9 100644
--- a/util/abuild/abuild.1
+++ b/util/abuild/abuild.1
@@ -3,7 +3,7 @@
abuild \- build coreboot images for all available targets
.SH SYNOPSIS
.B abuild
-\fR[\fB\-abvxsTVh\fR] [\fB\-c\fR numcpus|max] [\fB\-t\fR vendor/board] [\fB\-p\fR dir]
+\fR[\fB\-abrvxsTVh\fR] [\fB\-c\fR numcpus|max] [\fB\-t\fR vendor/board] [\fB\-p\fR dir]
[LBROOT]
.SH DESCRIPTION
.B abuild
@@ -36,6 +36,12 @@
.B "\-t, \-\-target <vendor/board>"
Attempt to build target vendor/board only.
.TP
+.B "\-r, \-\-remove"
+Remove mainboard build directory after the respective target has been
+built. This is mainly used for development purposes, when you don't need
+the actual build output, but rather only want to know if a build failed
+or not.
+.TP
.B "\-x, \-\-xml"
Write an XML log file instead of a plain-text one.
The file will be called