blob: f0b84a29da62f307e940fb5ef6c62e086590051d (
plain)
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
#!/bin/bash
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# $Source: src/build/tools/hbDistribute $
#
# OpenPOWER HostBoot Project
#
# Contributors Listed Below - COPYRIGHT 2012,2016
# [+] International Business Machines Corp.
#
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing
# permissions and limitations under the License.
#
# IBM_PROLOG_END_TAG
TARGET_DIR="invalid directory"
TARGET="fsp_TARGET"
TEST_TEST=0
print_usage()
{
echo "Usage: $0 [--help] | "
echo " [<path>] [--test] [--release | --vpo | --simics | --fsp]"
echo
echo " This script will deliver the defined content for a distribition"
echo " target. Typically this is used to populate an ODE sandbox with"
echo " images and debug tools or for the generation of a build release"
echo " directory."
echo
echo " Target content is defined in src/build/mkrules/dist.targets.mk"
echo
echo " Options:"
echo " --help: Prints usage information"
echo
echo " --test: Includes test images and content instead of non-test."
echo
echo " --release: Create a full release distribution (all targets)."
echo " --vpo: Generate just 'vpo' content."
echo " --simics/--fsp: *default* Generate just 'fsp' content"
}
# Parse arguments
for ARG in $*
do
case $ARG in
"--help")
print_usage
exit
;;
"--test")
TARGET_TEST=1
;;
"--vpo")
TARGET="vpo_TARGET"
;;
"--simics" | "--fsp")
TARGET="fsp_TARGET"
;;
"--openpower")
TARGET="openpower_TARGET"
;;
"--release")
TARGET="ALL"
;;
"--debug")
DEBUG="-d"
;;
"--secureboot")
SECUREBOOT=1
;;
--*)
echo "ERROR: Unknown option: $ARG"
exit
;;
*)
TARGET_DIR=$ARG
;;
esac
done
# Verify target directory or default to sandbox.
if [ "${TARGET_DIR}" == "invalid directory" ]; then
if [ -z "${SANDBOXROOT}" -o -z "${SANDBOXNAME}" ]; then
echo "ERROR: No path specified and \$SANDBOXBASE undefined."
print_usage
exit
else
TARGET_DIR=${SANDBOXROOT}/${SANDBOXNAME}/src/hbfw
fi
fi
# Find root of repository.
if [ -e "src/build/tools/hbDistribute" ]; then
REPO_ROOT="./"
else
REPO_ROOT=`git rev-parse --show-toplevel`
if [ -z $REPO_ROOT ]; then
echo "ERROR: Not in a git repo."
exit
fi
fi
# Execute makefile for distribution.
mkdir -p $TARGET_DIR
export TARGET_TEST
export TARGET_DIR
export SECUREBOOT
cd $REPO_ROOT/src/build/mkrules
make -rR ${DEBUG:=} -f dist.targets.mk $TARGET
|