diff options
Diffstat (limited to 'Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/bld.bat')
-rw-r--r-- | Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/bld.bat | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/bld.bat b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/bld.bat new file mode 100644 index 0000000000..93b8162257 --- /dev/null +++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/bld.bat @@ -0,0 +1,166 @@ +@REM @file
+@REM
+@REM Copyright (c) 2017, 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
+
+:: Useage: bld [/s] [/f <FEATURE_PCD_NAME> <FALSE or TRUE>] [/r]
+::
+:: For a given build command, 3 options may be passed into this batch file via command prompt:
+:: 1) /s = Redirects all output to a file called EDK2.log(Prep.log must be existed), which will be located at the root.
+:: 2) /f = Defines the passing in of a single override to a feature PCD that is used in the platform
+:: DSC file. If this parameter is used, it is to be followed immediately after by both the feature
+:: pcd name and value. FeaturePcd is the full PCD name, like gPlatformModuleTokenSpaceGuid.PcdOptimizeCompilerEnable
+:: 3) /r = Useful for faster rebuilds when no changes have been made to .inf files. Passes -u to
+:: build.exe to skip the generation of makefiles.
+:: 4) rom = Build Bios.rom only and building SPIs will be skipped.
+::
+
+@echo on
+
+cd %WORKSPACE%
+
+@REM
+@REM Build FSP Binary
+@REM
+@if not defined FSP_BINARY_BUILD goto :SkipFspBinaryBuild
+@if %FSP_BINARY_BUILD% EQU FALSE goto :SkipFspBinaryBuild
+@set FSP_BUILD_PARAMETER=/d
+@set FSP_PKG_NAME=KabylakeFspPkg
+@if /I "%TARGET%" == "RELEASE" (
+ @if "%FSP_TEST_RELEASE%"=="TRUE" (
+ set FSP_BUILD_PARAMETER=/tr
+ ) else (
+ set FSP_BUILD_PARAMETER=/r
+ )
+)
+
+@if %FSP_WRAPPER_BUILD% EQU FALSE goto :BldEnd
+:SkipFspBinaryBuild
+
+@if %FSP_WRAPPER_BUILD% EQU FALSE goto :SkipPatchFspBinFvsBaseAddress
+del /f %WORKSPACE_FSP_BIN%\KabylakeFspBinPkg\Fsp_Rebased*.fd
+
+cd %WORKSPACE%
+
+if exist %WORKSPACE_PLATFORM%\%PROJECT%\OpenBoardPkgPcd.dsc attrib -r %WORKSPACE_PLATFORM%\%PROJECT%\OpenBoardPkgPcd.dsc
+@call python %WORKSPACE_PLATFORM%\%PLATFORM_PACKAGE%\Tools\Fsp\RebaseAndPatchFspBinBaseAddress.py %WORKSPACE_PLATFORM%\%PLATFORM_BOARD_PACKAGE%\Include\Fdf\FlashMapInclude.fdf %WORKSPACE_FSP_BIN%\KabylakeFspBinPkg Fsp.fd %WORKSPACE_PLATFORM%\%PROJECT%\OpenBoardPkgPcd.dsc 0x70
+
+cd %WORKSPACE%
+
+@if %ERRORLEVEL% NEQ 0 (
+ @echo !!! ERROR:RebaseAndPatchFspBinBaseAddress failed!!!
+ set SCRIPT_ERROR=1
+ goto :BldFail
+)
+copy /y /b %WORKSPACE_FSP_BIN%\KabylakeFspBinPkg\Fsp_Rebased_M.fd+%WORKSPACE_FSP_BIN%\KabylakeFspBinPkg\Fsp_Rebased_T.fd %WORKSPACE_FSP_BIN%\KabylakeFspBinPkg\Fsp_Rebased_M_T.fd
+@REM prefix pad.bin file which adds 0xC bytes of data (Note: Section will add 4 bytes of SECTION Header). This is done to align the FSP Header to 16 bytes
+copy /y /b %WORKSPACE_PLATFORM%\%PLATFORM_PACKAGE%\Tools\Fsp\pad.bin+%WORKSPACE_FSP_BIN%\KabylakeFspBinPkg\Fsp_Rebased_S.fd %WORKSPACE_FSP_BIN%\KabylakeFspBinPkg\Fsp_Rebased_S_padded.fd
+:SkipPatchFspBinFvsBaseAddress
+
+
+@SET SILENT_MODE=FALSE
+@SET REBUILD_MODE=
+@SET BUILD_ROM_ONLY=
+
+:: Loop through arguements until all are processed
+
+:BUILD_FLAGS_LOOP
+
+@if "%~1" == "" goto BUILD_FLAGS_LOOP_DONE
+
+@if "%~1" == "/f" (
+ shift
+ goto BUILD_FLAGS_LOOP
+)
+@if "%~1" == "/s" (
+ SET SILENT_MODE=TRUE
+ shift
+ goto BUILD_FLAGS_LOOP
+)
+@if "%~1" == "/r" (
+ SET REBUILD_MODE=-u
+ shift
+ goto BUILD_FLAGS_LOOP
+)
+@if "%~1" == "rom" (
+ SET BUILD_ROM_ONLY=rom
+ shift
+ goto BUILD_FLAGS_LOOP
+)
+:: Unknown build flag.
+shift
+goto BUILD_FLAGS_LOOP
+:BUILD_FLAGS_LOOP_DONE
+
+:: Output the build variables the user has selected.
+
+@echo.
+@echo User Selected build options:
+@echo SILENT_MODE = %SILENT_MODE%
+@echo REBUILD_MODE = %REBUILD_MODE%
+@echo BUILD_ROM_ONLY = %BUILD_ROM_ONLY%
+@echo.
+
+@if %SILENT_MODE% EQU TRUE goto BldSilent
+
+build -n %NUMBER_OF_PROCESSORS% %REBUILD_MODE% %EXT_BUILD_FLAGS%
+
+@if %ERRORLEVEL% NEQ 0 goto BldFail
+@echo.
+@echo Running postbuild.bat to complete the build process.
+@echo.
+call %WORKSPACE_PLATFORM%\%PROJECT%\postbuild.bat %BUILD_ROM_ONLY%
+@if %SCRIPT_ERROR% EQU 1 goto BldFail
+@goto BldSuccess
+
+:BldSilent
+@if exist Build.log del Build.log
+
+@echo. > Build.log
+@echo ************************************************************************ >> Build.log
+@echo *********** Build.bat is launched here *********** >> Build.log
+@echo ************************************************************************ >> Build.log
+@echo. >> Build.log
+
+build -n %NUMBER_OF_PROCESSORS% %REBUILD_MODE% %EXT_BUILD_FLAGS% 1>>Build.log 2>&1
+
+@if %ERRORLEVEL% NEQ 0 goto BldFail
+@echo. >> Build.log
+@echo Running postbuild.bat to complete the build process. >> Build.log
+@echo. >> Build.log
+@call %WORKSPACE_PLATFORM%\%PROJECT%\postbuild.bat %BUILD_ROM_ONLY% 1>>Build.log 2>&1
+@If %SCRIPT_ERROR% EQU 1 goto BldFail
+
+:BldSuccess
+@echo.
+@echo TARGET: %TARGET%
+@echo TOOL_CHAIN_TAG: %TOOL_CHAIN_TAG%
+@echo BIOS location: %BUILD_DIR%\FV
+@echo.
+@echo The EDKII BIOS build has successfully completed!
+@echo.
+@REM
+
+@goto BldEnd
+
+:BldFail
+cd %WORKSPACE_PLATFORM%\%PROJECT%
+@echo.
+@echo The EDKII BIOS Build has failed!
+@echo.
+@exit /b 1
+
+:BldEnd
+@if %SILENT_MODE% EQU TRUE (
+ @if exist EDK2.log del EDK2.log
+ @if exist Prep.log if exist Build.log copy Prep.log+Build.log EDK2.log
+)
+
+cd %WORKSPACE_PLATFORM%\%PROJECT%
\ No newline at end of file |