--- /dev/null
+#!/bin/sh
+HELP='Usage:
+ quiet fname cmd args ...
+
+Runs the passed in command printing only "cmd" and "fname" unless an
+error occurs in which case it prints the whole command line and
+colorized program output. Useful for running compilation commands since
+it removes the cluter, making it easier to spot errors and warnings.
+
+'
+# Copyright (c) 2008-2010 LoEE
+# This program is released under the new BSD license.
+
+if [ $# -lt 2 ]; then
+ printf "$HELP"
+ exit
+fi
+
+GREEN=""
+RED=""
+NORM=""
+if [ "$TERM@" = "rxvt@" ]; then
+ GREEN="printf \033[32m"
+ RED="printf \033[31m"
+ YELLOW="printf \033[33m" # this is not yellow :)
+ NORM="printf \033[m\017"
+fi
+if [ "$OSTYPE@" = "msys@" ]; then
+ OLDATTR=$(eecolor.exe)
+ GREEN="eecolor.exe 0 10"
+ RED="eecolor.exe 0 12"
+ YELLOW="eecolor 0 14"
+ NORM="eecolor.exe ${OLDATTR}"
+fi
+
+MSG="$(printf "%-16s $1" "$2")"
+shift;
+
+printf "${MSG}\r" 1>&2
+
+rm -f quiet.log
+"$@" 2>> quiet.log
+RET=$?
+# if we check $? we won't notice the warnings
+if [ $RET -ne 0 -o -s quiet.log ]; then
+ echo "$@" >& 2
+ if [ $RET -ne 0 ]; then
+ $RED >& 2
+ else
+ $YELLOW >& 2
+ fi
+ cat quiet.log >& 2
+ $NORM &> 2
+
+ exit $RET
+else
+ $GREEN >& 2
+ printf "${MSG}\n" 1>&2
+ $NORM >& 2
+fi
+rm quiet.log
+exit $RET