The commandline parsing for abuild doing a couple of buggy things:
authorWarren Turkal <wt@penguintechs.org>
Mon, 27 Sep 2010 21:14:19 +0000 (21:14 +0000)
committerStefan Reinauer <stepan@openbios.org>
Mon, 27 Sep 2010 21:14:19 +0000 (21:14 +0000)
* Long options of the form --opt=arg were not having the arg stripped
  off into a another argument in the output. As a result, all long
  options with args had to be written like "--opt arg" on the command
  line to be recognized.
* The --remove option was shifting too many times.

As a bonus, I also added some logic to make "make distclean" cleanup
the default abuild build dir.

Signed-off-by: Warren Turkal <wt@penguintechs.org>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5869 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

Makefile
util/abuild/abuild

index a5cba2b906574fd871cb9c8a508134d8f715bfd0..3754ab99abce6b9c675e3ce0074b551e6d981e3f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -358,10 +358,13 @@ clean-for-update: doxygen-clean
 clean: clean-for-update
        rm -f $(obj)/coreboot* .ccwrap
 
+clean-abuild:
+       rm -rf coreboot_builds
+
 clean-cscope:
        rm -f cscope.out
 
-distclean: clean-cscope
+distclean: clean-cscope clean-abuild
        rm -rf $(obj)
        rm -f .config .config.old ..config.tmp .kconfig.d .tmpconfig* .ccwrap .xcompile
 
@@ -390,5 +393,5 @@ $(objutil)/romcc/romcc: $(top)/util/romcc/romcc.c
        @# http://www.coreboot.org/pipermail/coreboot/2010-February/055825.html
        $(HOSTCC) -g $(STACK) -Wall -o $@ $<
 
-.PHONY: $(PHONY) clean clean-cscope cscope distclean doxygen doxy coreboot .xcompile
+.PHONY: $(PHONY) clean clean-abuild clean-cscope cscope distclean doxygen doxy coreboot .xcompile
 
index f2f56654616ba8784e9b7814369353e806044a17..5a17e5e328e06c4ff2579cc1089bd27d65e04006 100755 (executable)
@@ -570,8 +570,8 @@ test "$ROOT" = "" && ROOT=$( cd ../..; pwd )
 getoptbrand="`getopt -V`"
 if [ "${getoptbrand:0:6}" == "getopt" ]; then
        # Detected GNU getopt that supports long options.
-       args=`getopt -l version,verbose,help,all,target:,broken,payloads:,test,cpus:,silent,xml,config,loglevel:,remove,prefix:,update,nostackprotect,scan-build,ccache Vvhat:bp:Tc:sxCl:rP:uy -- "$@"`
-       eval set "$args"
+       args=`getopt -l version,verbose,help,all,target:,broken,payloads:,test,cpus:,silent,xml,config,loglevel:,remove,prefix:,update,nostackprotect,scan-build,ccache -o Vvhat:bp:Tc:sxCl:rP:uy -- "$@"`
+       eval set -- $args
 else
        # Detected non-GNU getopt
        args=`getopt Vvhat:bp:Tc:sxCl:rP:uy $*`
@@ -589,7 +589,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;;
+               -r|--remove)    shift; remove=true;;
                -v|--verbose)   shift; verbose=true; silent='V=1';;
                -V|--version)   shift; myversion; exit 0;;
                -h|--help)      shift; myversion; myhelp; exit 0;;