summaryrefslogtreecommitdiff
path: root/BuildBIOS.sh
blob: b80f8c729d3ea7236fe3dc37e97ceeee6c0a89f4 (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
#
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution.  The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
# 
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#

##**********************************************************************
## Function define
##**********************************************************************
function Usage () {
  echo
  echo "Script to build BIOS firmware and stitch the entire IFWI."
  echo
  echo "Usage: BuildBios.sh Build_Flags [PlatformName]  Target_Flag"
  echo
  echo "       Build_Flags:                 /MN    MinnowBoard3 (default: MN)"
  echo "       Build_Flags:                 /BG    Benson Glacier Board"
  echo "       Build_Flags:                 /MX    MinnowBoard3 Module"
  echo "       Build_Flags:                 /LH    LeafHill CRB Board"
  echo "       Build_Flags:                 /A     Set FabId to A "
  echo "       Build_Flags:                 /B     Set FabId to B (default:  FAB_B)"
  echo "       Build_Flags:                 /D     Set FabId to D "
  echo "       PlatformName [optional]:     Broxton  "                   
  echo "       Target_Flag:                 Release, Debug       "
  echo
  echo "Press any key......"
  read
  exit 0
}

##**********************************************************************
## Initial Setup
##**********************************************************************

Build_Flags=

## Parse Optional arguments
if [ "$1" == "/?" ]; then
  Usage
fi

if [ "$1" == "" ]; then
  echo "Not Enough Arguments Provided"
  echo "Please review the Help screen"
  Usage
fi


## Build Flags
for (( i=1; i<=$#; ))
  do
    if [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/MN" ]; then
      BoardId=MN
      Build_Flags="$Build_Flags /MN"
      shift
    elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/BG" ]; then
      BoardId=BG
      Build_Flags="$Build_Flags /BG"
      shift
    elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/MX" ]; then
      BoardId=MX
      Build_Flags="$Build_Flags /MX"
      shift
    elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/LH" ]; then
      BoardId=LH
      Build_Flags="$Build_Flags /LH"
      shift
    elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/D" ]; then
      FabId=D
      Build_Flags="$Build_Flags /D"
      shift
    elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/B" ]; then
      FabId=B
      Build_Flags="$Build_Flags /B"
      shift
    elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/A" ]; then
      FabId=A
      Build_Flags="$Build_Flags /A"
      shift
    else
      break
    fi
  done

if [ "$1" == "Broxton" ]; then
       shift
 else
   echo "No parameter for board : assume Broxton"  
fi

Target_Flag=Debug

if [ "$1" == "Debug" ]; then
  Target_Flag=Debug
elif [ "$1" == "Release" ]; then
  Target_Flag=Release
else
  echo "Error - Invalid Target"
  echo "  Please review the Help screen"
  Usage
fi

echo $Build_Flags
echo $Target_Flag

cd ..
export WORKSPACE=`pwd`
export CORE_PATH=$WORKSPACE/edk2
export CONF_PATH=$WORKSPACE/Conf
export PACKAGES_PATH=$WORKSPACE:$WORKSPACE/edk2:$WORKSPACE/edk2-platforms/:$WORKSPACE/edk2-platforms/Platform:$WORKSPACE/edk2-platforms/Platform/BroxtonPlatformPkg:$WORKSPACE/edk2-platforms/Silicon/BroxtonSoC:$WORKSPACE/edk2-platforms/Silicon:$WORKSPACE/edk2-platforms/Platform/BroxtonPlatformPkg/Common

make -C $CORE_PATH/BaseTools
source $CORE_PATH/edksetup.sh BaseTools

bash ./edk2-platforms/Platform/BroxtonPlatformPkg/BuildIFWI.sh $Build_Flags Broxton $Target_Flag