Add -r|--remove option to force abuild to remove the output directory
authorUwe Hermann <uwe@hermann-uwe.de>
Wed, 15 Apr 2009 16:07:27 +0000 (16:07 +0000)
committerUwe Hermann <uwe@hermann-uwe.de>
Wed, 15 Apr 2009 16:07:27 +0000 (16:07 +0000)
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

util/abuild/abuild
util/abuild/abuild.1

index a60bd50fb17b79c290afbacca1f2b6683004a80c..33e0a335bbee10f2a3918f7be1f37edac8521437 100755 (executable)
@@ -499,9 +499,30 @@ function test_target
        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 @@ function myhelp
        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 @@ while true ; do
                -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 @@ else
                for MAINBOARD in $( mainboards $VENDOR ); do
                        build_target $VENDOR $MAINBOARD
                        test_target $VENDOR $MAINBOARD
+                       remove_target $VENDOR $MAINBOARD
                done
        done
 fi
index 251a91279e704ae857d79f39f920c6de5e4b4595..44439e9213c545ed2a36ebdc27e800b1a9537895 100644 (file)
@@ -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 @@ path of the payload.
 .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