new file mode 100755
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Script to build all pflash backends
+#
+# Copyright 2015 IBM Corp.
+# Licensed under the Apache License, Version 2.0
+#
+# pflash has three different backends that are used on powerpc, arm (BMC) and
+# x86 (file-backed). In order to test for regressions when touching shared code
+# such as libflash.
+#
+# Defaults to the cross compilers available under Ubuntu. You can set the
+# environment variables arm_cc, amd64_cc, ppc64le_cc for other distributions.
+#
+# installing on x86:
+# apt-get install gcc-arm-linux-gnueabi gcc-powerpc64le-linux-gnu gcc
+#
+
+arm_cc=${arm_cc:-arm-linux-gnueabi-}
+amd64_cc=${amd64_cc:-x86_64-linux-gnu-}
+ppc64le_cc=${ppc64le_cc:-powerpc64le-linux-gnu-}
+
+echo "Building for ARM..."
+make clean && make distclean
+CROSS_COMPILE=${arm_cc} make || { echo "ARM build failed"; exit 1; }
+
+echo "Building for x86..."
+make clean && make distclean
+CROSS_COMPILE=${amd64_cc} make || { echo "x86 build failed"; exit 1; }
+
+echo "Building for ppc64le..."
+make clean && make distclean
+CROSS_COMPILE=${ppc64le_cc} make || { echo "ppc64le build failed"; exit 1; }
+
+make clean && make distclean
We need to test all the backends when eg. making changes to libflash, to ensure that something hasn't gone wrong. To encourage developers to do this, add a script to simplify it. Patches welcome to detect the specific cross compilers binaries shipped on your favourite distro. Signed-off-by: Joel Stanley <joel@jms.id.au> --- external/pflash/build-all-arch.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 external/pflash/build-all-arch.sh