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