summaryrefslogtreecommitdiff
path: root/src/vendorcode/amd/agesa/f14/Legacy/Proc/Legacy.bat
diff options
context:
space:
mode:
Diffstat (limited to 'src/vendorcode/amd/agesa/f14/Legacy/Proc/Legacy.bat')
-rw-r--r--src/vendorcode/amd/agesa/f14/Legacy/Proc/Legacy.bat286
1 files changed, 286 insertions, 0 deletions
diff --git a/src/vendorcode/amd/agesa/f14/Legacy/Proc/Legacy.bat b/src/vendorcode/amd/agesa/f14/Legacy/Proc/Legacy.bat
new file mode 100644
index 0000000000..0b79a987c1
--- /dev/null
+++ b/src/vendorcode/amd/agesa/f14/Legacy/Proc/Legacy.bat
@@ -0,0 +1,286 @@
+@echo off
+echo *****************************************************************************
+echo *
+echo * Copyright (c) 2011, Advanced Micro Devices, Inc.
+echo * All rights reserved.
+echo *
+echo * Redistribution and use in source and binary forms, with or without
+echo * modification, are permitted provided that the following conditions are met:
+echo * * Redistributions of source code must retain the above copyright
+echo * notice, this list of conditions and the following disclaimer.
+echo * * Redistributions in binary form must reproduce the above copyright
+echo * notice, this list of conditions and the following disclaimer in the
+echo * documentation and/or other materials provided with the distribution.
+echo * * Neither the name of Advanced Micro Devices, Inc. nor the names of
+echo * its contributors may be used to endorse or promote products derived
+echo * from this software without specific prior written permission.
+echo *
+echo * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+echo * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+echo * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+echo * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
+echo * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+echo * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+echo * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+echo * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+echo * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+echo * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+echo *
+echo * ***************************************************************************
+
+
+goto Begin
+:Documentation
+echo off
+echo **************************************************************************
+echo * Legacy.Bat
+echo * This batchfile establishes the build environment for an AGESA(TM)
+echo * legacy build.
+echo *
+echo * Syntax:
+echo * Legacy.bat Solution [DevTipPath] [DevKey] [DoxKey] [Release^|Debug] [Internal]
+echo * Parameters:
+echo * %% 1 Solution name. This is the AMD Platform Solution name that
+echo * identifies the delivery package. No default, this
+echo * parameter MUST be specified. This parameter MUST
+echo * be specified before the DevTip Path parameter.
+echo * %% 2 Path to the platform specific build directory. This is
+echo * where the options file %%Solution%%Options.c is located,
+echo * which contains the platform specific build option settings.
+echo * If left blank, the default %%Solution%%Options.c file from
+echo * the AGESA\Addendum directory is used.
+echo * %% 3 Developer's key - open an interactive MSVS window. This parameter is
+echo * optional, but when used it requires the first two parameters.
+echo * %% 4 Documentation Key - requests a compilation of the DOxygen
+echo * documentation files. key is "DOX". This parameter is
+echo * optional, but when used it requires the first two parameters.
+echo * %% 5 Build Configuration. There are two choices, "Release" and "Debug".
+echo * Debug is the default choice if not specified. This parameter is
+echo * optional, but when used it requires the first two parameters.
+echo * %% 6 Internal solution file select - choose a internal solution file.This parameter
+echo * is optional, but when used it requires the first two parameters.
+echo * NOTE: The paths MUST have a trailing '\' character.
+echo *
+echo * The AGESA build environment requires the following environment
+echo * variables MUST be defined for proper operation:
+echo * $(AGESA_ROOT) - identifies the directory where the AGESA code
+echo * is located. The top most dir; where AGESA.h is located.
+echo * This must be the full path, eg D:\myPlatform\AGESA\
+echo * **** This var is expected to be set by the caller ****
+echo *
+echo * $(Solution) - identifies the Platform Solution being targeted
+echo * $(AGESA_OptsDir) - identifies the directory where the platform
+echo * options and customization files are located.
+echo * This must be the full path
+echo *
+echo * Optional build environment variables
+echo *
+echo * set AGESA_B1_ADDRESS=0xFFF?????
+echo * Sets the B1 image base address in the ROM (otherwise 0xFFFD0000).
+echo * set AGESA_B2_ADDRESS=0xFFF?????
+echo * Sets the B2 image base address in the ROM (otherwise 0xFFFA0000).
+echo *
+echo * NOTE: The paths MUST have a trailing '\' character.
+echo **************************************************************************
+goto Exit
+
+:Begin
+rem Clear working vars...
+set DevKey=
+set DoxKey=
+set Solution=
+set Configuration=
+
+rem set default to external file prefix none
+set SolutionType=
+
+rem Validate the AGESA_ROOT variable
+IF "%AGESA_ROOT%"=="" goto Else001
+ rem User has set a path for Agesa_Root, verify that path...
+ IF EXIST %AGESA_ROOT%Agesa.h goto EndIf002
+ rem Try adding trailing '\'
+ set AGESA_ROOT=%AGESA_ROOT%\
+ IF EXIST %AGESA_ROOT%Agesa.h goto EndIf003
+ echo Build ERROR: Environment variable AGESA_ROOT is invalid,
+ echo Build ERROR: Could not find file Agesa.h at: %AGESA_ROOT%
+ pause
+ goto Documentation
+ :EndIf003
+ :EndIf002
+ goto EndIf001
+:Else001
+ echo Build ERROR: Required environment variable missing: AGESA_ROOT
+ pause
+ goto Documentation
+:EndIf001
+
+rem Start processing the input parameters...
+:DoLoop
+ rem Switch (%1)
+ IF /I "%1"=="DevKey" goto Case001
+ IF /I "%1"=="Maranello" goto Case002
+ IF /I "%1"=="DevTest" goto Case002
+ IF /I "%1"=="Danube" goto Case002
+ IF /I "%1"=="DanNi" goto Case002
+ IF /I "%1"=="Nile" goto Case002
+ IF /I "%1"=="Dragon" goto Case002
+ IF /I "%1"=="SanMarino" goto Case002
+ IF /I "%1"=="Scorpius" goto Case002
+ IF /I "%1"=="Sabine" goto Case002
+ IF /I "%1"=="Lynx" goto Case002
+ IF /I "%1"=="Brazos" goto Case002
+ IF /I "%1"=="DOX" goto Case009
+ IF /I "%1"=="Debug" goto Case011
+ IF /I "%1"=="Release" goto Case011
+ IF /I "%1"=="Internal" goto Case012
+ IF "%1"=="" goto Case006
+ goto Case004
+ :Case001
+ rem Case 1: Special command param
+ set DevKey=DevKey
+ goto EndSwitch
+ :Case002
+ rem Case 2: Solution name parameter
+ rem Set the Platform Solution name for the build environment
+ rem Validation of the names was done by the IF's at the top of DoLoop
+ set Solution=%1
+ goto EndSwitch
+ :Case004
+ rem Case 4: Path param, check for validity
+ rem Check if parameter matches the default
+ rem Check for shortcut versions of the default. Also
+ rem checking for missing trailing '\'
+ IF /I "%1"=="Addendum" goto Then040
+ IF /I "%1"=="Addendum\" goto Then040
+ IF /I "%1"=="..\Addendum" goto Then040
+ IF /I "%1"=="..\Addendum\" goto Then040
+ IF /I "%1"=="..\..\Addendum" goto Then040
+ IF /I "%1"=="..\..\Addendum\" goto Then040
+ goto Else040
+ :Then040
+ set AGESA_OptsDir=%AGESA_ROOT%Addendum\
+ Echo Build WARNING: User selected the default options path.
+ goto EndIf040
+ :Else040
+ set AGESA_OptsDir=%1
+ rem Non-default path given,
+ rem Validate the AGESA_OptsDir parameter ( %%1 = %1 )...
+ IF /I "%Solution%"=="" goto Else042
+ IF EXIST %AGESA_OptsDir%%Solution%Options.c goto EndIf044
+ rem Check if param was missing trailing '\'...
+ set AGESA_OptsDir=%AGESA_OptsDir%\
+ IF EXIST %AGESA_OptsDir%%Solution%Options.c goto EndIf045
+ rem If using the default, assume the release file is in place.
+ rem Could not find options file, post an error
+ Echo Build ERROR: Path to AGESA options file is not valid...
+ Echo . . Could not find options file: %AGESA_OptsDir%%Solution%Options.c
+ set AGESA_OptsDir=
+ set Solution=
+ exit /B 5
+ :EndIf045
+ :EndIf044
+ goto EndIf042
+ :Else042
+ rem Else042 - parameter ordering error, need to specify solution before tip path
+ Echo Build ERROR: The 'Solution' name was not recognized or
+ Echo The Solution must be specified before the Development tip path
+ Echo . . . Legacy.bat Solution [DevTipPath] [DevKey] [DoxKey]
+ exit /B 4
+ :EndIf042
+ :EndIf040
+ goto EndSwitch
+ :Case006
+ rem Case 6: Parameter is blank, end of list
+ rem Validate the required Environment Variables
+ IF /I "%Solution%"=="" goto Else066
+ IF NOT "%AGESA_OptsDir%"=="" goto Else060
+ Rem No path param specified. Use the default file shipped with the AGESA package...
+ Echo Build WARNING: Using default options file.
+ set AGESA_OptsDir=%AGESA_ROOT%Addendum\
+ goto EndIf060
+ :Else060
+ rem Else060 - tip path may have been set by caller prior to call,
+ rem Validate the AGESA_OptsDir parameter ( %%AGESA_OptsDir = %AGESA_OptsDir% )...
+ IF EXIST %AGESA_OptsDir%%Solution%Options.c goto EndIf061
+ rem Check if param was missing trailing '\'...
+ set AGESA_OptsDir=%AGESA_OptsDir%\
+ IF EXIST %AGESA_OptsDir%%Solution%Options.c goto EndIf062
+ rem If using the default, assume the release file is in place.
+ rem Could not find options file, post an error
+ Echo Build ERROR: Path to AGESA options file is not valid...
+ Echo . . Could not find options file: %AGESA_OptsDir%%Solution%Options.c
+ set AGESA_OptsDir=
+ set Solution=
+ exit /B 4
+ :EndIf062
+ :EndIf061
+ :EndIf060
+ goto EndIf066
+ :Else066
+ rem Else066 - parameter missing error, need to specify 'solution'
+ Echo Build ERROR: The Platform Solution name must be specified:
+ Echo . . . Legacy.bat Solution [DevTipPath] [DevKey] [DoxKey]
+ exit /B 4
+ :EndIf066
+ goto EndDo
+ :Case009
+ rem Case 9: Documentation generation key
+ set DoxKey=DoxKey
+ goto EndSwitch
+ :Case011
+ rem Case 11: Build Configuration
+ set Configuration=%1
+ goto EndSwitch
+ :Case012
+ rem Case 12: Select Internal solution file prefix
+ set SolutionType=%1
+ goto EndSwitch
+ :EndSwitch
+ SHIFT
+ goto DoLoop
+:EndDo
+
+rem # Ensure that Microsoft Visual Studio 2005 is installed on this machine.
+IF NOT "%VS80COMNTOOLS%"=="" goto EndIf95
+echo ---------------------------------------------------------------------
+echo - Building AGESA ARCH2008 requires Microsoft Visual Studio 2005 -
+echo - Install Visual Studio 2005 and confirm environment -
+echo - variable VS80COMNTOOLS is present. -
+echo ---------------------------------------------------------------------
+pause
+exit
+:EndIf95
+
+rem set the Visual Studio 32-bit development environment
+call "%VS80COMNTOOLS%vsvars32.bat"
+
+rem Launch the documentation generator if selected by the user
+IF NOT "%DoxKey%"=="DoxKey" goto EndIf100
+ devenv %AGESA_ROOT%Proc\AgesaDoc.sln /Rebuild "Release|Win32"
+:EndIf100
+
+rem Use the default build configuration if none was specified.
+IF NOT "%Configuration%"=="" goto EndIf110
+ set Configuration=Debug
+:EndIf110
+
+rem Check image bases
+IF NOT "%AGESA_B1_ADDRESS%"=="" goto EndIf120
+ set AGESA_B1_ADDRESS=0xFFFD0000
+:EndIf120
+IF NOT "%AGESA_B2_ADDRESS%"=="" goto EndIf130
+ set AGESA_B2_ADDRESS=0xFFFA0000
+:EndIf130
+
+rem Check if the 'secret' developers' key was used, open an interactive VS window
+IF NOT "%DevKey%"=="DevKey" goto Else140
+ set DevKey=
+ rem This is the command to open an interactive development window ...
+ start /NORMAL devenv.exe %AGESA_ROOT%Legacy\Proc\%Solution%%SolutionType%Legacy.sln /ProjectConfig "%Configuration%|Win32"
+ goto EndIf140
+:Else140
+ rem Else140 - This is the command to perform a background or automated build ...
+ devenv %AGESA_ROOT%Legacy\Proc\%Solution%%SolutionType%Legacy.sln /Rebuild "%Configuration%|Win32"
+:EndIf140
+:Exit
+exit /B 0