mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
MAKEALL: add support for per architecture toolchains
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@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stephen Warren <swarren@wwwdotorg.org>
This commit is contained in:
parent
3e34cf7bff
commit
47104c37de
1 changed files with 25 additions and 7 deletions
32
MAKEALL
32
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_<ARCH> cross-compiler toolchain prefix for
|
||||
architecture "ARCH". Substitute "ARCH" for any
|
||||
supported architecture (default: "")
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue