[U-Boot] [PATCH] MAKEALL: add support for per architecture toolchains
Simon Glass
sjg at chromium.org
Fri Jan 25 22:21:48 CET 2013
On Fri, Jan 25, 2013 at 7:48 AM, Allen Martin <amartin at nvidia.com> wrote:
> Add support for per architecture CROSS_COMPILE toolchain definitions
> via CROSS_COMPILE_ARCH where "ARCH" is any of the supported u-boot
> architectures. This allows building every supported u-boot board in a
> single pass of MAKEALL.
>
> Signed-off-by: Allen Martin <amartin at nvidia.com>
Acked-by: Simon Glass <sjg at chromium.org>
See below for a small suggestion.
> ---
> MAKEALL | 32 +++++++++++++++++++++++++-------
> 1 file changed, 25 insertions(+), 7 deletions(-)
>
> diff --git a/MAKEALL b/MAKEALL
> index 5b06c54..18b4e4d 100755
> --- a/MAKEALL
> +++ b/MAKEALL
> @@ -35,6 +35,9 @@ usage()
> Environment variables:
> BUILD_NCPUS number of parallel make jobs (default: auto)
> CROSS_COMPILE cross-compiler toolchain prefix (default: "")
> + CROSS_COMPILE_ARM cross-compiler toolchain prefix for
> + architecture "ARM". Substitute "ARM" for any
> + supported architecture (default: "")
Perhaps better expressed as CROSS_COMPILE_<ARCH>?
> MAKEALL_LOGDIR output all logs to here (default: ./LOG/)
> BUILD_DIR output build directory (default: ./)
> BUILD_NBUILDS number of parallel targets (default: 1)
> @@ -180,13 +183,6 @@ else
> JOBS=""
> fi
>
> -
> -if [ "${CROSS_COMPILE}" ] ; then
> - MAKE="make CROSS_COMPILE=${CROSS_COMPILE}"
> -else
> - MAKE=make
> -fi
> -
> if [ "${MAKEALL_LOGDIR}" ] ; then
> LOG_DIR=${MAKEALL_LOGDIR}
> else
> @@ -585,6 +581,18 @@ get_target_maintainers() {
> echo "$mail"
> }
>
> +get_target_arch() {
> + local target=$1
> +
> + # Automatic mode
> + local line=`egrep -i "^[[:space:]]*${target}[[:space:]]" boards.cfg`
> +
> + if [ -z "${line}" ] ; then echo "" ; return ; fi
> +
> + set ${line}
> + echo "$2"
> +}
> +
> list_target() {
> if [ "$PRINT_MAINTS" != 'y' ] ; then
> echo "$1"
> @@ -655,6 +663,16 @@ build_target() {
>
> export BUILD_DIR="${output_dir}"
>
> + target_arch=$(get_target_arch ${target})
> + eval cross_toolchain=\$CROSS_COMPILE_${target_arch^^}
> + if [ "${cross_toolchain}" ] ; then
> + MAKE="make CROSS_COMPILE=${cross_toolchain}"
> + elif [ "${CROSS_COMPILE}" ] ; then
> + MAKE="make CROSS_COMPILE=${CROSS_COMPILE}"
> + else
> + MAKE=make
> + fi
> +
> ${MAKE} distclean >/dev/null
> ${MAKE} -s ${target}_config
>
> --
> 1.7.10.4
>
More information about the U-Boot
mailing list