diff options
| author | Mike Frysinger <vapier@gentoo.org> | 2011-04-21 22:01:43 +0000 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2011-07-26 16:25:32 +0200 | 
| commit | d8e392d95f20cb21767b99d92a9a7f852b0fec63 (patch) | |
| tree | 5aa8ebf409d8845ea9c584ddf8726da3942a8f9c | |
| parent | 17659d7de9e4905f8d06966c2354c87cdeb8b703 (diff) | |
| download | olio-uboot-2014.01-d8e392d95f20cb21767b99d92a9a7f852b0fec63.tar.xz olio-uboot-2014.01-d8e392d95f20cb21767b99d92a9a7f852b0fec63.zip | |
MAKEALL: add -h/--help options
Convert all the comments at the top of the file into help text for people
to easily get at with standard -h/--help options.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Detlev Zundel <dzu@denx.de>
| -rwxr-xr-x | MAKEALL | 100 | 
1 files changed, 49 insertions, 51 deletions
| @@ -1,58 +1,54 @@  #!/bin/bash -  # Tool mainly for U-Boot Quality Assurance: build one or more board  # configurations with minimal verbosity, showing only warnings and  # errors. -# -# There are several ways to select which boards to build. -# -# Traditionally, architecture names (like "powerpc"), CPU family names -# (like "mpc83xx") or board names can be specified on the command -# line; without any arguments, MAKEALL defaults to building all Power -# Architecture systems (i. e. same as for "MAKEALL powerpc"). -# -# With the introduction of the board.cfg file, it has become possible -# to provide additional selections.  We use standard command line -# options for this: -# -# -a or --arch	:	Select architecture -# -c or --cpu	:	Select CPU family -# -s or --soc	:	Select SoC type -# -v or --vendor:	Select board vendor -# -# Selections by these options are logically ANDed; if the same option -# is used repeatedly, such selections are ORed.  So "-v FOO -v BAR" -# will select all configurations where the vendor is either FOO or -# BAR.  Any additional arguments specified on the command line are -# always build additionally. -# -# Examples: -# -# - build all Power Architecture boards: -# -#	MAKEALL -a powerpc -#   or -#	MAKEALL --arch powerpc -#   or -#	MAKEALL powerpc -# -# - build all PowerPC boards manufactured by vendor "esd": -# -#	MAKEALL -a powerpc -v esd -# -# - build all PowerPC boards manufactured either by "keymile" or -#   "siemens": -# -#	MAKEALL -a powerpc -v keymile -v siemens -# -# - build all Freescale boards with MPC83xx CPUs, plus all 4xx boards: -# -#	MAKEALL -c mpc83xx -v freescale 4xx -# -######################################################################### -SHORT_OPTS="a:c:v:s:" -LONG_OPTS="arch:,cpu:,vendor:,soc:" +usage() +{ +	# if exiting with 0, write to stdout, else write to stderr +	local ret=${1:-0} +	[ "${ret}" -eq 1 ] && exec 1>&2 +	cat <<-EOF +	Usage: MAKEALL [options] [--] [boards-to-build] + +	Options: +	  -a ARCH,   --arch ARCH       Build all boards with arch ARCH +	  -c CPU,    --cpu CPU         Build all boards with cpu CPU +	  -v VENDOR, --vendor VENDOR   Build all boards with vendor VENDOR +	  -s SOC,    --soc SOC         Build all boards with soc SOC +	  -h,        --help            This help output + +	Selections by these options are logically ANDed; if the same option +	is used repeatedly, such selections are ORed.  So "-v FOO -v BAR" +	will select all configurations where the vendor is either FOO or +	BAR.  Any additional arguments specified on the command line are +	always build additionally.  See the boards.cfg file for more info. + +	If no boards are specified, then the default is "powerpc". + +	Environment variables: +	  BUILD_NCPUS      number of parallel make jobs (default: auto) +	  CROSS_COMPILE    cross-compiler toolchain prefix (default: "") +	  MAKEALL_LOGDIR   output all logs to here (default: ./LOG/) +	  BUILD_DIR        output build directory (default: ./) + +	Examples: +	  - build all Power Architecture boards: +	      MAKEALL -a powerpc +	      MAKEALL --arch powerpc +	      MAKEALL powerpc +	  - build all PowerPC boards manufactured by vendor "esd": +	      MAKEALL -a powerpc -v esd +	  - build all PowerPC boards manufactured either by "keymile" or "siemens": +	      MAKEALL -a powerpc -v keymile -v siemens +	  - build all Freescale boards with MPC83xx CPUs, plus all 4xx boards: +	      MAKEALL -c mpc83xx -v freescale 4xx +	EOF +	exit ${ret} +} + +SHORT_OPTS="ha:c:v:s:" +LONG_OPTS="help,arch:,cpu:,vendor:,soc:"  # Option processing based on util-linux-2.13/getopt-parse.bash @@ -63,7 +59,7 @@ LONG_OPTS="arch:,cpu:,vendor:,soc:"  TEMP=`getopt -o ${SHORT_OPTS} --long ${LONG_OPTS} \       -n 'MAKEALL' -- "$@"` -if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi +[ $? != 0 ] && usage 1  # Note the quotes around `$TEMP': they are essential!  eval set -- "$TEMP" @@ -108,6 +104,8 @@ while true ; do  		fi  		SELECTED='y'  		shift 2 ;; +	-h|--help) +		usage ;;  	--)  		shift ; break ;;  	*) |