@ -1,58 +1,54 @@
#!/bin/bash
#!/bin/bash
# Tool mainly for U-Boot Quality Assurance: build one or more board
# Tool mainly for U-Boot Quality Assurance: build one or more board
# configurations with minimal verbosity, showing only warnings and
# configurations with minimal verbosity, showing only warnings and
# errors.
# errors.
#
# There are several ways to select which boards to build.
usage()
#
{
# Traditionally, architecture names (like "powerpc"), CPU family names
# if exiting with 0, write to stdout, else write to stderr
# (like "mpc83xx") or board names can be specified on the command
local ret=${1:-0}
# line; without any arguments, MAKEALL defaults to building all Power
[ "${ret}" -eq 1 ] && exec 1>&2
# Architecture systems (i. e. same as for "MAKEALL powerpc").
cat <<-EOF
#
Usage: MAKEALL [options] [--] [boards-to-build]
# With the introduction of the board.cfg file, it has become possible
# to provide additional selections. We use standard command line
Options:
# options for this:
-a ARCH, --arch ARCH Build all boards with arch ARCH
#
-c CPU, --cpu CPU Build all boards with cpu CPU
# -a or --arch : Select architecture
-v VENDOR, --vendor VENDOR Build all boards with vendor VENDOR
# -c or --cpu : Select CPU family
-s SOC, --soc SOC Build all boards with soc SOC
# -s or --soc : Select SoC type
-h, --help This help output
# -v or --vendor: Select board vendor
#
Selections by these options are logically ANDed; if the same option
# Selections by these options are logically ANDed; if the same option
is used repeatedly, such selections are ORed. So "-v FOO -v BAR"
# is used repeatedly, such selections are ORed. So "-v FOO -v BAR"
will select all configurations where the vendor is either FOO or
# will select all configurations where the vendor is either FOO or
BAR. Any additional arguments specified on the command line are
# BAR. Any additional arguments specified on the command line are
always build additionally. See the boards.cfg file for more info.
# always build additionally.
#
If no boards are specified, then the default is "powerpc".
# Examples:
#
Environment variables:
# - build all Power Architecture boards:
BUILD_NCPUS number of parallel make jobs (default: auto)
#
CROSS_COMPILE cross-compiler toolchain prefix (default: "")
# MAKEALL -a powerpc
MAKEALL_LOGDIR output all logs to here (default: ./LOG/)
# or
BUILD_DIR output build directory (default: ./)
# MAKEALL --arch powerpc
# or
Examples:
# MAKEALL powerpc
- build all Power Architecture boards:
#
MAKEALL -a powerpc
# - build all PowerPC boards manufactured by vendor "esd":
MAKEALL --arch powerpc
#
MAKEALL powerpc
# MAKEALL -a powerpc -v esd
- build all PowerPC boards manufactured by vendor "esd":
#
MAKEALL -a powerpc -v esd
# - build all PowerPC boards manufactured either by "keymile" or
- build all PowerPC boards manufactured either by "keymile" or "siemens":
# "siemens":
MAKEALL -a powerpc -v keymile -v siemens
#
- build all Freescale boards with MPC83xx CPUs, plus all 4xx boards:
# MAKEALL -a powerpc -v keymile -v siemens
MAKEALL -c mpc83xx -v freescale 4xx
#
EOF
# - build all Freescale boards with MPC83xx CPUs, plus all 4xx boards:
exit ${ret}
#
}
# MAKEALL -c mpc83xx -v freescale 4xx
#
SHORT_OPTS="ha:c:v:s:"
#########################################################################
LONG_OPTS="help,arch:,cpu:,vendor:,soc:"
SHORT_OPTS="a:c:v:s:"
LONG_OPTS="arch:,cpu:,vendor:,soc:"
# Option processing based on util-linux-2.13/getopt-parse.bash
# 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} \
TEMP=`getopt -o ${SHORT_OPTS} --long ${LONG_OPTS} \
-n 'MAKEALL' -- "$@"`
-n 'MAKEALL' -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
[ $? != 0 ] && usage 1
# Note the quotes around `$TEMP': they are essential!
# Note the quotes around `$TEMP': they are essential!
eval set -- "$TEMP"
eval set -- "$TEMP"
@ -108,6 +104,8 @@ while true ; do
fi
fi
SELECTED='y'
SELECTED='y'
shift 2 ;;
shift 2 ;;
-h|--help)
usage ;;
--)
--)
shift ; break ;;
shift ; break ;;
*)
*)