]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/bldX64.bat
14001ae71b6afea94c78a3e3f30840803e2041c7
[mirror_edk2.git] / Vlv2TbltDevicePkg / bldX64.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 SPDX-License-Identifier: BSD-2-Clause-Patent
6 @REM
7
8 @echo off
9 @echo.
10 @time /t
11
12 @if exist %WORKSPACE%\edk2.log del %WORKSPACE%\edk2.log
13 @if exist %WORKSPACE%\unitool.log del %WORKSPACE%\unitool.log
14 @if exist %WORKSPACE%\Conf\build_rule.txt del %WORKSPACE%\Conf\build_rule.txt
15 @if exist %WORKSPACE%\Conf\target.txt del %WORKSPACE%\Conf\target.txt
16 @if exist %WORKSPACE%\Conf\tools_def.txt del %WORKSPACE%\Conf\tools_def.txt
17 @if exist conf\.cache rmdir /q /s conf\.cache
18
19 @set target=DEBUG
20
21 @if /i "%1" == "release" set TARGET=RELEASE
22 @if /i "%2" == "release" set TARGET=RELEASE
23 @if /i "%3" == "release" set TARGET=RELEASE
24 @if /i "%4" == "release" set TARGET=RELEASE
25 @if /i "%5" == "release" set TARGET=RELEASE
26
27 @set PlatformType=NO_PLATFORM
28 @set config_file=.\Vlv2TbltDevicePkg\PlatformPkgConfig.dsc
29 @set EVN_debug_file=.\Vlv2TbltDevicePkg\BiosIdx64D.env
30 @set EVN_release_file=.\Vlv2TbltDevicePkg\BiosIdx64R.env
31 @set auto_config_inc=.\Vlv2TbltDevicePkg\AutoPlatformCFG.txt
32
33 @if "%1" == "MNW2" (
34 set %PlatformType% = MNW2
35 @echo Setting Baley Bay platform configration and BIOS ID ...
36 findstr /b /v BOARD_ID %EVN_debug_file% > newfile.env
37 echo BOARD_ID = MNW2MAX >> newfile.env
38 type newfile.env > %EVN_debug_file%
39 findstr /b /v BOARD_ID %EVN_release_file% > newfile.env
40 echo BOARD_ID = MNW2MAX >> newfile.env
41 type newfile.env > %EVN_release_file%
42 echo DEFINE ENBDT_PF_BUILD = TRUE >> %auto_config_inc%
43 echo DEFINE X64_CONFIG = TRUE >> %auto_config_inc%
44 goto PLATFORM_SETTING_DONE
45 )
46
47 @if "%PlatformType%" == "NO_PLATFORM" (
48 goto BldFail
49 )
50
51 rem clearup the temp file
52 :PLATFORM_SETTING_DONE
53 @DEL NEWFILE.ENV
54 @DEL NEWFILE.CFG
55
56 @REM Define platform specific environment variables.
57 @REM
58 @set PLATFORM_PACKAGE=Vlv2TbltDevicePkg
59 @set SCRIPT_ERROR=0
60
61 @REM Set basic environment.
62 @echo.
63 @echo Run edksetup.bat batch file.
64 @echo.
65 @del Conf\build_rule.txt
66 @REM @del Conf\tools_def.txt
67 @call edksetup.bat
68
69
70 @echo.
71 @echo Set the VS2008 environment.
72 @echo.
73 @if defined VS90COMNTOOLS (
74 if not defined VSINSTALLDIR call "%VS90COMNTOOLS%\vsvars32.bat"
75 if /I "%VS90COMNTOOLS%" == "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\" (
76 set TOOL_CHAIN_TAG=VS2008
77 ) else (
78 set TOOL_CHAIN_TAG=VS2008x86
79 )
80 ) else (
81 echo.
82 echo !!! ERROR !!! VS2008 not installed correctly. VS90COMNTOOLS not defined. !!!
83 echo.
84 set SCRIPT_ERROR=1
85 goto :BldEnd
86 )
87
88 @echo.
89 @echo Set build environment.
90 @echo.
91 @if not exist Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG% (
92 mkdir Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%
93 )
94
95
96 @REM Set clean build option
97 @set CLEAN_BUILD_OPTION=-e
98
99 @findstr /V "ACTIVE_PLATFORM TARGET TARGET_ARCH TOOL_CHAIN_TAG BUILD_RULE_CONF" Conf\target.txt > Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt
100
101 @echo ACTIVE_PLATFORM = %PLATFORM_PACKAGE%/PlatformPkgX64.dsc >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt
102 @echo TARGET = %TARGET% >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt
103 @echo TARGET_ARCH = IA32 X64 >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt
104 @echo TOOL_CHAIN_TAG = %TOOL_CHAIN_TAG% >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt
105 @echo BUILD_RULE_CONF = Conf/build_rule.txt >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt
106 @move /Y Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt Conf
107
108
109
110 @echo.
111 @echo Create BiosIdx64.
112 @echo.
113 @if not exist Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\X64 (
114 mkdir Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\X64
115 )
116
117 @if "%TARGET%" == "DEBUG" (
118 set BIOS_ID_FILE=BiosIdx64D.env
119
120 ) else (
121 set BIOS_ID_FILE=BiosIdx64R.env
122
123 )
124
125
126 GenBiosId.exe -i %PLATFORM_PACKAGE%\%BIOS_ID_FILE% -o Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\X64\BiosId.bin
127 @if %ERRORLEVEL% NEQ 0 goto BldFail
128
129 @echo off
130 echo Copy reference code ASL files.
131
132
133 @if /i "/s" == "%1" goto BldSilent
134 @if /i "/s" == "%2" goto BldSilent
135 @if /i "/s" == "%3" goto BldSilent
136 @if /i "/s" == "%4" goto BldSilent
137 @if /i "/s" == "%5" goto BldSilent
138
139 build -n %NUMBER_OF_PROCESSORS%
140 @if %ERRORLEVEL% NEQ 0 goto BldFail
141
142 @If %SCRIPT_ERROR% EQU 1 goto BldFail
143 @goto BldSuccess
144
145 :BldSilent
146
147 build -n %NUMBER_OF_PROCESSORS% 1>>EDK2.log 2>&1
148 @if %ERRORLEVEL% NEQ 0 goto BldFail
149
150
151 @If %SCRIPT_ERROR% EQU 1 goto BldFail
152
153 :BldSuccess
154 @echo off
155 del Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\VlvX64.beforeconfig.fd 1>>EDK2.log 2>&1
156 del Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\HiiDefaultData.txt 1>>EDK2.log 2>&1
157 copy /y Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\Vlv.fd Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\VlvX64.beforeconfig.fd 1>>EDK2.log 2>&1
158
159 @echo.
160 @echo Extract setup default value from VFR (Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\HiiDefaultData.txt)
161 @echo.
162 fce read -i Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\VlvX64.beforeconfig.fd > Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\HiiDefaultData.txt
163
164
165 @echo Update FD with default Hii value successfully! (both 'Setup' and 'SetupDefault')
166 @echo.
167 fce mirror -i Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\VlvX64.beforeconfig.fd -o Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\VlvX64.fd Setup SetupDefault 1>>EDK2.log 2>&1
168
169 @echo off
170 del Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\Vlv.fd
171 del Vlv2TbltDevicePkg\RomImage\bios.rom
172 if not exist Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM goto Gen8MImage
173 del /q /f Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM\*
174 rd /Q Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM
175 :Gen8MImage
176
177 copy /b Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\VlvX64.fd Vlv2TbltDevicePkg\RomImage\bios.rom
178
179 pushd Vlv2TbltDevicePkg\RomImage\
180 @if "%TARGET%" == "DEBUG" (
181 call signbiosX64_debug.bat
182 ) else (
183 call signbiosX64_release.bat
184 )
185
186 call ftoolbuild.bat
187 call ftoolbuild_sec_enable.bat
188 popd
189
190 @echo off
191 mkdir Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM
192 move Vlv2TbltDevicePkg\RomImage\SPI_Image\* Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM\ > NUL
193
194 call GenBIOS.bat X64
195
196 @echo on
197
198 @echo TARGET: %TARGET%
199 @echo TOOL_CHAIN_TAG: %TOOL_CHAIN_TAG%
200 @echo BIOS location: Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV
201 @echo SPI Images location: Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM
202 @echo.
203 @echo The EDKII BIOS build has successfully completed!
204 @echo.
205 @goto BldEnd
206
207 :BldFail
208 @echo.
209 @echo The EDKII BIOS Build has failed!
210 @echo.
211 exit /b 1
212
213 :BldEnd
214 @time /t
215 exit /b 0