]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2TbltDevicePkg/bld_vlv.bat
Vlv2TbltDevicePkg: Remove directory assumptions from build scripts
[mirror_edk2.git] / Vlv2TbltDevicePkg / bld_vlv.bat
index 746b0f46969566d7065c2ce02a7c151f3312be5e..d8594053b08703486c5ec595654253ea7779385d 100644 (file)
@@ -1,7 +1,7 @@
 @REM @file\r
 @REM   Windows batch file to build BIOS ROM\r
 @REM\r
-@REM Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+@REM Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
 @REM SPDX-License-Identifier: BSD-2-Clause-Patent\r
 @REM\r
 \r
@@ -15,24 +15,59 @@ echo.
 ::**********************************************************************\r
 :: Initial Setup\r
 ::**********************************************************************\r
-set WORKSPACE=%CD%\r
 if %WORKSPACE:~-1%==\ set WORKSPACE=%WORKSPACE:~0,-1%\r
 set /a build_threads=1\r
 set "Build_Flags= "\r
 set exitCode=0\r
 set Arch=X64\r
 set Source=0\r
-set CORE_PATH=%WORKSPACE%\edk2\r
-set PLATFORM_PATH=%WORKSPACE%\edk2\r
-cd ./edk2\r
+set PLATFORM_NAME=Vlv2TbltDevicePkg\r
+\r
+set CORE_PATH=%WORKSPACE%\r
+if not exist %CORE_PATH%\edksetup.bat (\r
+  if defined PACKAGES_PATH (\r
+    for %%i IN (%PACKAGES_PATH%) DO (\r
+      if exist %%~fi\edksetup.bat (\r
+        set CORE_PATH=%%~fi\r
+        goto CorePathFound\r
+      )\r
+    )\r
+  ) else (\r
+    echo.\r
+    echo !!! ERROR !!! Cannot find edksetup.bat !!!\r
+    echo.\r
+    goto BldFail\r
+  )\r
+)\r
+:CorePathFound\r
+\r
+set PLATFORM_PACKAGE=%WORKSPACE%\%PLATFORM_NAME%\r
+if not exist %PLATFORM_PACKAGE% (\r
+  if defined PACKAGES_PATH (\r
+    for %%i IN (%PACKAGES_PATH%) DO (\r
+      if exist %%~fi\%PLATFORM_NAME% (\r
+        set PLATFORM_PACKAGE=%%~fi\%PLATFORM_NAME%\r
+        goto PlatformPackageFound\r
+      )\r
+    )\r
+  ) else (\r
+    echo.\r
+    echo !!! ERROR !!! Cannot find %PLATFORM_NAME% !!!\r
+    echo.\r
+    goto BldFail\r
+  )\r
+)\r
+:PlatformPackageFound\r
+\r
+cd %CORE_PATH%\r
 \r
 :: Clean up previous build files.\r
-if exist %CORE_PATH%\edk2.log del %CORE_PATH%\edk2.log\r
-if exist %CORE_PATH%\unitool.log del %CORE_PATH%\unitool.log\r
-if exist %CORE_PATH%\Conf\target.txt del %CORE_PATH%\Conf\target.txt\r
-if exist %CORE_PATH%\Conf\tools_def.txt del %CORE_PATH%\Conf\tools_def.txt\r
-if exist %CORE_PATH%\Conf\build_rule.txt del %CORE_PATH%\Conf\build_rule.txt\r
-if exist conf\.cache rmdir /q/s conf\.cache\r
+if exist %WORKSPACE%\edk2.log del %WORKSPACE%\edk2.log\r
+if exist %WORKSPACE%\unitool.log del %WORKSPACE%\unitool.log\r
+if exist %WORKSPACE%\Conf\target.txt del %WORKSPACE%\Conf\target.txt\r
+if exist %WORKSPACE%\Conf\tools_def.txt del %WORKSPACE%\Conf\tools_def.txt\r
+if exist %WORKSPACE%\Conf\build_rule.txt del %WORKSPACE%\Conf\build_rule.txt\r
+if exist %WORKSPACE%\Conf\.cache rmdir /q/s %WORKSPACE%\Conf\.cache\r
 \r
 :: Setup EDK environment. Edksetup puts new copies of target.txt, tools_def.txt, build_rule.txt in WorkSpace\Conf\r
 :: Also run edksetup as soon as possible to avoid it from changing environment variables we're overriding\r
@@ -40,8 +75,6 @@ call %CORE_PATH%\edksetup.bat Rebuild
 @echo off\r
 \r
 :: Define platform specific environment variables.\r
-set PLATFORM_NAME=Vlv2TbltDevicePkg\r
-set PLATFORM_PACKAGE=%PLATFORM_PATH%\Vlv2TbltDevicePkg\r
 set config_file=%PLATFORM_PACKAGE%\PlatformPkgConfig.dsc\r
 set auto_config_inc=%PLATFORM_PACKAGE%\AutoPlatformCFG.txt\r
 \r
@@ -81,9 +114,9 @@ if /i "%~1" == "/c" (
         del /f/s/q build > nul\r
         rmdir /s/q build\r
     )\r
-    if exist conf\.cache (\r
-        del /f/s/q conf\.cache > nul\r
-        rmdir /s/q conf\.cache\r
+    if exist %WORKSPACE%\Conf\.cache (\r
+        del /f/s/q %WORKSPACE%\Conf\.cache > nul\r
+        rmdir /s/q %WORKSPACE%\Conf\.cache\r
     )\r
     echo.\r
     shift\r
@@ -106,17 +139,17 @@ if "%~1"=="" goto Usage
 \r
 ::Remove the values for Platform_Type and Build_Target from BiosIdX.env and stage in Conf\\r
 if "%Arch%"=="IA32" (\r
-    findstr /b /v "BOARD_ID  BUILD_TYPE" %PLATFORM_PACKAGE%\BiosIdR.env > Conf\BiosId.env\r
+    findstr /b /v "BOARD_ID  BUILD_TYPE" %PLATFORM_PACKAGE%\BiosIdR.env > %WORKSPACE%\Conf\BiosId.env\r
     echo DEFINE X64_CONFIG = FALSE  >> %auto_config_inc%\r
 ) else if "%Arch%"=="X64" (\r
-    findstr /b /v "BOARD_ID  BUILD_TYPE" %PLATFORM_PACKAGE%\BiosIdx64R.env > Conf\BiosId.env\r
+    findstr /b /v "BOARD_ID  BUILD_TYPE" %PLATFORM_PACKAGE%\BiosIdx64R.env > %WORKSPACE%\Conf\BiosId.env\r
     echo DEFINE X64_CONFIG = TRUE  >> %auto_config_inc%\r
 )\r
 \r
 :: -- Build flags settings for each Platform --\r
 echo Setting  %1  platform configuration and BIOS ID...\r
 if /i "%~1" == "MNW2" (\r
-    echo BOARD_ID = MNW2MAX >> Conf\BiosId.env\r
+    echo BOARD_ID = MNW2MAX >> %WORKSPACE%\Conf\BiosId.env\r
     echo DEFINE ENBDT_PF_BUILD = TRUE   >> %auto_config_inc%\r
     \r
 ) else (\r
@@ -127,10 +160,10 @@ set Platform_Type=%~1
 \r
 if /i "%~2" == "RELEASE" (\r
     set target=RELEASE\r
-    echo BUILD_TYPE = R >> Conf\BiosId.env\r
+    echo BUILD_TYPE = R >> %WORKSPACE%\Conf\BiosId.env\r
 ) else (\r
     set target=DEBUG\r
-    echo BUILD_TYPE = D >> Conf\BiosId.env\r
+    echo BUILD_TYPE = D >> %WORKSPACE%\Conf\BiosId.env\r
 )\r
 \r
 ::**********************************************************************\r
@@ -180,43 +213,40 @@ if defined VS140COMNTOOLS (
 )\r
 \r
 echo Ensuring correct build directory is present for GenBiosId...\r
-set BUILD_PATH=Build\%PLATFORM_NAME%\%TARGET%_%TOOL_CHAIN_TAG%\r
+set BUILD_PATH=%WORKSPACE%\Build\%PLATFORM_NAME%\%TARGET%_%TOOL_CHAIN_TAG%\r
 \r
 echo Modifing Conf files for this build...\r
 :: Remove lines with these tags from target.txt\r
-findstr /V "TARGET  TARGET_ARCH  TOOL_CHAIN_TAG  BUILD_RULE_CONF  ACTIVE_PLATFORM  MAX_CONCURRENT_THREAD_NUMBER" Conf\target.txt > Conf\target.txt.tmp\r
+findstr /V "TARGET  TARGET_ARCH  TOOL_CHAIN_TAG  BUILD_RULE_CONF  ACTIVE_PLATFORM  MAX_CONCURRENT_THREAD_NUMBER" %WORKSPACE%\Conf\target.txt > %WORKSPACE%\Conf\target.txt.tmp\r
 \r
-echo TARGET          = %TARGET%                                  >> Conf\target.txt.tmp\r
+echo TARGET          = %TARGET%                                  >> %WORKSPACE%\Conf\target.txt.tmp\r
 if "%Arch%"=="IA32" (\r
-    echo TARGET_ARCH = IA32                                       >> Conf\target.txt.tmp\r
+    echo TARGET_ARCH = IA32                                       >> %WORKSPACE%\Conf\target.txt.tmp\r
 ) else if "%Arch%"=="X64" (\r
-    echo TARGET_ARCH = IA32 X64                                  >> Conf\target.txt.tmp\r
+    echo TARGET_ARCH = IA32 X64                                  >> %WORKSPACE%\Conf\target.txt.tmp\r
 )\r
-echo TOOL_CHAIN_TAG  = %TOOL_CHAIN_TAG%                                  >> Conf\target.txt.tmp\r
-echo BUILD_RULE_CONF = Conf/build_rule.txt                               >> Conf\target.txt.tmp\r
+echo TOOL_CHAIN_TAG  = %TOOL_CHAIN_TAG%                                  >> %WORKSPACE%\Conf\target.txt.tmp\r
+echo BUILD_RULE_CONF = Conf/build_rule.txt                               >> %WORKSPACE%\Conf\target.txt.tmp\r
 if %Source% == 0 (\r
-  echo ACTIVE_PLATFORM = %PLATFORM_PACKAGE%/PlatformPkg%Arch%.dsc        >> Conf\target.txt.tmp\r
+  echo ACTIVE_PLATFORM = %PLATFORM_PACKAGE%/PlatformPkg%Arch%.dsc        >> %WORKSPACE%\Conf\target.txt.tmp\r
 ) else (\r
-  echo ACTIVE_PLATFORM = %PLATFORM_PACKAGE%/PlatformPkg%Arch%Source.dsc  >> Conf\target.txt.tmp\r
+  echo ACTIVE_PLATFORM = %PLATFORM_PACKAGE%/PlatformPkg%Arch%Source.dsc  >> %WORKSPACE%\Conf\target.txt.tmp\r
 )\r
-echo MAX_CONCURRENT_THREAD_NUMBER = %build_threads%                      >> Conf\target.txt.tmp\r
+echo MAX_CONCURRENT_THREAD_NUMBER = %build_threads%                      >> %WORKSPACE%\Conf\target.txt.tmp\r
 \r
-move /Y Conf\target.txt.tmp Conf\target.txt >nul\r
+move /Y %WORKSPACE%\Conf\target.txt.tmp %WORKSPACE%\Conf\target.txt >nul\r
 \r
 ::**********************************************************************\r
 :: Build BIOS\r
 ::**********************************************************************\r
 \r
 echo Creating BiosId...\r
-pushd %PLATFORM_PACKAGE%\r
-if not exist %WORKSPACE%\%BUILD_PATH%\IA32  mkdir %WORKSPACE%\%BUILD_PATH%\IA32\r
-  GenBiosId.exe -i %CORE_PATH%\Conf\BiosId.env -o %WORKSPACE%\%BUILD_PATH%\IA32\BiosId.bin -ob %CORE_PATH%\Conf\BiosId.bat\r
+if not exist %BUILD_PATH%\IA32  mkdir %BUILD_PATH%\IA32\r
+%PLATFORM_PACKAGE%\GenBiosId.exe -i %WORKSPACE%\Conf\BiosId.env -o %BUILD_PATH%\IA32\BiosId.bin -ob %WORKSPACE%\Conf\BiosId.bat\r
 if "%Arch%"=="X64" (\r
-   if not exist %WORKSPACE%\%BUILD_PATH%\X64  mkdir %WORKSPACE%\%BUILD_PATH%\X64\r
-   GenBiosId.exe -i %CORE_PATH%\Conf\BiosId.env -o %WORKSPACE%\%BUILD_PATH%\X64\BiosId.bin -ob %CORE_PATH%\Conf\BiosId.bat\r
+   if not exist %BUILD_PATH%\X64  mkdir %BUILD_PATH%\X64\r
+   %PLATFORM_PACKAGE%\GenBiosId.exe -i %WORKSPACE%\Conf\BiosId.env -o %BUILD_PATH%\X64\BiosId.bin -ob %WORKSPACE%\Conf\BiosId.bat\r
 )\r
-popd\r
-\r
 \r
 if %ERRORLEVEL% NEQ 0 goto BldFail\r
 \r
@@ -234,23 +264,23 @@ echo Running fce...
 \r
 pushd %PLATFORM_PACKAGE%\r
 :: Extract Hii data from build and store in HiiDefaultData.txt\r
-fce read -i %WORKSPACE%\%BUILD_PATH%\FV\Vlv.fd > %WORKSPACE%\%BUILD_PATH%\FV\HiiDefaultData.txt\r
+%PLATFORM_PACKAGE%\fce read -i %BUILD_PATH%\FV\Vlv.fd > %BUILD_PATH%\FV\HiiDefaultData.txt\r
 \r
 :: save changes to VlvXXX.fd\r
-fce update -i %WORKSPACE%\%BUILD_PATH%\FV\Vlv.fd -s %WORKSPACE%\%BUILD_PATH%\FV\HiiDefaultData.txt -o %WORKSPACE%\%BUILD_PATH%\FV\Vlv%Arch%.fd\r
+%PLATFORM_PACKAGE%\fce update -i %BUILD_PATH%\FV\Vlv.fd -s %BUILD_PATH%\FV\HiiDefaultData.txt -o %BUILD_PATH%\FV\Vlv%Arch%.fd\r
 popd\r
 \r
 if %ERRORLEVEL% NEQ 0 goto BldFail\r
 ::echo FD successfully updated with default Hii values.\r
 \r
 :: Set the Board_Id, Build_Type, Version_Major, and Version_Minor environment variables\r
-find /v "#" Conf\BiosId.env > ver_strings\r
+find /v "#" %WORKSPACE%\Conf\BiosId.env > ver_strings\r
 for /f "tokens=1,3" %%i in (ver_strings) do set %%i=%%j\r
 del /f/q ver_strings >nul\r
 \r
 set BIOS_Name=%BOARD_ID%_%Arch%_%BUILD_TYPE%_%VERSION_MAJOR%_%VERSION_MINOR%.ROM\r
-copy /y/b %WORKSPACE%\%BUILD_PATH%\FV\Vlv%Arch%.fd  %PLATFORM_PATH%\%BIOS_Name% >nul\r
-copy /y/b %WORKSPACE%\%BUILD_PATH%\FV\Vlv%Arch%.fd  %WORKSPACE%\%BUILD_PATH%\FV\Vlv.ROM >nul\r
+copy /y/b %BUILD_PATH%\FV\Vlv%Arch%.fd  %PLATFORM_PACKAGE%\Stitch\%BIOS_Name% >nul\r
+copy /y/b %BUILD_PATH%\FV\Vlv%Arch%.fd  %BUILD_PATH%\FV\Vlv.ROM >nul\r
 \r
 echo.\r
 echo Build location:     %BUILD_PATH%\r
@@ -260,13 +290,8 @@ echo -------------------- The EDKII BIOS build has successfully completed. -----
 echo.\r
 \r
 @REM build capsule here\r
-@REMif "%openssl_path%" == "" (\r
-@REM    echo -- Error:  OPENSSL_PATH not set.  Capule and Recovery images not generated.\r
-@REM    set exitCode=1\r
-@REM    goto Exit\r
-@REM\r
-@REM echo > %BUILD_PATH%\FV\SYSTEMFIRMWAREUPDATECARGO.Fv\r
-@REM build -p %PLATFORM_PACKAGE%\PlatformCapsule.dsc\r
+echo > %BUILD_PATH%\FV\SYSTEMFIRMWAREUPDATECARGO.Fv\r
+build -p %PLATFORM_PACKAGE%\PlatformCapsule.dsc\r
 \r
 goto Exit\r
 \r