X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=MAKEALL;h=266e2311728092ef80a0c1c3befba70f3cc346f9;hb=f517afd5df152a266970a3be10fdf9fbf2a11280;hp=51312dd5e3c87b0d0f0cb49feb00cfcd087f1fdf;hpb=37a3bda0c9c8a2ffbf7e2a9e121177a3385a0626;p=u-boot diff --git a/MAKEALL b/MAKEALL index 51312dd5e3..266e231172 100755 --- a/MAKEALL +++ b/MAKEALL @@ -1,69 +1,65 @@ #!/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 iontroduction 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 -# Note that we use `"$@"' to let each command-line parameter expand to a +# Note that we use `"$@"' to let each command-line parameter expand to a # separate word. The quotes around `$@' are essential! # We need TEMP as the `eval set --' would nuke the return value of # getopt. 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 ;; *) @@ -125,6 +123,12 @@ FILTER="\$1 !~ /^#/" if [ "$SELECTED" ] ; then SELECTED=$(awk '('"$FILTER"') { print $1 }' boards.cfg) + + # Make sure some boards from boards.cfg are actually found + if [ -z "$SELECTED" ] ; then + echo "Error: No boards selected, invalid arguments" + exit 1 + fi fi ######################################################################### @@ -181,6 +185,7 @@ boards_by_field() } boards_by_arch() { boards_by_field 2 "$@" ; } boards_by_cpu() { boards_by_field 3 "$@" ; } +boards_by_soc() { boards_by_field 6 "$@" ; } ######################################################################### ## MPC5xx Systems @@ -320,6 +325,7 @@ LIST_ARM9=" \ ap926ejs \ ap946es \ ap966 \ + aspenite \ cp920t \ cp922_XA10 \ cp926ejs \ @@ -339,6 +345,7 @@ LIST_ARM9=" \ guruplug \ imx27lite \ jadecpu \ + km_kirkwood \ lpd7a400 \ magnesium \ mv88f6281gtw_ge \ @@ -353,6 +360,9 @@ LIST_ARM9=" \ omap5912osk \ omap730p2 \ openrd_base \ + openrd_client \ + openrd_ultimate \ + portl2 \ rd6281a \ sbc2410x \ scb9328 \ @@ -363,8 +373,6 @@ LIST_ARM9=" \ spear310 \ spear320 \ spear600 \ - suen3 \ - trab \ VCMA9 \ versatile \ versatileab \ @@ -410,9 +418,11 @@ LIST_ARM11=" \ ## ARMV7 Systems ######################################################################### LIST_ARMV7=" \ + am3517_crane \ am3517_evm \ ca9x4_ct_vxp \ devkit8000 \ + dig297 \ igep0020 \ igep0030 \ mx51evk \ @@ -433,11 +443,8 @@ LIST_ARMV7=" \ ## AT91 Systems ######################################################################### -LIST_at91=" \ - afeb9260 \ - at91cap9adk \ - at91rm9200dk \ - at91rm9200ek \ +LIST_at91="$(boards_by_soc at91)\ + $(boards_by_soc at91rm9200)\ at91sam9260ek \ at91sam9261ek \ at91sam9263ek \ @@ -445,19 +452,6 @@ LIST_at91=" \ at91sam9g20ek \ at91sam9m10g45ek \ at91sam9rlek \ - cmc_pu2 \ - CPUAT91 \ - CPU9260 \ - CPU9G20 \ - csb637 \ - eb_cpux9k2 \ - kb9202 \ - meesc \ - mp2usb \ - m501sk \ - otc570 \ - pm9261 \ - pm9263 \ pm9g45 \ SBC35_A9G20 \ TNY_A9260 \ @@ -512,9 +506,7 @@ LIST_mips4kc=" \ vct_premium_onenand_small \ " -LIST_mips5kc=" \ - purple \ -" +LIST_mips5kc="" LIST_au1xx0=" \ dbau1000 \ @@ -551,20 +543,16 @@ LIST_mips_el=" \ " ######################################################################### -## i386 Systems +## x86 Systems ######################################################################### -LIST_x86="$(boards_by_arch i386) - sc520_eNET \ -" +LIST_x86="$(boards_by_arch x86)" ######################################################################### ## Nios-II Systems ######################################################################### -LIST_nios2="$(boards_by_arch nios2) - nios2-generic \ -" +LIST_nios2="$(boards_by_arch nios2)" ######################################################################### ## MicroBlaze Systems @@ -601,39 +589,17 @@ LIST_avr32="$(boards_by_arch avr32)" ## Blackfin Systems ######################################################################### -LIST_blackfin="$(boards_by_arch blackfin) - bf527-ezkit-v2 -" +LIST_blackfin="$(boards_by_arch blackfin)" ######################################################################### ## SH Systems ######################################################################### -LIST_sh2=" \ - rsk7203 \ -" -LIST_sh3=" \ - mpr2 \ - ms7720se \ -" - -LIST_sh4=" \ - ms7750se \ - ms7722se \ - MigoR \ - r7780mp \ - r2dplus \ - sh7763rdp \ - sh7785lcr \ - ap325rxa \ - espt \ -" +LIST_sh2="$(boards_by_cpu sh2)" +LIST_sh3="$(boards_by_cpu sh3)" +LIST_sh4="$(boards_by_cpu sh4)" -LIST_sh=" \ - ${LIST_sh2} \ - ${LIST_sh3} \ - ${LIST_sh4} \ -" +LIST_sh="$(boards_by_arch sh)" ######################################################################### ## SPARC Systems