]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/Build_IFWI.bat
IntelFsp2WrapperPkg: Update gFspWrapperTokenSpaceGuid to gIntelFsp2WrapperTokenSpaceGuid.
[mirror_edk2.git] / Vlv2TbltDevicePkg / Build_IFWI.bat
CommitLineData
3cbfba02
DW
1@REM @file\r
2@REM Windows batch file to build BIOS ROM\r
3@REM\r
4@REM Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
5@REM This program and the accompanying materials\r
6@REM are licensed and made available under the terms and conditions of the BSD License\r
7@REM which accompanies this distribution. The full text of the license may be found at\r
8@REM http://opensource.org/licenses/bsd-license.php\r
9@REM\r
10@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12@REM\r
13\r
14@echo off\r
15\r
16SetLocal EnableDelayedExpansion EnableExtensions\r
17\r
18@REM Go to root directory of the codebase.\r
19cd ..\r
20\r
21:: Assign initial values\r
22set exitCode=0\r
23set "Build_Flags= "\r
24set "Stitch_Flags= "\r
25set Arch=X64\r
26set PLATFORM_PACKAGE=Vlv2TbltDevicePkg\r
27set ROOT_DIR=%CD%\r
28\r
29:: Parse Optional arguments\r
30:OptLoop\r
31if /i "%~1"=="/?" goto Usage\r
32\r
33if /i "%~1"=="/q" (\r
34 set Build_Flags=%Build_Flags% /q\r
35 shift\r
36 goto OptLoop\r
37)\r
38if /i "%~1"=="/l" (\r
39 set Build_Flags=%Build_Flags% /l\r
40 shift\r
41 goto OptLoop\r
42)\r
43if /i "%~1" == "/c" (\r
44 set Build_Flags=%Build_Flags% /c\r
45 shift\r
46 goto OptLoop\r
47)\r
48if /i "%~1" == "/ECP" (\r
49 set Build_Flags=%Build_Flags% /ecp\r
50 shift\r
51 goto OptLoop\r
52)\r
53\r
54if /i "%~1"=="/s" (\r
55 set Build_Flags=%Build_Flags% /s\r
56 shift\r
57 goto OptLoop\r
58)\r
59\r
60if /i "%~1"=="/x64" (\r
61 set Arch=X64\r
62 set Build_Flags=%Build_Flags% /x64\r
63 shift\r
64 goto OptLoop\r
65)\r
66\r
67if /i "%~1"=="/IA32" (\r
68 set Arch=IA32\r
69 set Build_Flags=%Build_Flags% /IA32\r
70 shift\r
71 goto OptLoop\r
72)\r
73\r
74if /i "%~1"=="/nG" (\r
75 set Stitch_Flags=%Stitch_Flags% /nG\r
76 shift\r
77 goto OptLoop\r
78)\r
79if /i "%~1"=="/nM" (\r
80 set Stitch_Flags=%Stitch_Flags% /nM\r
81 shift\r
82 goto OptLoop\r
83)\r
84if /i "%~1"=="/nB" (\r
85 set Stitch_Flags=%Stitch_Flags% /nB\r
86 shift\r
87 goto OptLoop\r
88)\r
83586b5d
TH
89if /i "%~1"=="/yL" (\r
90 set Stitch_Flags=%Stitch_Flags% /yL\r
91 shift\r
92 goto OptLoop\r
93)\r
94\r
3cbfba02
DW
95\r
96:: Require 2 input parameters\r
97if "%~2"=="" goto Usage\r
98\r
99:: Assign required arguments\r
100set Platform_Type=%~1\r
101set Build_Target=%~2\r
83586b5d 102\r
3cbfba02
DW
103if "%~3"=="" (\r
104 set "IFWI_Suffix= "\r
105) else set "IFWI_Suffix=/S %~3"\r
106\r
107:: Build BIOS\r
108echo ======================================================================\r
109echo Build_IFWI: Calling BIOS build Script...\r
110if "%Platform_Type%" == "BYTC" (\r
111 call %PLATFORM_PACKAGE%\bld_vlv_cr.bat %Build_Flags% %Platform_Type% %Build_Target%\r
112 \r
113) else (\r
114 call %PLATFORM_PACKAGE%\bld_vlv.bat %Build_Flags% %Platform_Type% %Build_Target%\r
115)\r
116if %ERRORLEVEL% NEQ 0 (\r
117 echo echo -- Error Building BIOS & echo.\r
118 set exitCode=1\r
119 goto exit\r
120)\r
121echo.\r
122echo Finished Building BIOS.\r
123@REM Set BIOS_ID environment variable here.\r
124call Conf\BiosId.bat\r
125echo BIOS_ID=%BIOS_ID%\r
126\r
127:: Set the Board_Id, Build_Type, Version_Major, and Version_Minor environment variables\r
128find /v "#" Conf\BiosId.env > ver_strings\r
129for /f "tokens=1,3" %%i in (ver_strings) do set %%i=%%j\r
130del /f/q ver_strings >nul\r
131set BIOS_Name=%BOARD_ID%_%Arch%_%BUILD_TYPE%_%VERSION_MAJOR%_%VERSION_MINOR%.ROM\r
132\r
133:: Start Integration process\r
134echo ======================================================================\r
135echo Build_IFWI: Calling IFWI Stitching Script...\r
136if "%Platform_Type%" == "BYTC" (\r
137 pushd %PLATFORM_PACKAGE%\Stitch_CR\r
138) else (\r
139 pushd %PLATFORM_PACKAGE%\Stitch\r
140)\r
141 :: IFWIStitch.bat [/nG] [/nM] [/nB] [/B BIOS.rom] [/C StitchConfig] [/S IFWISuffix]\r
142 call IFWIStitch.bat %Stitch_Flags% /B ..\..\%BIOS_Name% %IFWI_Suffix%\r
143 \r
144 @echo off\r
145popd\r
146if %ERRORLEVEL% NEQ 0 (\r
147 echo echo -- Error Stitching %BIOS_Nam% & echo.\r
148 set exitCode=1\r
149)\r
150echo.\r
151echo Build_IFWI is finished.\r
152echo The final IFWI file is located in %ROOT_DIR%\Vlv2TbltDevicePkg\Stitch\\r
153echo ======================================================================\r
154goto Exit\r
155\r
156:Usage\r
157echo Script to build BIOS firmware and stitch the entire IFWI.\r
158echo.\r
159echo Usage: Build_IFWI.bat [options] PlatformType BuildTarget [IFWI Suffix]\r
160echo.\r
3cbfba02 161echo /c CleanAll before building\r
3cbfba02
DW
162echo /x64 Set Arch to X64 (default: X64)\r
163echo /IA32 Set Arch to IA32 (default: X64)\r
83586b5d 164echo /yL Enable SPI lock\r
3cbfba02
DW
165echo. \r
166echo Platform Types: MNW2\r
167echo Build Targets: Release, Debug\r
168echo IFWI Suffix: Suffix to append to end of IFWI filename (default: MM_DD_YYYY)\r
169echo.\r
170echo See Stitch/Stitch_Config.txt for additional stitching settings.\r
171echo.\r
172set exitCode=1\r
173\r
174:Exit\r
175@REM CD to platform package.\r
176cd %ROOT_DIR%\Vlv2TbltDevicePkg\r
177exit /b %exitCode%\r
178\r
179EndLocal\r