@REM @file | |
@REM Windows batch file to build BIOS ROM | |
@REM | |
@REM Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> | |
@REM This program and the accompanying materials | |
@REM are licensed and made available under the terms and conditions of the BSD License | |
@REM which accompanies this distribution. The full text of the license may be found at | |
@REM http://opensource.org/licenses/bsd-license.php | |
@REM | |
@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
@REM | |
@echo off | |
@echo. | |
@time /t | |
@if exist %WORKSPACE%\edk2.log del %WORKSPACE%\edk2.log | |
@if exist %WORKSPACE%\unitool.log del %WORKSPACE%\unitool.log | |
@if exist %WORKSPACE%\Conf\build_rule.txt del %WORKSPACE%\Conf\build_rule.txt | |
@if exist %WORKSPACE%\Conf\FrameworkDatabase.db del %WORKSPACE%\Conf\FrameworkDatabase.db | |
@if exist %WORKSPACE%\Conf\target.txt del %WORKSPACE%\Conf\target.txt | |
@if exist %WORKSPACE%\Conf\tools_def.txt del %WORKSPACE%\Conf\tools_def.txt | |
@if exist conf\.cache rmdir /q /s conf\.cache | |
@set target=DEBUG | |
@if /i "%1" == "release" set TARGET=RELEASE | |
@if /i "%2" == "release" set TARGET=RELEASE | |
@if /i "%3" == "release" set TARGET=RELEASE | |
@if /i "%4" == "release" set TARGET=RELEASE | |
@if /i "%5" == "release" set TARGET=RELEASE | |
@set PlatformType=NO_PLATFORM | |
@set config_file=.\Vlv2TbltDevicePkg\PlatformPkgConfig.dsc | |
@set EVN_debug_file=.\Vlv2TbltDevicePkg\BiosIdx64D.env | |
@set EVN_release_file=.\Vlv2TbltDevicePkg\BiosIdx64R.env | |
@set auto_config_inc=.\Vlv2TbltDevicePkg\AutoPlatformCFG.txt | |
@if "%1" == "MNW2" ( | |
set %PlatformType% = MNW2 | |
@echo Setting Baley Bay platform configration and BIOS ID ... | |
findstr /b /v BOARD_ID %EVN_debug_file% > newfile.env | |
echo BOARD_ID = MNW2MAX >> newfile.env | |
type newfile.env > %EVN_debug_file% | |
findstr /b /v BOARD_ID %EVN_release_file% > newfile.env | |
echo BOARD_ID = MNW2MAX >> newfile.env | |
type newfile.env > %EVN_release_file% | |
echo DEFINE ENBDT_PF_BUILD = TRUE >> %auto_config_inc% | |
echo DEFINE X64_CONFIG = TRUE >> %auto_config_inc% | |
goto PLATFORM_SETTING_DONE | |
) | |
@if "%PlatformType%" == "NO_PLATFORM" ( | |
goto BldFail | |
) | |
rem clearup the temp file | |
:PLATFORM_SETTING_DONE | |
@DEL NEWFILE.ENV | |
@DEL NEWFILE.CFG | |
@REM Define platform specific environment variables. | |
@REM | |
@set PLATFORM_PACKAGE=Vlv2TbltDevicePkg | |
@set SCRIPT_ERROR=0 | |
@REM Set basic environment. | |
@echo. | |
@echo Run edksetup.bat batch file. | |
@echo. | |
@del Conf\build_rule.txt | |
@REM @del Conf\tools_def.txt | |
@call edksetup.bat | |
@echo. | |
@echo Set the VS2008 environment. | |
@echo. | |
@if defined VS90COMNTOOLS ( | |
if not defined VSINSTALLDIR call "%VS90COMNTOOLS%\vsvars32.bat" | |
if /I "%VS90COMNTOOLS%" == "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\" ( | |
set TOOL_CHAIN_TAG=VS2008 | |
) else ( | |
set TOOL_CHAIN_TAG=VS2008x86 | |
) | |
) else ( | |
echo. | |
echo !!! ERROR !!! VS2008 not installed correctly. VS90COMNTOOLS not defined. !!! | |
echo. | |
set SCRIPT_ERROR=1 | |
goto :BldEnd | |
) | |
@echo. | |
@echo Set build environment. | |
@echo. | |
@if not exist Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG% ( | |
mkdir Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG% | |
) | |
@REM Set clean build option | |
@set CLEAN_BUILD_OPTION=-e | |
@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 | |
@echo ACTIVE_PLATFORM = %PLATFORM_PACKAGE%/PlatformPkgX64.dsc >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt | |
@echo TARGET = %TARGET% >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt | |
@echo TARGET_ARCH = IA32 X64 >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt | |
@echo TOOL_CHAIN_TAG = %TOOL_CHAIN_TAG% >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt | |
@echo BUILD_RULE_CONF = Conf/build_rule.txt >> Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt | |
@move /Y Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\target.txt Conf | |
@echo. | |
@echo Create BiosIdx64. | |
@echo. | |
@if not exist Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\X64 ( | |
mkdir Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\X64 | |
) | |
@if "%TARGET%" == "DEBUG" ( | |
set BIOS_ID_FILE=BiosIdx64D.env | |
) else ( | |
set BIOS_ID_FILE=BiosIdx64R.env | |
) | |
GenBiosId.exe -i %PLATFORM_PACKAGE%\%BIOS_ID_FILE% -o Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\X64\BiosId.bin | |
@if %ERRORLEVEL% NEQ 0 goto BldFail | |
@echo off | |
echo Copy reference code ASL files. | |
@if /i "/s" == "%1" goto BldSilent | |
@if /i "/s" == "%2" goto BldSilent | |
@if /i "/s" == "%3" goto BldSilent | |
@if /i "/s" == "%4" goto BldSilent | |
@if /i "/s" == "%5" goto BldSilent | |
build -n %NUMBER_OF_PROCESSORS% | |
@if %ERRORLEVEL% NEQ 0 goto BldFail | |
@If %SCRIPT_ERROR% EQU 1 goto BldFail | |
@goto BldSuccess | |
:BldSilent | |
build -n %NUMBER_OF_PROCESSORS% 1>>EDK2.log 2>&1 | |
@if %ERRORLEVEL% NEQ 0 goto BldFail | |
@If %SCRIPT_ERROR% EQU 1 goto BldFail | |
:BldSuccess | |
@echo off | |
del Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\VlvX64.beforeconfig.fd 1>>EDK2.log 2>&1 | |
del Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\HiiDefaultData.txt 1>>EDK2.log 2>&1 | |
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 | |
@echo. | |
@echo Extract setup default value from VFR (Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\HiiDefaultData.txt) | |
@echo. | |
fce read -i Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\VlvX64.beforeconfig.fd > Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\HiiDefaultData.txt | |
@echo Update FD with default Hii value successfully! (both 'Setup' and 'SetupDefault') | |
@echo. | |
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 | |
@echo off | |
del Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\Vlv.fd | |
del Vlv2TbltDevicePkg\RomImage\bios.rom | |
if not exist Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM goto Gen8MImage | |
del /q /f Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM\* | |
rd /Q Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM | |
:Gen8MImage | |
copy /b Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV\VlvX64.fd Vlv2TbltDevicePkg\RomImage\bios.rom | |
pushd Vlv2TbltDevicePkg\RomImage\ | |
@if "%TARGET%" == "DEBUG" ( | |
call signbiosX64_debug.bat | |
) else ( | |
call signbiosX64_release.bat | |
) | |
call ftoolbuild.bat | |
call ftoolbuild_sec_enable.bat | |
popd | |
@echo off | |
mkdir Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM | |
move Vlv2TbltDevicePkg\RomImage\SPI_Image\* Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM\ > NUL | |
call GenBIOS.bat X64 | |
@echo on | |
@echo TARGET: %TARGET% | |
@echo TOOL_CHAIN_TAG: %TOOL_CHAIN_TAG% | |
@echo BIOS location: Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\FV | |
@echo SPI Images location: Build\%PLATFORM_PACKAGE%\%TARGET%_%TOOL_CHAIN_TAG%\ROM | |
@echo. | |
@echo The EDKII BIOS build has successfully completed! | |
@echo. | |
@goto BldEnd | |
:BldFail | |
@echo. | |
@echo The EDKII BIOS Build has failed! | |
@echo. | |
exit /b 1 | |
:BldEnd | |
@time /t | |
exit /b 0 |