summaryrefslogtreecommitdiffstats
path: root/src/build/tools/hbDistribute
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2012-05-30 22:51:33 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-06-08 14:25:44 -0500
commitad6cf41f0adc544fb8dacae893fa25b57ba2cf82 (patch)
treed4cb851443c4fcc25e647af6876b1ff8e70dda44 /src/build/tools/hbDistribute
parentf9df2e083971910e20fe47bfe3c117b7df9db6da (diff)
downloadtalos-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-xsrc/build/tools/hbDistribute115
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
+
OpenPOWER on IntegriCloud