#!/bin/sh
 
+# Print statistics when we exit
+trap exit 1 2 3 15
+trap print_stats 0
+
 # Determine number of CPU cores if no default was set
 : ${BUILD_NCPUS:="`getconf _NPROCESSORS_ONLN`"}
 
 
 LIST=""
 
+# Keep track of the number of builds and errors
+ERR_CNT=0
+ERR_LIST=""
+TOTAL_CNT=0
+
 #########################################################################
 ## MPC5xx Systems
 #########################################################################
 
        ${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \
                                | tee ${LOG_DIR}/$target.ERR
+       if [ -s ${LOG_DIR}/$target.ERR ] ; then
+               ERR_CNT=$((ERR_CNT + 1))
+               ERR_LIST="${ERR_LIST} $target"
+       else
+               rm ${LOG_DIR}/$target.ERR
+       fi
+
+       TOTAL_CNT=$((TOTAL_CNT + 1))
 
        ${CROSS_COMPILE}size ${BUILD_DIR}/u-boot \
                                | tee -a ${LOG_DIR}/$target.MAKELOG
 
 #-----------------------------------------------------------------------
 
+print_stats() {
+       echo ""
+       echo "--------------------- SUMMARY ----------------------------"
+       echo "Boards compiled: ${TOTAL_CNT}"
+       if [ ${ERR_CNT} -gt 0 ] ; then
+               echo "Boards with warnings or errors: ${ERR_CNT} (${ERR_LIST} )"
+       fi
+       echo "----------------------------------------------------------"
+}
 
+#-----------------------------------------------------------------------
 for arg in $@
 do
        case "$arg" in