diff options
| author | Patrick Williams <iawillia@us.ibm.com> | 2012-05-30 22:51:33 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-06-08 14:25:44 -0500 |
| commit | ad6cf41f0adc544fb8dacae893fa25b57ba2cf82 (patch) | |
| tree | d4cb851443c4fcc25e647af6876b1ff8e70dda44 /src/build/tools/hbDistribute | |
| parent | f9df2e083971910e20fe47bfe3c117b7df9db6da (diff) | |
| download | talos-hostboot-ad6cf41f0adc544fb8dacae893fa25b57ba2cf82.tar.gz talos-hostboot-ad6cf41f0adc544fb8dacae893fa25b57ba2cf82.zip | |
Improve distribution mechanism for FSP delivery.
Replaced 'cpfiles' with a set of makefiles that does all
of the old function and also allows more complex behaviors
such as creating a TAR file of all our common code.
Moved the delivery location of our content into a simics sandbox
to match the locations in an FSP build. Updated debug tools
to handle living in a different location.
Removed 'post_model_hook.simics' and replaced with the
{startup,standalone,combined}.simics files.
Updated various scripts that were calling 'cpfiles' to instead
call 'hbDistribute' (which in turn calls the makefiles).
RTC: 41640
Change-Id: I10d1782ae89a397725e880c44ba44d01b0e4b011
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1173
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/build/tools/hbDistribute')
| -rwxr-xr-x | src/build/tools/hbDistribute | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/src/build/tools/hbDistribute b/src/build/tools/hbDistribute new file mode 100755 index 000000000..2c67a1c3f --- /dev/null +++ b/src/build/tools/hbDistribute @@ -0,0 +1,115 @@ +#!/bin/bash +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/build/tools/hbDistribute $ +# +# IBM CONFIDENTIAL +# +# COPYRIGHT International Business Machines Corp. 2012 +# +# p1 +# +# Object Code Only (OCO) source materials +# Licensed Internal Code Source Materials +# IBM HostBoot Licensed Internal Code +# +# The source code for this program is not published or other- +# wise divested of its trade secrets, irrespective of what has +# been deposited with the U.S. Copyright Office. +# +# Origin: 30 +# +# 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" + ;; + + "--release") + TARGET="ALL" + ;; + + "--debug") + DEBUG="-d" + ;; + + --*) + 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. +REPO_ROOT=`git rev-parse --show-toplevel` +if [ -z $REPO_ROOT ]; then + echo "ERROR: Not in a git repo." + exit +fi + +# Execute makefile for distribution. +mkdir -p $TARGET_DIR +export TARGET_TEST +export TARGET_DIR +cd $REPO_ROOT/src/build/mkrules +make -rR ${DEBUG:=} -f dist_targets.mk $TARGET + |

