mirror of https://github.com/acidanthera/audk.git
223 lines
7.4 KiB
Batchfile
223 lines
7.4 KiB
Batchfile
|
@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
|