DEFINE WINSDK_BIN = c:\Program Files\Microsoft SDKs\Windows\DEF(WINSDK_VERSION)\bin\r
DEFINE WINSDKx86_BIN = c:\Program Files (x86)\Microsoft SDKs\Windows\DEF(WINSDK_VERSION)\bin\r
\r
+# Microsoft Visual Studio 2010\r
+DEFINE WINSDK7_BIN = c:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\r
+DEFINE WINSDK7x86_BIN = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\r
+\r
+# Microsoft Visual Studio 2012 Update 1 (required for rc.exe that was not included in the initial release)\r
+DEFINE WINSDK71_BIN = c:\Program Files\Microsoft SDKs\Windows\v7.1A\Bin\r
+DEFINE WINSDK71x86_BIN = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\r
+\r
# Microsoft Visual Studio 2013 Professional Edition\r
DEFINE WINSDK8_BIN = c:\Program Files\Windows Kits\8.0\bin\x86\\r
DEFINE WINSDK8x86_BIN = c:\Program Files (x86)\Windows Kits\8.0\bin\x64\r
####################################################################################\r
####################################################################################\r
#\r
+# Other Supported Tools\r
+# =====================\r
+# NASM 2.0.3 http://www.nasm.us/\r
+# Note: Converts NASM source to .bin. Object linking to\r
+# EDK II driver modules is not currently supported.\r
+#\r
+####################################################################################\r
+####################################################################################\r
+#\r
# Intel EFI Byte Code Compiler (Template)\r
#\r
####################################################################################\r
\r
*_VS2010_*_MAKE_PATH = DEF(VS2010_BIN)\nmake.exe\r
*_VS2010_*_MAKE_FLAGS = /nologo\r
-*_VS2010_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2010_*_RC_PATH = DEF(WINSDK7_BIN)\rc.exe\r
\r
*_VS2010_*_SLINK_FLAGS = /NOLOGO /LTCG\r
*_VS2010_*_APP_FLAGS = /nologo /E /TC\r
\r
*_VS2010xASL_*_MAKE_PATH = DEF(VS2010_BIN)\nmake.exe\r
*_VS2010xASL_*_MAKE_FLAG = /nologo\r
-*_VS2010xASL_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2010xASL_*_RC_PATH = DEF(WINSDK7_BIN)\rc.exe\r
\r
*_VS2010xASL_*_SLINK_FLAGS = /NOLOGO /LTCG\r
*_VS2010xASL_*_APP_FLAGS = /nologo /E /TC\r
\r
*_VS2010x86_*_MAKE_PATH = DEF(VS2010x86_BIN)\nmake.exe\r
*_VS2010x86_*_MAKE_FLAG = /nologo\r
-*_VS2010x86_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2010x86_*_RC_PATH = DEF(WINSDK7x86_BIN)\rc.exe\r
\r
*_VS2010x86_*_MAKE_FLAGS = /nologo\r
*_VS2010x86_*_SLINK_FLAGS = /NOLOGO /LTCG\r
\r
*_VS2010x86xASL_*_MAKE_PATH = DEF(VS2010x86_BIN)\nmake.exe\r
*_VS2010x86xASL_*_MAKE_FLAG = /nologo\r
-*_VS2010x86xASL_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2010x86xASL_*_RC_PATH = DEF(WINSDK7x86_BIN)\rc.exe\r
\r
*_VS2010x86xASL_*_MAKE_FLAGS = /nologo\r
*_VS2010x86xASL_*_SLINK_FLAGS = /NOLOGO /LTCG\r
\r
*_VS2012_*_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe\r
*_VS2012_*_MAKE_FLAGS = /nologo\r
-*_VS2012_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2012_*_RC_PATH = DEF(WINSDK71_BIN)\rc.exe\r
\r
*_VS2012_*_SLINK_FLAGS = /NOLOGO /LTCG\r
*_VS2012_*_APP_FLAGS = /nologo /E /TC\r
\r
*_VS2012xASL_*_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe\r
*_VS2012xASL_*_MAKE_FLAG = /nologo\r
-*_VS2012xASL_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2012xASL_*_RC_PATH = DEF(WINSDK71_BIN)\rc.exe\r
\r
*_VS2012xASL_*_SLINK_FLAGS = /NOLOGO /LTCG\r
*_VS2012xASL_*_APP_FLAGS = /nologo /E /TC\r
\r
*_VS2012x86_*_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe\r
*_VS2012x86_*_MAKE_FLAG = /nologo\r
-*_VS2012x86_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2012x86_*_RC_PATH = DEF(WINSDK71x86_BIN)\rc.exe\r
\r
*_VS2012x86_*_MAKE_FLAGS = /nologo\r
*_VS2012x86_*_SLINK_FLAGS = /NOLOGO /LTCG\r
\r
*_VS2012x86xASL_*_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe\r
*_VS2012x86xASL_*_MAKE_FLAG = /nologo\r
-*_VS2012x86xASL_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2012x86xASL_*_RC_PATH = DEF(WINSDK71x86_BIN)\rc.exe\r
\r
*_VS2012x86xASL_*_MAKE_FLAGS = /nologo\r
*_VS2012x86xASL_*_SLINK_FLAGS = /NOLOGO /LTCG\r
*_*_*_CRC32_PATH = GenCrc32\r
*_*_*_CRC32_GUID = FC1BCDB0-7D31-49AA-936A-A4600D9DD083\r
\r
+##################\r
+# Rsa2048Sha256Sign tool definitions\r
+#\r
+# Notes: This tool defintion uses a test signing key for development purposes only.\r
+# The tool Rsa2048Sha256GenerateKeys can be used to generate a new private/public key\r
+# and the gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value.\r
+# A custom tool/script can be implemented using the new private/public key with\r
+# the Rsa2048Sha256Sign tool and this tool defintiion can be updated to use a\r
+# custom tool/script.\r
+#\r
+# Generate new private/public key and gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value\r
+#\r
+# Rsa2048Sha256GenerateKeys.py -o MyKey.pem --public-key-hash-c MyKey.pcd\r
+#\r
+# Custom script example (MyRsa2048Sha256Sign.cmd):\r
+#\r
+# Rsa2048Sha256Sign --private-key MyKey.pem %1 %2 %3 %4 %5 %6 %7 %8 %9\r
+#\r
+# WARNING: Vendors that uses private keys are responsible for proper management and protection \r
+# of private keys. Vendors may choose to use infrastructure such as signing servers \r
+# or signing portals to support the management and protection of private keys.\r
+#\r
+##################\r
+*_*_*_RSA2048SHA256SIGN_PATH = Rsa2048Sha256Sign\r
+*_*_*_RSA2048SHA256SIGN_GUID = A7717414-C616-4977-9420-844712A735BF\r
+\r
##################\r
# LzmaCompress tool definitions\r
##################\r
##################\r
*_*_*_VPDTOOL_PATH = BPDG\r
*_*_*_VPDTOOL_GUID = 8C3D856A-9BE6-468E-850A-24F7A8D38E08\r
+\r
+##################\r
+# NASM tool definitions\r
+##################\r
+*_*_*_NASM_PATH = ENV(NASM_PREFIX)nasm\r
+# NASMB uses NASM produce a .bin from a .nasmb NASM source file\r
+*_*_*_NASMB_FLAGS = -f bin\r