@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 SetLocal EnableDelayedExpansion EnableExtensions @REM Go to root directory of the codebase. cd .. :: Assign initial values set exitCode=0 set "Build_Flags= " set "Stitch_Flags= " set Arch=X64 set PLATFORM_PACKAGE=Vlv2TbltDevicePkg set ROOT_DIR=%CD% :: Parse Optional arguments :OptLoop if /i "%~1"=="/?" goto Usage if /i "%~1"=="/q" ( set Build_Flags=%Build_Flags% /q shift goto OptLoop ) if /i "%~1"=="/l" ( set Build_Flags=%Build_Flags% /l shift goto OptLoop ) if /i "%~1"=="/y" ( set Build_Flags=%Build_Flags% /y shift goto OptLoop ) if /i "%~1"=="/m" ( set Build_Flags=%Build_Flags% /m shift goto OptLoop ) if /i "%~1" == "/c" ( set Build_Flags=%Build_Flags% /c shift goto OptLoop ) if /i "%~1" == "/ECP" ( set Build_Flags=%Build_Flags% /ecp shift goto OptLoop ) if /i "%~1"=="/s" ( set Build_Flags=%Build_Flags% /s shift goto OptLoop ) if /i "%~1"=="/x64" ( set Arch=X64 set Build_Flags=%Build_Flags% /x64 shift goto OptLoop ) if /i "%~1"=="/IA32" ( set Arch=IA32 set Build_Flags=%Build_Flags% /IA32 shift goto OptLoop ) if /i "%~1"=="/nG" ( set Stitch_Flags=%Stitch_Flags% /nG shift goto OptLoop ) if /i "%~1"=="/nM" ( set Stitch_Flags=%Stitch_Flags% /nM shift goto OptLoop ) if /i "%~1"=="/nB" ( set Stitch_Flags=%Stitch_Flags% /nB shift goto OptLoop ) if /i "%~1"=="/yL" ( set Stitch_Flags=%Stitch_Flags% /yL shift goto OptLoop ) :: Require 2 input parameters if "%~2"=="" goto Usage :: Assign required arguments set Platform_Type=%~1 set Build_Target=%~2 if "%~3"=="" ( set "IFWI_Suffix= " ) else set "IFWI_Suffix=/S %~3" :: Build BIOS echo ====================================================================== echo Build_IFWI: Calling BIOS build Script... if "%Platform_Type%" == "BYTC" ( call %PLATFORM_PACKAGE%\bld_vlv_cr.bat %Build_Flags% %Platform_Type% %Build_Target% ) else ( call %PLATFORM_PACKAGE%\bld_vlv.bat %Build_Flags% %Platform_Type% %Build_Target% ) if %ERRORLEVEL% NEQ 0 ( echo echo -- Error Building BIOS & echo. set exitCode=1 goto exit ) echo. echo Finished Building BIOS. @REM Set BIOS_ID environment variable here. call Conf\BiosId.bat echo BIOS_ID=%BIOS_ID% :: Set the Board_Id, Build_Type, Version_Major, and Version_Minor environment variables find /v "#" Conf\BiosId.env > ver_strings for /f "tokens=1,3" %%i in (ver_strings) do set %%i=%%j del /f/q ver_strings >nul set BIOS_Name=%BOARD_ID%_%Arch%_%BUILD_TYPE%_%VERSION_MAJOR%_%VERSION_MINOR%.ROM :: Start Integration process echo ====================================================================== echo Build_IFWI: Calling IFWI Stitching Script... if "%Platform_Type%" == "BYTC" ( pushd %PLATFORM_PACKAGE%\Stitch_CR ) else ( pushd %PLATFORM_PACKAGE%\Stitch ) :: IFWIStitch.bat [/nG] [/nM] [/nB] [/B BIOS.rom] [/C StitchConfig] [/S IFWISuffix] call IFWIStitch.bat %Stitch_Flags% /B ..\..\%BIOS_Name% %IFWI_Suffix% @echo off popd if %ERRORLEVEL% NEQ 0 ( echo echo -- Error Stitching %BIOS_Nam% & echo. set exitCode=1 ) echo. echo Build_IFWI is finished. echo The final IFWI file is located in %ROOT_DIR%\Vlv2TbltDevicePkg\Stitch\ echo ====================================================================== goto Exit :Usage echo Script to build BIOS firmware and stitch the entire IFWI. echo. echo Usage: Build_IFWI.bat [options] PlatformType BuildTarget [IFWI Suffix] echo. echo /c CleanAll before building echo /x64 Set Arch to X64 (default: X64) echo /IA32 Set Arch to IA32 (default: X64) echo /yL Enable SPI lock echo. echo Platform Types: MNW2 echo Build Targets: Release, Debug echo IFWI Suffix: Suffix to append to end of IFWI filename (default: MM_DD_YYYY) echo. echo See Stitch/Stitch_Config.txt for additional stitching settings. echo. echo If capsule update is needed, please update CAPSULE_ENABLE = TRUE in Config.dsc. echo If recovery is needed, please update RECOVERY_ENABLE = TRUE in Config.dsc. echo If either of above is TRUE, please set OPENSSL_PATH in windows evironment echo and put openssl.exe there, to generate final capsule image. echo. set exitCode=1 :Exit @REM CD to platform package. cd %ROOT_DIR%\Vlv2TbltDevicePkg exit /b %exitCode% EndLocal