]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - MAKEALL
MAINTAINERS: fix Andreas Bießmann AVR32 entry
[karo-tx-uboot.git] / MAKEALL
diff --git a/MAKEALL b/MAKEALL
index 5b610bf93f66898898207b2b0a7c38571cad9863..6b9ff30fd8737a3fd66469b6b890d1b54ea790db 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -201,6 +201,8 @@ LIST=""
 # Keep track of the number of builds and errors
 ERR_CNT=0
 ERR_LIST=""
+WRN_CNT=0
+WRN_LIST=""
 TOTAL_CNT=0
 CURRENT_CNT=0
 OLDEST_IDX=1
@@ -340,12 +342,7 @@ LIST_ARM9="$(boards_by_cpu arm920t)        \
 #########################################################################
 ## ARM11 Systems
 #########################################################################
-LIST_ARM11="$(boards_by_cpu arm1136)   \
-       imx31_phycore           \
-       imx31_phycore_eet       \
-       mx31pdk                 \
-       smdk6400                \
-"
+LIST_ARM11="$(boards_by_cpu arm1136)"
 
 #########################################################################
 ## ARMV7 Systems
@@ -615,6 +612,11 @@ build_target() {
        target=$1
        build_idx=$2
 
+       if [ "$ONLY_LIST" == 'y' ] ; then
+               list_target ${target}
+               return
+       fi
+
        if [ $BUILD_MANY == 1 ] ; then
                output_dir="${OUTPUT_PREFIX}/${target}"
                mkdir -p "${output_dir}"
@@ -624,11 +626,6 @@ build_target() {
 
        export BUILD_DIR="${output_dir}"
 
-       if [ "$ONLY_LIST" == 'y' ] ; then
-               list_target ${target}
-               return
-       fi
-
        ${MAKE} distclean >/dev/null
        ${MAKE} -s ${target}_config
 
@@ -644,14 +641,19 @@ build_target() {
                ${MAKE} tidy
 
                if [ -s ${LOG_DIR}/${target}.ERR ] ; then
-                       touch ${OUTPUT_PREFIX}/ERR/${target}
+                       cp ${LOG_DIR}/${target}.ERR ${OUTPUT_PREFIX}/ERR/${target}
                else
                        rm ${LOG_DIR}/${target}.ERR
                fi
        else
                if [ -s ${LOG_DIR}/${target}.ERR ] ; then
-                       : $(( ERR_CNT += 1 ))
-                       ERR_LIST="${ERR_LIST} $target"
+                       if grep -iw error ${LOG_DIR}/${target}.ERR ; then
+                               : $(( ERR_CNT += 1 ))
+                               ERR_LIST="${ERR_LIST} $target"
+                       else
+                               : $(( WRN_CNT += 1 ))
+                               WRN_LIST="${WRN_LIST} $target"
+                       fi
                else
                        rm ${LOG_DIR}/${target}.ERR
                fi
@@ -666,16 +668,15 @@ build_target() {
 
        [ -e "${LOG_DIR}/${target}.ERR" ] && cat "${LOG_DIR}/${target}.ERR"
 
-       #echo "Writing ${donep}${build_idx}"
        touch "${donep}${build_idx}"
 }
 
 manage_builds() {
        search_idx=${OLDEST_IDX}
-       #echo "Searching ${OLDEST_IDX} to ${TOTAL_CNT}"
+       if [ "$ONLY_LIST" == 'y' ] ; then return ; fi
+
        while true; do
                if [ -e "${donep}${search_idx}" ] ; then
-       #               echo "Found ${donep}${search_idx}"
                        : $(( CURRENT_CNT-- ))
                        [ ${OLDEST_IDX} -eq ${search_idx} ] &&
                                : $(( OLDEST_IDX++ ))
@@ -687,10 +688,8 @@ manage_builds() {
                        [ ${OLDEST_IDX} -eq ${search_idx} ] &&
                                : $(( OLDEST_IDX++ ))
                fi
-               #echo "Checking search ${search_idx} vs ${TOTAL_CNT}"
                : $(( search_idx++ ))
                if [ ${search_idx} -gt ${TOTAL_CNT} ] ; then
-                       #echo "Checking current ${CURRENT_CNT} vs ${BUILD_NBUILDS}"
                        if [ ${CURRENT_CNT} -ge ${BUILD_NBUILDS} ] ; then
                                search_idx=${OLDEST_IDX}
                                sleep 1
@@ -717,7 +716,11 @@ build_targets() {
                        : $((CURRENT_CNT += 1))
                        rm -f "${donep}${TOTAL_CNT}"
                        rm -f "${skipp}${TOTAL_CNT}"
-                       build_target ${t} ${TOTAL_CNT} &
+                       if [ $BUILD_MANY == 1 ] ; then
+                               build_target ${t} ${TOTAL_CNT} &
+                       else
+                               build_target ${t} ${TOTAL_CNT}
+                       fi
                fi
 
                # We maintain a running count of all the builds we have done.
@@ -739,26 +742,41 @@ build_targets() {
 
 #-----------------------------------------------------------------------
 
+kill_children() {
+       kill -- "-$1"
+
+       exit
+}
+
 print_stats() {
        if [ "$ONLY_LIST" == 'y' ] ; then return ; fi
 
        rm -f ${donep}* ${skipp}*
 
        if [ $BUILD_MANY == 1 ] && [ -e "${OUTPUT_PREFIX}/ERR" ] ; then
-               ERR_LIST=$(ls ${OUTPUT_PREFIX}/ERR/)
-               ERR_CNT=`ls -1 ${OUTPUT_PREFIX}/ERR/ | wc | awk '{print $1}'`
-       else
-               ERR_CNT=0
+               ERR_LIST=`grep -riwl error ${OUTPUT_PREFIX}/ERR/`
+               ERR_LIST=`for f in $ERR_LIST ; do echo -n " $(basename $f)" ; done`
+               ERR_CNT=`echo $ERR_LIST | wc -w | awk '{print $1}'`
+               WRN_LIST=`grep -riwL error ${OUTPUT_PREFIX}/ERR/`
+               WRN_LIST=`for f in $WRN_LIST ; do echo -n " $(basename $f)" ; done`
+               WRN_CNT=`echo $WRN_LIST | wc -w | awk '{print $1}'`
        fi
 
        echo ""
        echo "--------------------- SUMMARY ----------------------------"
        echo "Boards compiled: ${TOTAL_CNT}"
        if [ ${ERR_CNT} -gt 0 ] ; then
-               echo "Boards with warnings or errors: ${ERR_CNT} (${ERR_LIST} )"
+               echo "Boards with errors: ${ERR_CNT} (${ERR_LIST} )"
+       fi
+       if [ ${WRN_CNT} -gt 0 ] ; then
+               echo "Boards with warnings but no errors: ${WRN_CNT} (${WRN_LIST} )"
        fi
        echo "----------------------------------------------------------"
 
+       if [ $BUILD_MANY == 1 ] ; then
+               kill_children $$ &
+       fi
+
        exit $RC
 }