bldX64.bat 7.4 KB

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