226 lines
6.5 KiB
Batchfile
226 lines
6.5 KiB
Batchfile
@REM @file
|
|
@REM Pre build script.
|
|
@REM
|
|
@REM Copyright (c) 2017 - 2020, 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
|
|
|
|
cd ..
|
|
|
|
|
|
@REM
|
|
@REM Set build capsule flag with default being OFF
|
|
@REM
|
|
|
|
@set CAPSULE_BUILD=0
|
|
|
|
@if /I "%2" == "TRUE" (
|
|
@set CAPSULE_BUILD=1
|
|
goto StartCapsulePrep
|
|
)
|
|
|
|
:StartCapsulePrep
|
|
@REM
|
|
@REM Define platform specific environment variables.
|
|
@REM
|
|
if not defined WORKSPACE_PLATFORM set WORKSPACE_PLATFORM=%WORKSPACE%\Intel
|
|
if not defined WORKSPACE_SILICON set WORKSPACE_SILICON=%WORKSPACE%\Intel
|
|
if not defined WORKSPACE_PLATFORM_BIN set WORKSPACE_PLATFORM_BIN=%WORKSPACE%\Intel
|
|
if not defined WORKSPACE_SILICON_BIN set WORKSPACE_SILICON_BIN=%WORKSPACE%\Intel
|
|
if not defined WORKSPACE_FSP_BIN set WORKSPACE_FSP_BIN=%WORKSPACE%\Intel
|
|
if not defined WORKSPACE_CORE set WORKSPACE_CORE=%WORKSPACE%\Edk2
|
|
if not defined PLATFORM_PACKAGE set PLATFORM_PACKAGE=MinPlatformPkg
|
|
if not defined PLATFORM_BOARD_PACKAGE set PLATFORM_BOARD_PACKAGE=AlderLakeOpenBoardPkg
|
|
if not defined BOARD set BOARD=TigerLakeSimics
|
|
if not defined PROJECT set PROJECT=%PLATFORM_BOARD_PACKAGE%\%BOARD%
|
|
|
|
@set SCRIPT_ERROR=0
|
|
|
|
@set CATALOG_DEBUG=0
|
|
|
|
@REM Set basic environment.
|
|
@echo.
|
|
@echo Prebuild: Run edksetup.bat batch file.
|
|
@echo.
|
|
@if %CATALOG_DEBUG% == 0 (
|
|
@del Conf\build_rule.txt
|
|
)
|
|
cd %WORKSPACE_CORE%
|
|
@call edksetup.bat
|
|
cd %WORKSPACE%
|
|
@set EFI_SOURCE=%WORKSPACE_CORE%
|
|
|
|
@REM
|
|
@REM Get Visual Studio environment Setting By Edksetup.
|
|
@REM Order of precedence is 2017, 2015, 2012, 2013, 2010 and then 2008.
|
|
@REM
|
|
@if not defined TOOL_CHAIN_TAG (
|
|
if defined VS150COMNTOOLS (
|
|
set TOOL_CHAIN_TAG=VS2017
|
|
) else if defined VS140COMNTOOLS (
|
|
set TOOL_CHAIN_TAG=VS2015
|
|
) else if defined VS120COMNTOOLS (
|
|
set TOOL_CHAIN_TAG=VS2013
|
|
) else if defined VS110COMNTOOLS (
|
|
set TOOL_CHAIN_TAG=VS2012
|
|
) else if defined VS100COMNTOOLS (
|
|
set TOOL_CHAIN_TAG=VS2010
|
|
) else if defined VS100COMNTOOLS (
|
|
set TOOL_CHAIN_TAG=VS2008
|
|
)
|
|
)
|
|
@if /I "%TOOL_CHAIN_TAG%"=="VS2015" (
|
|
if /I "%VS140COMNTOOLS%" == "C:\Program Files\Microsoft Visual Studio 14.0\Common7\Tools\" (
|
|
set TOOL_CHAIN_TAG=VS2015
|
|
) else (
|
|
set TOOL_CHAIN_TAG=VS2015x86
|
|
)
|
|
) else if /I "%TOOL_CHAIN_TAG%"=="VS2013" (
|
|
if /I "%VS120COMNTOOLS%" == "C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\" (
|
|
set TOOL_CHAIN_TAG=VS2013
|
|
) else (
|
|
set TOOL_CHAIN_TAG=VS2013x86
|
|
)
|
|
) else if /I "%TOOL_CHAIN_TAG%"=="VS2012" (
|
|
if /I "%VS110COMNTOOLS%" == "C:\Program Files\Microsoft Visual Studio 11.0\Common7\Tools\" (
|
|
set TOOL_CHAIN_TAG=VS2012
|
|
) else (
|
|
set TOOL_CHAIN_TAG=VS2012x86
|
|
)
|
|
) else if /I "%TOOL_CHAIN_TAG%"=="VS2010" (
|
|
if /I "%VS100COMNTOOLS%" == "C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\" (
|
|
set TOOL_CHAIN_TAG=VS2010
|
|
) else (
|
|
set TOOL_CHAIN_TAG=VS2010x86
|
|
)
|
|
) else if /I "%TOOL_CHAIN_TAG%"=="VS2008" (
|
|
if /I "%VS90COMNTOOLS%" == "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\" (
|
|
set TOOL_CHAIN_TAG=VS2008
|
|
) else (
|
|
set TOOL_CHAIN_TAG=VS2008x86
|
|
)
|
|
)
|
|
|
|
@REM If no supported version of Visual Studio was detected, return an error.
|
|
@if not defined TOOL_CHAIN_TAG (
|
|
echo.
|
|
echo !!! ERROR !!! Visual Studio not installed correctly!!!
|
|
echo.
|
|
set SCRIPT_ERROR=1
|
|
goto :EndPreBuild
|
|
)
|
|
|
|
echo Show CL revision
|
|
cl
|
|
|
|
@REM Set build TARGET.
|
|
@if /I "%1" == "" (
|
|
set TARGET=DEBUG
|
|
set TARGET_SHORT=D
|
|
) else if /I "%1" == "DEBUG" (
|
|
set TARGET=DEBUG
|
|
set TARGET_SHORT=D
|
|
) else if /I "%1" == "TEST_RELEASE" (
|
|
set TARGET=RELEASE
|
|
set TARGET_SHORT=R
|
|
) else if /I "%1" == "RELEASE" (
|
|
set TARGET=RELEASE
|
|
set TARGET_SHORT=R
|
|
) else if /I "%1" == "RELEASE_PDB" (
|
|
set TARGET=RELEASE
|
|
set TARGET_SHORT=R
|
|
) else (
|
|
echo.
|
|
echo !!! ERROR !!! Incorrect TARGET option for prebuild.bat. !!!
|
|
echo.
|
|
set SCRIPT_ERROR=1
|
|
goto :EndPreBuild
|
|
)
|
|
|
|
@set BUILD_DIR_PATH=%WORKSPACE%\Build\%PROJECT%\%TARGET%_%TOOL_CHAIN_TAG%
|
|
@set BUILD_DIR=Build\%PROJECT%\%TARGET%_%TOOL_CHAIN_TAG%
|
|
@set BUILD_X64=%BUILD_DIR_PATH%\X64
|
|
@set BUILD_IA32=%BUILD_DIR_PATH%\IA32
|
|
|
|
|
|
@echo.
|
|
@echo Prebuild: Set build environment.
|
|
@echo.
|
|
@if not exist %BUILD_DIR_PATH% (
|
|
mkdir %BUILD_DIR_PATH%
|
|
)
|
|
|
|
@findstr /V "ACTIVE_PLATFORM TARGET TARGET_ARCH TOOL_CHAIN_TAG BUILD_RULE_CONF" %WORKSPACE%\Conf\target.txt > %BUILD_DIR_PATH%\target.txt
|
|
@echo ACTIVE_PLATFORM = %WORKSPACE_PLATFORM%/%PLATFORM_BOARD_PACKAGE%/%BOARD%/OpenBoardPkg.dsc >> %BUILD_DIR_PATH%\target.txt
|
|
@echo TARGET = %TARGET% >> %BUILD_DIR_PATH%\target.txt
|
|
@echo TARGET_ARCH = IA32 X64 >> %BUILD_DIR_PATH%\target.txt
|
|
@echo TOOL_CHAIN_TAG = %TOOL_CHAIN_TAG% >> %BUILD_DIR_PATH%\target.txt
|
|
@echo BUILD_RULE_CONF = Conf/build_rule.txt >> %BUILD_DIR_PATH%\target.txt
|
|
@move /Y %BUILD_DIR_PATH%\target.txt Conf
|
|
|
|
@if %CAPSULE_BUILD% == 1 (
|
|
goto EndCapsulePrep
|
|
)
|
|
|
|
@REM
|
|
@REM Set %FSP_WRAPPER_BUILD%
|
|
@REM
|
|
@set FSP_WRAPPER_BUILD=TRUE
|
|
|
|
@if %FSP_WRAPPER_BUILD% EQU TRUE (
|
|
@REM Create dummy Fsp_Rebased_S_padded.fd to build the BiosInfo.inf if it is wrapper build, due to the SECTION inclusion
|
|
echo "" > %WORKSPACE_FSP_BIN%\AlderLakeFspBinPkg\Fsp_Rebased_S_padded.fd
|
|
attrib -r %WORKSPACE_FSP_BIN%\AlderLakeFspBinPkg\Fsp_Rebased_S_padded.fd
|
|
)
|
|
|
|
@REM
|
|
@REM Set %PERFORMANCE_BUILD%
|
|
@REM
|
|
@set PERFORMANCE_BUILD=FALSE
|
|
|
|
@REM
|
|
@REM Set %FSP_BINARY_BUILD% and %FSP_TEST_RELEASE%
|
|
@REM
|
|
@set FSP_BINARY_BUILD=FALSE
|
|
@set FSP_TEST_RELEASE=FALSE
|
|
|
|
@if "FSP_BINARY_BUILD"=="TRUE" (
|
|
@if %FSP_WRAPPER_BUILD% EQU FALSE goto :EndPreBuild
|
|
)
|
|
|
|
@if not exist %BUILD_X64% (
|
|
mkdir %BUILD_X64%
|
|
)
|
|
|
|
@set SECURE_BOOT_ENABLE=FALSE
|
|
|
|
@REM
|
|
@REM Skip BIOS_SIZE_OPTION if it is predefined
|
|
@REM
|
|
@if NOT "%BIOS_SIZE_OPTION%" == "" goto BiosSizeDone
|
|
|
|
@set BIOS_SIZE_OPTION=
|
|
|
|
@REM default size option is 7M
|
|
@set BIOS_SIZE_OPTION=-DBIOS_SIZE_OPTION=SIZE_70
|
|
|
|
:BiosSizeDone
|
|
@echo BIOS_SIZE_OPTION=%BIOS_SIZE_OPTION%
|
|
|
|
@echo EFI_SOURCE = %EFI_SOURCE%
|
|
@echo TARGET = %TARGET%
|
|
@echo TARGET_ARCH = IA32 X64
|
|
@echo TOOL_CHAIN_TAG = %TOOL_CHAIN_TAG%
|
|
@echo WORKSPACE = %WORKSPACE%
|
|
@echo WORKSPACE_CORE = %WORKSPACE_CORE%
|
|
@echo EXT_BUILD_FLAGS = %EXT_BUILD_FLAGS%
|
|
@echo.
|
|
:EndPreBuild
|
|
cd %WORKSPACE_PLATFORM%\%PROJECT%
|