aboutsummaryrefslogtreecommitdiff
path: root/build-arm-tf.sh
diff options
context:
space:
mode:
authorJames King <james.king@arm.com>2015-05-18 12:53:30 +0100
committerRyan Harkin <ryan.harkin@linaro.org>2015-05-18 12:53:30 +0100
commit343d0952df8835b53be9e71ffe63542929062f42 (patch)
tree2ffebb8e48cf5979be3ca42c5829a63b036b50d9 /build-arm-tf.sh
Initialise repo with the prototype build scripts
These scripts are a first pass at creating the build scripts from the internal ARM repo. Signed-off-by: James King <james.king@arm.com> Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Diffstat (limited to 'build-arm-tf.sh')
-rwxr-xr-xbuild-arm-tf.sh94
1 files changed, 94 insertions, 0 deletions
diff --git a/build-arm-tf.sh b/build-arm-tf.sh
new file mode 100755
index 0000000..2ba6d96
--- /dev/null
+++ b/build-arm-tf.sh
@@ -0,0 +1,94 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# Neither the name of ARM nor the names of its contributors may be used
+# to endorse or promote products derived from this software without specific
+# prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+#
+# This script uses the following environment variables from the variant
+#
+# VARIANT - build variant name
+# TOP_DIR - workspace root directory
+# LINUX_COMPILER - PATH to GCC including CROSS-COMPILE prefix
+# ARM_TF_BUILD_ENABLED - Flag to enable building ARM Trusted Firmware
+# ARM_TF_PATH - sub-directory containing ARM Trusted Firmware code
+# ARM_TF_ARCH - ARM architecture (aarch64)
+# ARM_TF_PLATS - List of platforms to be built (from available in arm-tf/plat)
+# ARMTF_DEBUG_ENABLED - 1 = debug, 0 = release build
+#
+
+do_build ()
+{
+ if [ "$ARM_TF_BUILD_ENABLED" == "1" ]; then
+ export CROSS_COMPILE=$TOP_DIR/$LINUX_COMPILER
+ export ARCH=$ARM_TF_ARCH
+
+ pushd $TOP_DIR/$ARM_TF_PATH
+ for plat in $ARM_TF_PLATS; do
+ make -j $PARALLELISM PLAT=$plat DEBUG=$ARMTF_DEBUG_ENABLED
+ done
+ make fiptool
+ popd
+ fi
+}
+
+do_clean ()
+{
+ if [ "$ARM_TF_BUILD_ENABLED" == "1" ]; then
+ export CROSS_COMPILE=$TOP_DIR/$LINUX_COMPILER
+ export ARCH=$ARM_TF_ARCH
+
+ pushd $TOP_DIR/$ARM_TF_PATH
+
+ for plat in $ARM_TF_PLATS; do
+ make PLAT=$plat DEBUG=$ARMTF_DEBUG_ENABLED clean
+ done
+ make fiptool clean
+ popd
+ fi
+}
+
+do_package ()
+{
+ if [ "$ARM_TF_BUILD_ENABLED" == "1" ]; then
+ echo "Packaging arm-tf... $VARIANT";
+ # Copy binaries to output folder
+ pushd $TOP_DIR
+ for plat in $ARM_TF_PLATS; do
+ mkdir -p ${OUTDIR}/$plat
+ local mode=release
+ [ "$ARMTF_DEBUG_ENABLED" == "1" ] && mode=debug
+ for bin in $TOP_DIR/$ARM_TF_PATH/build/$plat/${mode}/bl*.bin; do
+ cp ${bin} ${OUTDIR}/$plat/tf-$(basename ${bin})
+ done
+ done
+ popd
+ fi
+}
+
+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+source $DIR/framework.sh $1 $2