]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/Build_IFWI.bat
ArmPlatformPkg: bring DS-5 scripts in line with linker script changes
[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
89\r
90:: Require 2 input parameters\r
91if "%~2"=="" goto Usage\r
92\r
93:: Assign required arguments\r
94set Platform_Type=%~1\r
95set Build_Target=%~2\r
96if "%~3"=="" (\r
97 set "IFWI_Suffix= "\r
98) else set "IFWI_Suffix=/S %~3"\r
99\r
100:: Build BIOS\r
101echo ======================================================================\r
102echo Build_IFWI: Calling BIOS build Script...\r
103if "%Platform_Type%" == "BYTC" (\r
104 call %PLATFORM_PACKAGE%\bld_vlv_cr.bat %Build_Flags% %Platform_Type% %Build_Target%\r
105 \r
106) else (\r
107 call %PLATFORM_PACKAGE%\bld_vlv.bat %Build_Flags% %Platform_Type% %Build_Target%\r
108)\r
109if %ERRORLEVEL% NEQ 0 (\r
110 echo echo -- Error Building BIOS & echo.\r
111 set exitCode=1\r
112 goto exit\r
113)\r
114echo.\r
115echo Finished Building BIOS.\r
116@REM Set BIOS_ID environment variable here.\r
117call Conf\BiosId.bat\r
118echo BIOS_ID=%BIOS_ID%\r
119\r
120:: Set the Board_Id, Build_Type, Version_Major, and Version_Minor environment variables\r
121find /v "#" Conf\BiosId.env > ver_strings\r
122for /f "tokens=1,3" %%i in (ver_strings) do set %%i=%%j\r
123del /f/q ver_strings >nul\r
124set BIOS_Name=%BOARD_ID%_%Arch%_%BUILD_TYPE%_%VERSION_MAJOR%_%VERSION_MINOR%.ROM\r
125\r
126:: Start Integration process\r
127echo ======================================================================\r
128echo Build_IFWI: Calling IFWI Stitching Script...\r
129if "%Platform_Type%" == "BYTC" (\r
130 pushd %PLATFORM_PACKAGE%\Stitch_CR\r
131) else (\r
132 pushd %PLATFORM_PACKAGE%\Stitch\r
133)\r
134 :: IFWIStitch.bat [/nG] [/nM] [/nB] [/B BIOS.rom] [/C StitchConfig] [/S IFWISuffix]\r
135 call IFWIStitch.bat %Stitch_Flags% /B ..\..\%BIOS_Name% %IFWI_Suffix%\r
136 \r
137 @echo off\r
138popd\r
139if %ERRORLEVEL% NEQ 0 (\r
140 echo echo -- Error Stitching %BIOS_Nam% & echo.\r
141 set exitCode=1\r
142)\r
143echo.\r
144echo Build_IFWI is finished.\r
145echo The final IFWI file is located in %ROOT_DIR%\Vlv2TbltDevicePkg\Stitch\\r
146echo ======================================================================\r
147goto Exit\r
148\r
149:Usage\r
150echo Script to build BIOS firmware and stitch the entire IFWI.\r
151echo.\r
152echo Usage: Build_IFWI.bat [options] PlatformType BuildTarget [IFWI Suffix]\r
153echo.\r
154echo /q Quiet mode. Only display Fatal Errors (slightly faster)\r
155echo /l Log a copy of the build output to EDK2.log\r
156echo /c CleanAll before building\r
157echo /ecp ECP build enable\r
158echo /src Build silicon source code (default binary)\r
159echo /x64 Set Arch to X64 (default: X64)\r
160echo /IA32 Set Arch to IA32 (default: X64)\r
161echo /nG Do NOT update the GOP driver when stitching (ie keep src version)\r
162echo /nM Do NOT update the Microcode when stitching (ie keep src version)\r
163echo /nB Do NOT create a backup of BIOS.ROM before modifying it for Stitch\r
164echo. \r
165echo Platform Types: MNW2\r
166echo Build Targets: Release, Debug\r
167echo IFWI Suffix: Suffix to append to end of IFWI filename (default: MM_DD_YYYY)\r
168echo.\r
169echo See Stitch/Stitch_Config.txt for additional stitching settings.\r
170echo.\r
171set exitCode=1\r
172\r
173:Exit\r
174@REM CD to platform package.\r
175cd %ROOT_DIR%\Vlv2TbltDevicePkg\r
176exit /b %exitCode%\r
177\r
178EndLocal\r