diff process.sh @ 4:780c4fc19f3e

Print successes, failures
author Chris Cannam
date Sat, 26 Jul 2014 10:20:17 +0100
parents 4e4f3903643d
children 57da88814766
line wrap: on
line diff
--- a/process.sh	Thu Jul 17 13:13:04 2014 +0100
+++ b/process.sh	Sat Jul 26 10:20:17 2014 +0100
@@ -10,12 +10,17 @@
 platform=linux
 bits=64
 
+configure() {
+    dir="$1"
+    if [ -f "$dir/configure" ] ; then
+	( cd "$dir" ; ./configure )
+    fi
+}
+
 configure_maybe() {
     dir="$1"
     if [ ! -f "$dir/Makefile" ] ; then
-	if [ -f "$dir/configure" ] ; then
-	    ( cd "$dir" ; ./configure )
-	fi
+	configure "$dir"
     fi
 }
 
@@ -29,17 +34,53 @@
     done
 }
 
-for dir in $(cat .hgsub | awk '{ print $1; }') ; do
-    echo
-    echo "Processing: $dir"
+build() {
+    dir="$1"
     if configure_maybe "$dir"; then
 	mfile=$(find_makefile "$dir")
 	if [ -n "$mfile" ]; then
 	    make -C "$dir" -f "$mfile"
 	else
 	    echo "Failed to find a Makefile in $dir"
+	    return 1
 	fi
     fi
+}
+
+rebuild() {
+    dir="$1"
+    if configure "$dir"; then
+	mfile=$(find_makefile "$dir")
+	if [ -n "$mfile" ]; then
+	    make -C "$dir" -f "$mfile" clean
+	    make -C "$dir" -f "$mfile"
+	else
+	    echo "Failed to find a Makefile in $dir"
+	    return 1
+	fi
+    fi
+}
+
+successes="/tmp/successes.$$.txt"
+failures="/tmp/failures.$$.txt"
+trap 'rm -f "$successes" "$failures"' 0
+
+for dir in $(cat .hgsub | awk '{ print $1; }') ; do
+    echo
+    echo "Processing: $dir"
+    if build "$dir"; then
+	echo "$dir" >> "$successes"
+    else
+	echo "$dir" >> "$failures"
+    fi
 done
 
-	    
+echo
+echo "** Succeeded in building:"
+cat "$successes"
+
+echo
+echo "** Failed to build:"	    
+cat "$failures"
+
+echo