Use quiet make wrappers from all.sh

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh
index 44930d2..9274c7b 100755
--- a/tests/scripts/all.sh
+++ b/tests/scripts/all.sh
@@ -131,6 +131,25 @@
 }
 
 pre_initialize_variables () {
+    special_options="--list-components|--list-all-components|-h|--help"
+    if [[ ! "$@" =~ $special_options ]]; then
+        # skip wrappers for "special options" which don't actually run any tests
+
+        # Pick up "quiet" wrappers for make and cmake, which don't output very much
+        # unless there is an error. This reduces logging overhead in the CI.
+        #
+        # Note that the cmake wrapper breaks unless we use an absolute path here.
+        export PATH=${PWD}/tests/scripts/quiet:$PATH
+        if [[ ! -x ${PWD}/tests/scripts/quiet/make ]]; then
+            echo "can't find quiet/make"
+            exit 1
+        fi
+        if [[ ! -x ${PWD}/tests/scripts/quiet/cmake ]]; then
+            echo "can't find quiet/cmake"
+            exit 1
+        fi
+    fi
+
     if in_mbedtls_repo; then
         CONFIG_H='include/mbedtls/mbedtls_config.h'
     else
@@ -6246,7 +6265,7 @@
 
 # Preliminary setup
 pre_check_environment
-pre_initialize_variables
+pre_initialize_variables "$@"
 pre_parse_command_line "$@"
 
 pre_check_git