MAKEALL: Fix return value
authorPeter Tyser <ptyser@xes-inc.com>
Mon, 7 Dec 2009 05:58:28 +0000 (23:58 -0600)
committerWolfgang Denk <wd@denx.de>
Mon, 7 Dec 2009 22:06:42 +0000 (23:06 +0100)
Previously MAKEALL would always return a value of 0, even if 1 or more
boards did not compile.  This change causes MAKEALL to return 0 if all
boards were able to build, otherwise 1.

This change also requires changing the script interpreter from sh to
bash to support bash's PIPESTATUS variable.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
MAKEALL

diff --git a/MAKEALL b/MAKEALL
index d63c5c21679d99431de9c30e1505163721fc795d..f9caabd8ffd35f43809aff18ec3ce9458c94dd00 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 # Print statistics when we exit
 trap exit 1 2 3 15
@@ -39,6 +39,7 @@ LIST=""
 ERR_CNT=0
 ERR_LIST=""
 TOTAL_CNT=0
+RC=0
 
 #########################################################################
 ## MPC5xx Systems
@@ -936,6 +937,12 @@ build_target() {
 
        ${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \
                                | tee ${LOG_DIR}/$target.ERR
+
+       # Check for 'make' errors
+       if [ ${PIPESTATUS[0]} -ne 0 ] ; then
+               RC=1
+       fi
+
        if [ -s ${LOG_DIR}/$target.ERR ] ; then
                ERR_CNT=$((ERR_CNT + 1))
                ERR_LIST="${ERR_LIST} $target"
@@ -959,6 +966,8 @@ print_stats() {
                echo "Boards with warnings or errors: ${ERR_CNT} (${ERR_LIST} )"
        fi
        echo "----------------------------------------------------------"
+
+       exit $RC
 }
 
 #-----------------------------------------------------------------------