-
Notifications
You must be signed in to change notification settings - Fork 0
/
tos-build.sh
executable file
·91 lines (82 loc) · 1.74 KB
/
tos-build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/bin/bash
#
# Builds Trusted OS, mainly for ARM Trusted Firmware.
# Calls $ATF_SPD-build.sh for the actual build of a specific Trusted OS.
# Not intended to be called directly, invoked from uefi-build.sh.
#
# Board configuration is extracted from
# parse-platforms.py and platforms.config.
#
# Copyright (c) 2015-2017, Linaro Ltd. All rights reserved.
#
# SPDX-License-Identifier: ISC
#
. "$TOOLS_DIR"/common-functions
function usage
{
echo "usage:"
echo "tos-build.sh -e <EDK2 source directory> -t <UEFI build profile/toolchain> <platform>"
echo
}
function build_platform
{
if [ X"$EDK2_DIR" = X"" ];then
echo "EDK2_DIR not set!" >&2
return 1
fi
if [ X"`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o build_tos`" = X"" ]; then
echo "Platform '$1' is not configured to build Trusted OS."
return 0
fi
#
# Build Trusted OS
#
ATF_SPD="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o atf_spd`"
if [ -f $TOOLS_DIR/$ATF_SPD-build.sh ]; then
echo "Building $ATF_SPD Trusted OS"
if [ $VERBOSE -eq 1 ]; then
echo "$TOOLS_DIR/$ATF_SPD-build.sh -e "$EDK2_DIR" -t "$BUILD_PROFILE" $build"
fi
$TOOLS_DIR/$ATF_SPD-build.sh -e "$EDK2_DIR" -t "$BUILD_PROFILE" $build
return $?
else
echo "ERROR: missing Trusted OS build script."
echo " Or build script not named $ATF_SPD-build.sh"
return 1
fi
}
build=
if [ $# = 0 ]
then
usage
exit 1
else
while [ "$1" != "" ]; do
case $1 in
"-e" )
shift
EDK2_DIR="$1"
;;
"/h" | "/?" | "-?" | "-h" | "--help" )
usage
exit
;;
"-t" )
shift
BUILD_PROFILE="$1"
;;
* )
build="$1"
;;
esac
shift
done
fi
if [ X"$build" = X"" ]; then
echo "No platform specified!" >&2
echo
usage
exit 1
fi
build_platform $build
exit $?