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