#!/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 " [] [--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