[U-Boot] [PATCH v2] MAKEALL: Add summary information

Peter Tyser ptyser at xes-inc.com
Sat Sep 19 01:36:22 CEST 2009


This change adds some basic summary information to the MAKEALL script.
The summary information includes how many boards were compiled, how many
boards had compile warnings or errors, and which specific boards had
compile warnings or errors.

This information is useful when doing compile testing to quickly
determine which boards are broken.

As a side benefit, no empty $BOARD.ERR files are generated by MAKEALL.
Previously, each board had a corresponding $BOARD.ERR file, even if the
board compiled cleanly.

Signed-off-by: Peter Tyser <ptyser at xes-inc.com>
---
Changes since v1:
- Fix issue where summary was printed multiple times when a list
  was composed of sublists

 MAKEALL |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/MAKEALL b/MAKEALL
index 1d50c34..a63d028 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -1,5 +1,8 @@
 #!/bin/sh
 
+# Print statistics when ctrl-c is pressed
+trap "print_stats; exit " 2
+
 # Determine number of CPU cores if no default was set
 : ${BUILD_NCPUS:="`getconf _NPROCESSORS_ONLN`"}
 
@@ -31,6 +34,11 @@ fi
 
 LIST=""
 
+# Keep track of the number of builds and errors
+ERR_CNT=0
+ERR_LIST=""
+TOTAL_CNT=0
+
 #########################################################################
 ## MPC5xx Systems
 #########################################################################
@@ -898,8 +906,14 @@ build_target() {
 	${MAKE} distclean >/dev/null
 	${MAKE} ${target}_config
 
-	${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \
-				| tee ${LOG_DIR}/$target.ERR
+	ERR=$(${MAKE} ${JOBS} all 2>&1 > ${LOG_DIR}/$target.MAKELOG)
+	if [ "${ERR}" ] ; then
+		echo "$ERR" | tee ${LOG_DIR}/$target.ERR
+		ERR_CNT=`expr ${ERR_CNT} + 1`
+		ERR_LIST="${ERR_LIST} $target"
+	fi
+
+	TOTAL_CNT=`expr ${TOTAL_CNT} + 1`
 
 	${CROSS_COMPILE}size ${BUILD_DIR}/u-boot \
 				| tee -a ${LOG_DIR}/$target.MAKELOG
@@ -907,7 +921,17 @@ build_target() {
 
 #-----------------------------------------------------------------------
 
+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
@@ -932,3 +956,5 @@ do
 			;;
 	esac
 done
+
+print_stats
-- 
1.6.2.1



More information about the U-Boot mailing list