X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=MAKEALL;h=26685fbfccc3621daa3bcfe5d04c610b1df41984;hb=ef5d9eb925cd1f5e13c1c3d940932b182e06446d;hp=c1f3842aad48f3043752389c3174bcfd9be44693;hpb=083d506937002f2795c80fe0c3ae194ad2c3d085;p=karo-tx-uboot.git diff --git a/MAKEALL b/MAKEALL index c1f3842aad..26685fbfcc 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 @@ -296,14 +301,11 @@ LIST_SA="$(boards_by_cpu sa1100)" ######################################################################### LIST_ARM7=" \ - ap7 \ - ap720t \ armadillo \ B2 \ ep7312 \ evb4510 \ impa7 \ - integratorap \ lpc2292sodimm \ modnet50 \ SMN42 \ @@ -315,16 +317,7 @@ LIST_ARM7=" \ LIST_ARM9=" \ a320evb \ - ap920t \ - ap922_XA10 \ - ap926ejs \ - ap946es \ - ap966 \ - cp920t \ - cp922_XA10 \ - cp926ejs \ - cp946es \ - cp966 \ + aspenite \ da830evm \ da850evm \ edb9301 \ @@ -339,6 +332,7 @@ LIST_ARM9=" \ guruplug \ imx27lite \ jadecpu \ + km_kirkwood \ lpd7a400 \ magnesium \ mv88f6281gtw_ge \ @@ -353,6 +347,9 @@ LIST_ARM9=" \ omap5912osk \ omap730p2 \ openrd_base \ + openrd_client \ + openrd_ultimate \ + portl2 \ rd6281a \ sbc2410x \ scb9328 \ @@ -363,8 +360,6 @@ LIST_ARM9=" \ spear310 \ spear320 \ spear600 \ - suen3 \ - trab \ VCMA9 \ versatile \ versatileab \ @@ -380,19 +375,10 @@ LIST_ARM9=" \ davinci_dm6467evm \ " -######################################################################### -## ARM10 Systems -######################################################################### -LIST_ARM10=" \ - integratorcp \ - cp1026 \ -" - ######################################################################### ## ARM11 Systems ######################################################################### LIST_ARM11=" \ - cp1136 \ omap2420h4 \ apollon \ imx31_litekit \ @@ -409,71 +395,20 @@ LIST_ARM11=" \ ######################################################################### ## ARMV7 Systems ######################################################################### -LIST_ARMV7=" \ - am3517_evm \ - ca9x4_ct_vxp \ - devkit8000 \ - igep0020 \ - igep0030 \ - mx51evk \ - omap3_beagle \ - omap3_overo \ - omap3_evm \ - omap3_pandora \ - omap3_sdp3430 \ - omap3_zoom1 \ - omap3_zoom2 \ - omap4_panda \ - omap4_sdp4430 \ - s5p_goni \ - smdkc100 \ -" + +LIST_ARMV7="$(boards_by_cpu armv7)" ######################################################################### ## AT91 Systems ######################################################################### -LIST_at91=" \ - afeb9260 \ - at91cap9adk \ - at91rm9200dk \ - at91rm9200ek \ - at91sam9260ek \ - at91sam9261ek \ - at91sam9263ek \ - at91sam9g10ek \ - at91sam9g20ek \ - at91sam9m10g45ek \ - at91sam9rlek \ - cmc_pu2 \ - CPUAT91 \ - CPU9260 \ - CPU9G20 \ - csb637 \ - eb_cpux9k2 \ - kb9202 \ - meesc \ - mp2usb \ - m501sk \ - otc570 \ - pm9261 \ - pm9263 \ - pm9g45 \ - SBC35_A9G20 \ - TNY_A9260 \ - TNY_A9G20 \ -" +LIST_at91="$(boards_by_soc at91)" ######################################################################### ## Xscale Systems ######################################################################### -LIST_pxa="$(boards_by_cpu pxa) - polaris \ - trizepsiv \ - vpac270_nor \ - vpac270_onenand \ -" +LIST_pxa="$(boards_by_cpu pxa)" LIST_ixp="$(boards_by_cpu ixp) pdnb3 \ @@ -517,9 +452,7 @@ LIST_mips4kc=" \ vct_premium_onenand_small \ " -LIST_mips5kc=" \ - purple \ -" +LIST_mips5kc="" LIST_au1xx0=" \ dbau1000 \ @@ -556,20 +489,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 @@ -606,39 +535,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