MAKEALL: make sure to invoke GNU Make
authorMasahiro Yamada <yamada.m@jp.panasonic.com>
Tue, 22 Jul 2014 02:19:08 +0000 (11:19 +0900)
committerTom Rini <trini@ti.com>
Tue, 29 Jul 2014 15:48:38 +0000 (11:48 -0400)
Since the command name 'make' may not be GNU Make on some platforms
such as FreeBSD, MAKEALL should call scripts/show-gnu-make to get
the command name for GNU MAKE (and error out if it is not found).

The GNU Make should be searched after parsing options because we want
to allow "MAKEALL -h" even if GNU Make is missing on the system.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
MAKEALL

diff --git a/MAKEALL b/MAKEALL
index 020e65fdc8fc5432624b3ee6449d56a6ac36cb07..ed85b7c07514f3bc31bf917253abce9707285f49 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -162,6 +162,12 @@ while true ; do
                echo "Internal error!" >&2 ; exit 1 ;;
        esac
 done
+
+GNU_MAKE=$(scripts/show-gnu-make) || {
+       echo "GNU Make not found" >&2
+       exit 1
+}
+
 # echo "Remaining arguments:"
 # for arg do echo '--> '"\`$arg'" ; done
 
@@ -633,11 +639,11 @@ build_target() {
        target_arch=$(get_target_arch ${target})
        eval cross_toolchain=\$CROSS_COMPILE_`echo $target_arch | tr '[:lower:]' '[:upper:]'`
        if [ "${cross_toolchain}" ] ; then
-           MAKE="make CROSS_COMPILE=${cross_toolchain}"
+           MAKE="$GNU_MAKE CROSS_COMPILE=${cross_toolchain}"
        elif [ "${CROSS_COMPILE}" ] ; then
-           MAKE="make CROSS_COMPILE=${CROSS_COMPILE}"
+           MAKE="$GNU_MAKE CROSS_COMPILE=${CROSS_COMPILE}"
        else
-           MAKE=make
+           MAKE=$GNU_MAKE
        fi
 
        if [  "${output_dir}" != "." ] ; then