]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - MAKEALL
Fix unused function in cmd_bdinfo.c
[karo-tx-uboot.git] / MAKEALL
diff --git a/MAKEALL b/MAKEALL
index d592374049960a802f2adac10f075f6ac6715110..fa0121ced26a4a6a811bbe6e2b3d41ac4152a55a 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -1,58 +1,55 @@
 #!/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
+         -l,        --list            List all targets to be built
+         -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:l"
+LONG_OPTS="help,arch:,cpu:,vendor:,soc:,list"
 
 # Option processing based on util-linux-2.13/getopt-parse.bash
 
@@ -63,12 +60,13 @@ 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"
 
 SELECTED=''
+ONLY_LIST=''
 
 while true ; do
        case "$1" in
@@ -108,6 +106,11 @@ while true ; do
                fi
                SELECTED='y'
                shift 2 ;;
+       -l|--list)
+               ONLY_LIST='y'
+               shift ;;
+       -h|--help)
+               usage ;;
        --)
                shift ; break ;;
        *)
@@ -298,170 +301,40 @@ LIST_ppc="               \
 
 LIST_SA="$(boards_by_cpu sa1100)"
 
-#########################################################################
-## ARM7 Systems
-#########################################################################
-
-LIST_ARM7="            \
-       ap7             \
-       ap720t          \
-       armadillo       \
-       B2              \
-       ep7312          \
-       evb4510         \
-       impa7           \
-       integratorap    \
-       lpc2292sodimm   \
-       modnet50        \
-       SMN42           \
-"
-
 #########################################################################
 ## ARM9 Systems
 #########################################################################
 
-LIST_ARM9="                    \
-       a320evb                 \
-       ap920t                  \
-       ap922_XA10              \
-       ap926ejs                \
-       ap946es                 \
-       ap966                   \
-       aspenite                \
-       cp920t                  \
-       cp922_XA10              \
-       cp926ejs                \
-       cp946es                 \
-       cp966                   \
-       da830evm                \
-       da850evm                \
-       edb9301                 \
-       edb9302                 \
-       edb9302a                \
-       edb9307                 \
-       edb9307a                \
-       edb9312                 \
-       edb9315                 \
-       edb9315a                \
-       edminiv2                \
-       guruplug                \
-       imx27lite               \
-       jadecpu                 \
-       lpd7a400                \
-       magnesium               \
-       mv88f6281gtw_ge         \
-       mx1ads                  \
-       mx1fs2                  \
-       netstar                 \
-       nhk8815                 \
-       nhk8815_onenand         \
-       omap1510inn             \
+LIST_ARM9="$(boards_by_cpu arm920t)    \
+       $(boards_by_cpu arm926ejs)      \
+       $(boards_by_cpu arm925t)        \
        omap1610h2              \
        omap1610inn             \
-       omap5912osk             \
        omap730p2               \
-       openrd_base             \
-       openrd_client           \
-       openrd_ultimate         \
-       rd6281a                 \
-       sbc2410x                \
-       scb9328                 \
-       sheevaplug              \
-       smdk2400                \
-       smdk2410                \
-       spear300                \
-       spear310                \
-       spear320                \
-       spear600                \
-       suen3                   \
-       trab                    \
-       VCMA9                   \
-       versatile               \
-       versatileab             \
-       versatilepb             \
-       voiceblue               \
-       davinci_dvevm           \
-       davinci_schmoogie       \
-       davinci_sffsdr          \
-       davinci_sonata          \
-       davinci_dm355evm        \
-       davinci_dm355leopard    \
-       davinci_dm365evm        \
-       davinci_dm6467evm       \
-"
-
-#########################################################################
-## ARM10 Systems
-#########################################################################
-LIST_ARM10="           \
-       integratorcp    \
-       cp1026          \
 "
 
 #########################################################################
 ## ARM11 Systems
 #########################################################################
-LIST_ARM11="                   \
-       cp1136                  \
-       omap2420h4              \
+LIST_ARM11="$(boards_by_cpu arm1136)   \
        apollon                 \
-       imx31_litekit           \
        imx31_phycore           \
        imx31_phycore_eet       \
-       mx31ads                 \
        mx31pdk                 \
-       mx31pdk_nand            \
-       qong                    \
        smdk6400                \
-       tnetv107x_evm           \
 "
 
 #########################################################################
 ## ARMV7 Systems
 #########################################################################
-LIST_ARMV7="           \
-       am3517_crane            \
-       am3517_evm              \
-       ca9x4_ct_vxp            \
-       devkit8000              \
-       dig297                  \
-       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="$(boards_by_soc at91)\
-       $(boards_by_soc at91rm9200)\
-       at91sam9260ek           \
-       at91sam9261ek           \
-       at91sam9263ek           \
-       at91sam9g10ek           \
-       at91sam9g20ek           \
-       at91sam9m10g45ek        \
-       at91sam9rlek            \
-       CPUAT91                 \
-       CPU9260                 \
-       CPU9G20                 \
-       pm9g45                  \
-       SBC35_A9G20             \
-       TNY_A9260               \
-       TNY_A9G20               \
-"
+LIST_at91="$(boards_by_soc at91)"
 
 #########################################################################
 ## Xscale Systems
@@ -480,7 +353,6 @@ LIST_ixp="$(boards_by_cpu ixp)
 
 LIST_arm="                     \
        ${LIST_SA}              \
-       ${LIST_ARM7}            \
        ${LIST_ARM9}            \
        ${LIST_ARM10}           \
        ${LIST_ARM11}           \
@@ -532,7 +404,9 @@ LIST_mips="         \
 ## MIPS Systems                (little endian)
 #########################################################################
 
-LIST_mips4kc_el=""
+LIST_mips4kc_el="      \
+       qi_lb60         \
+"
 
 LIST_mips5kc_el=""
 
@@ -557,9 +431,7 @@ 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
@@ -571,20 +443,15 @@ LIST_microblaze="$(boards_by_arch microblaze)"
 ## ColdFire Systems
 #########################################################################
 
-LIST_coldfire="$(boards_by_arch m68k)
-       astro_mcf5373l          \
-       cobra5272               \
+LIST_m68k="$(boards_by_arch m68k)
        EB+MCF-EV123            \
        EB+MCF-EV123_internal   \
        M52277EVB               \
        M5235EVB                \
-       M5329AFEE               \
-       M5373EVB                \
        M54451EVB               \
        M54455EVB               \
-       M5475AFE                \
-       M5485AFE                \
 "
+LIST_coldfire=${LIST_m68k}
 
 #########################################################################
 ## AVR32 Systems
@@ -614,11 +481,22 @@ LIST_sh="$(boards_by_arch sh)"
 
 LIST_sparc="$(boards_by_arch sparc)"
 
+#########################################################################
+## NDS32 Systems
+#########################################################################
+
+LIST_nds32="$(boards_by_arch nds32)"
+
 #-----------------------------------------------------------------------
 
 build_target() {
        target=$1
 
+       if [ "$ONLY_LIST" == 'y' ] ; then
+               echo "$target"
+               return
+       fi
+
        ${MAKE} distclean >/dev/null
        ${MAKE} -s ${target}_config
 
@@ -662,6 +540,7 @@ build_targets() {
 #-----------------------------------------------------------------------
 
 print_stats() {
+       if [ "$ONLY_LIST" == 'y' ] ; then return ; fi
        echo ""
        echo "--------------------- SUMMARY ----------------------------"
        echo "Boards compiled: ${TOTAL_CNT}"