X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=MAKEALL;h=e5da6f18599452f4ec68bff8190bf789dc402a34;hb=c9b2feafaaf0a7998347589f9a29f7169873af6e;hp=350a524c4b12849af455ba14a2f08e7ef962397a;hpb=c1f8750f9f15a81e40566f2be6fe359649e91a00;p=u-boot diff --git a/MAKEALL b/MAKEALL index 350a524c4b..e5da6f1859 100755 --- a/MAKEALL +++ b/MAKEALL @@ -16,6 +16,9 @@ usage() -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 + -m, --maintainers List all targets and maintainer email + -M, --mails List all targets and all affilated emails -h, --help This help output Selections by these options are logically ANDed; if the same option @@ -47,8 +50,8 @@ usage() exit ${ret} } -SHORT_OPTS="ha:c:v:s:" -LONG_OPTS="help,arch:,cpu:,vendor:,soc:" +SHORT_OPTS="ha:c:v:s:lmM" +LONG_OPTS="help,arch:,cpu:,vendor:,soc:,list,maintainers,mails" # Option processing based on util-linux-2.13/getopt-parse.bash @@ -65,6 +68,9 @@ TEMP=`getopt -o ${SHORT_OPTS} --long ${LONG_OPTS} \ eval set -- "$TEMP" SELECTED='' +ONLY_LIST='' +PRINT_MAINTS='' +MAINTAINERS_ONLY='' while true ; do case "$1" in @@ -104,6 +110,18 @@ while true ; do fi SELECTED='y' shift 2 ;; + -l|--list) + ONLY_LIST='y' + shift ;; + -m|--maintainers) + ONLY_LIST='y' + PRINT_MAINTS='y' + MAINTAINERS_ONLY='y' + shift ;; + -M|--mails) + ONLY_LIST='y' + PRINT_MAINTS='y' + shift ;; -h|--help) usage ;; --) @@ -296,80 +314,23 @@ LIST_ppc=" \ LIST_SA="$(boards_by_cpu sa1100)" -######################################################################### -## ARM7 Systems -######################################################################### - -LIST_ARM7=" \ - lpc2292sodimm \ - modnet50 \ -" - ######################################################################### ## ARM9 Systems ######################################################################### -LIST_ARM9=" \ - a320evb \ - aspenite \ - da830evm \ - da850evm \ - edminiv2 \ - guruplug \ - imx27lite \ - jadecpu \ - km_kirkwood \ - magnesium \ - mv88f6281gtw_ge \ - mx1ads \ - nhk8815 \ - nhk8815_onenand \ - omap1510inn \ - omap1610h2 \ - omap1610inn \ - omap5912osk \ - omap730p2 \ - openrd_base \ - openrd_client \ - openrd_ultimate \ - portl2 \ - rd6281a \ - scb9328 \ - sheevaplug \ - smdk2410 \ - spear300 \ - spear310 \ - spear320 \ - spear600 \ - VCMA9 \ - versatile \ - versatileab \ - versatilepb \ - davinci_dvevm \ - davinci_schmoogie \ - davinci_sffsdr \ - davinci_sonata \ - davinci_dm355evm \ - davinci_dm355leopard \ - davinci_dm365evm \ - davinci_dm6467evm \ +LIST_ARM9="$(boards_by_cpu arm920t) \ + $(boards_by_cpu arm926ejs) \ + $(boards_by_cpu arm925t) \ " ######################################################################### ## ARM11 Systems ######################################################################### -LIST_ARM11=" \ - omap2420h4 \ - apollon \ - imx31_litekit \ +LIST_ARM11="$(boards_by_cpu arm1136) \ imx31_phycore \ imx31_phycore_eet \ - mx31ads \ mx31pdk \ - mx31pdk_nand \ - qong \ smdk6400 \ - tnetv107x_evm \ " ######################################################################### @@ -401,7 +362,6 @@ LIST_ixp="$(boards_by_cpu ixp) LIST_arm=" \ ${LIST_SA} \ - ${LIST_ARM7} \ ${LIST_ARM9} \ ${LIST_ARM10} \ ${LIST_ARM11} \ @@ -432,14 +392,11 @@ LIST_mips4kc=" \ vct_premium_onenand_small \ " -LIST_mips5kc="" - LIST_au1xx0=" \ dbau1000 \ dbau1100 \ dbau1500 \ dbau1550 \ - dbau1550_el \ gth2 \ " @@ -453,20 +410,23 @@ LIST_mips=" \ ## MIPS Systems (little endian) ######################################################################### -LIST_mips4kc_el="" - -LIST_mips5kc_el="" +LIST_xburst_el=" \ + qi_lb60 \ +" LIST_au1xx0_el=" \ dbau1550_el \ pb1000 \ " - LIST_mips_el=" \ - ${LIST_mips4kc_el} \ - ${LIST_mips5kc_el} \ + ${LIST_xburst_el} \ ${LIST_au1xx0_el} \ " +######################################################################### +## OpenRISC Systems +######################################################################### + +LIST_openrisc="$(boards_by_arch openrisc)" ######################################################################### ## x86 Systems @@ -490,20 +450,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 @@ -533,11 +488,118 @@ LIST_sh="$(boards_by_arch sh)" LIST_sparc="$(boards_by_arch sparc)" +######################################################################### +## NDS32 Systems +######################################################################### + +LIST_nds32="$(boards_by_arch nds32)" + #----------------------------------------------------------------------- +get_target_location() { + local target=$1 + local BOARD_NAME="" + local CONFIG_NAME="" + local board="" + local vendor="" + + # Automatic mode + local line=`egrep -i "^[[:space:]]*${target}[[:space:]]" boards.cfg` + + if [ -z "${line}" ] ; then echo "" ; return ; fi + + set ${line} + + # add default board name if needed + [ $# = 3 ] && set ${line} ${1} + + CONFIG_NAME="${1%_config}" + + [ "${BOARD_NAME}" ] || BOARD_NAME="${1%_config}" + + if [ "$4" = "-" ] ; then + board=${BOARD_NAME} + else + board="$4" + fi + + [ $# -gt 4 ] && [ "$5" != "-" ] && vendor="$5" + [ $# -gt 6 ] && [ "$7" != "-" ] && { + tmp="${7%:*}" + if [ "$tmp" ] ; then + CONFIG_NAME="$tmp" + fi + } + + # Assign board directory to BOARDIR variable + if [ -z "${vendor}" ] ; then + BOARDDIR=${board} + else + BOARDDIR=${vendor}/${board} + fi + + echo "${CONFIG_NAME}:${BOARDDIR}" +} + +get_target_maintainers() { + local name=`echo $1 | cut -d : -f 1` + + if ! grep -qsi "[[:blank:]]${name}[[:blank:]]" MAINTAINERS ; then + echo "" + return ; + fi + + local line=`tac MAINTAINERS | grep -ni "[[:blank:]]${name}[[:blank:]]" | cut -d : -f 1` + local mail=`tac MAINTAINERS | tail -n +${line} | \ + sed -n ":start /.*@.*/ { b mail } ; n ; b start ; :mail /.*@.*/ { p ; n ; b mail } ; q" | \ + sed "s/^.*.*$//"` + echo "$mail" +} + +list_target() { + if [ "$PRINT_MAINTS" != 'y' ] ; then + echo "$1" + return + fi + + echo -n "$1:" + + local loc=`get_target_location $1` + + if [ -z "${loc}" ] ; then echo "ERROR" ; return ; fi + + local maintainers_result=`get_target_maintainers ${loc} | tr " " "\n"` + + if [ "$MAINTAINERS_ONLY" != 'y' ] ; then + + local dir=`echo ${loc} | cut -d ":" -f 2` + local cfg=`echo ${loc} | cut -d ":" -f 1` + local git_result=`git log --format=%aE board/${dir} \ + include/configs/${cfg}.h | grep "@"` + local git_result_recent=`echo ${git_result} | tr " " "\n" | \ + head -n 3` + local git_result_top=`echo ${git_result} | tr " " "\n" | \ + sort | uniq -c | sort -nr | head -n 3 | \ + sed "s/^ \+[0-9]\+ \+//"` + + echo -e "$git_result_recent\n$git_result_top\n$maintainers_result" | \ + sort -u | tr "\n" " " | sed "s/ $//" ; + else + echo -e "$maintainers_result" | sort -u | tr "\n" " " | \ + sed "s/ $//" ; + fi + + echo "" +} + build_target() { target=$1 + if [ "$ONLY_LIST" == 'y' ] ; then + list_target ${target} + return + fi + ${MAKE} distclean >/dev/null ${MAKE} -s ${target}_config @@ -558,8 +620,12 @@ build_target() { TOTAL_CNT=$((TOTAL_CNT + 1)) - ${CROSS_COMPILE}size ${BUILD_DIR}/u-boot \ - | tee -a ${LOG_DIR}/$target.MAKELOG + OBJS=${BUILD_DIR}/u-boot + if [ -e ${BUILD_DIR}/spl/u-boot-spl ]; then + OBJS="${OBJS} ${BUILD_DIR}/spl/u-boot-spl" + fi + + ${CROSS_COMPILE}size ${OBJS} | tee -a ${LOG_DIR}/$target.MAKELOG } build_targets() { for t in "$@" ; do @@ -581,6 +647,7 @@ build_targets() { #----------------------------------------------------------------------- print_stats() { + if [ "$ONLY_LIST" == 'y' ] ; then return ; fi echo "" echo "--------------------- SUMMARY ----------------------------" echo "Boards compiled: ${TOTAL_CNT}"