]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Conf/tools_def.template
The alignment of data section also meet with the requirement of section itself.
[mirror_edk2.git] / Tools / Conf / tools_def.template
index 1429222308b41748331a2db66b409f2e08fb1a3e..07be9dec58a4f04ec9a2d2a7440f47b43208747f 100644 (file)
@@ -1,5 +1,5 @@
 #\r
-#  Copyright (c) 2006, Intel Corporation\r
+#  Copyright (c) 2006 - 2007 Intel Corporation. <BR>\r
 #\r
 #  All rights reserved. This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
@@ -46,6 +46,7 @@ IDENTIFIER = Default TOOL_CHAIN_CONF
 #   WINDDK3790x1830  - Microsoft Windows DDK 3790.1830\r
 #   UINIXGCC         - UINIX GCC\r
 #   CYGWINGCC        - CygWin GCC\r
+#   ICC              - Intel C Compiler V9.1\r
 #   MYTOOLS          - Settings compatible with previous versions of tools_def.template\r
 #\r
 ####################################################################################\r
@@ -63,6 +64,7 @@ IDENTIFIER = Default TOOL_CHAIN_CONF
 *_VS2003_IA32_SLINK_NAME        = lib.exe\r
 *_VS2003_IA32_DLINK_NAME        = link.exe\r
 *_VS2003_IA32_ASMLINK_NAME      = link.exe\r
+*_VS2003_IA32_APP_NAME          = cl.exe \r
 *_VS2003_IA32_PP_NAME           = cl.exe \r
 *_VS2003_IA32_ASM_NAME          = ml.exe\r
 *_VS2003_IA32_ASM_EXT           = .asm\r
@@ -74,6 +76,7 @@ IDENTIFIER = Default TOOL_CHAIN_CONF
 *_VS2003_IA32_*_PATH            = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\r
 *_VS2003_IA32_*_DPATH           = C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\r
 \r
+*_VS2003_IA32_APP_FLAGS         = /nologo /P /TC \r
 *_VS2003_IA32_PP_FLAGS          = /nologo /P /TC /FI${DEST_DIR_DEBUG}/AutoGen.h \r
 *_VS2003_IA32_VFRPP_FLAGS       = /nologo /P /TC /DVFRCOMPILE\r
 DEBUG_VS2003_IA32_CC_FLAGS      = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /EHs-c- /GF /Gs8192 /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h /Zi /Gm\r
@@ -83,8 +86,8 @@ RELEASE_VS2003_IA32_PCH_FLAGS   = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1
 DEBUG_VS2003_IA32_ASM_FLAGS     = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi\r
 RELEASE_VS2003_IA32_ASM_FLAGS   = /nologo /W3 /WX /c /coff /Cx /Zd /W0\r
 *_VS2003_IA32_SLINK_FLAGS       = /nologo /LTCG\r
-DEBUG_VS2003_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG   \r
-RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
+DEBUG_VS2003_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG   \r
+RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
 \r
 ####################################################################################\r
 #\r
@@ -100,8 +103,10 @@ RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /O
 *_WINDDK3790x1830_*_DLINK_NAME      = link.exe\r
 *_WINDDK3790x1830_*_ASMLINK_NAME    = link.exe\r
 *_WINDDK3790x1830_*_PP_NAME         = cl.exe\r
+*_WINDDK3790x1830_*_APP_NAME        = cl.exe\r
 *_WINDDK3790x1830_*_PCH_NAME        = cl.exe\r
 \r
+*_WINDDK3790x1830_*_APP_FLAGS       = /nologo /P /TC\r
 *_WINDDK3790x1830_*_SLINK_FLAGS     = /nologo /LTCG\r
 *_WINDDK3790x1830_*_VFRPP_FLAGS     = /nologo /P /TC /DVFRCOMPILE\r
 ##################\r
@@ -120,8 +125,8 @@ DEBUG_WINDDK3790x1830_IA32_PCH_FLAGS     = /nologo /W4 /WX /Gy /c /D UNICODE /D
 RELEASE_WINDDK3790x1830_IA32_PCH_FLAGS   = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /EHs-c- /GF /Gs8192 /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC\r
 DEBUG_WINDDK3790x1830_IA32_ASM_FLAGS     = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi  \r
 RELEASE_WINDDK3790x1830_IA32_ASM_FLAGS   = /nologo /W3 /WX /c /coff /Cx /Zd /W0\r
-DEBUG_WINDDK3790x1830_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG   \r
-RELEASE_WINDDK3790x1830_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
+DEBUG_WINDDK3790x1830_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG   \r
+RELEASE_WINDDK3790x1830_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
 *_WINDDK3790x1830_IA32_ASMLINK_FLAGS     = /link /nologo /tiny\r
 \r
 ##################\r
@@ -139,23 +144,21 @@ DEBUG_WINDDK3790x1830_X64_PCH_FLAGS     = /nologo /X /W4 /WX /c /Gs8192 /GS- /D
 RELEASE_WINDDK3790x1830_X64_PCH_FLAGS   = /nologo /X /W4 /WX /c /Gs8192 /GS- /D UNICODE /O1ib2s /GL /Gy /D EFIX64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC /EHs-c- /GF\r
 DEBUG_WINDDK3790x1830_X64_ASM_FLAGS     = /nologo /W3 /WX /c /Cx /Zd /Zi\r
 RELEASE_WINDDK3790x1830_X64_ASM_FLAGS   = /nologo /W3 /WX /c /Cx /Zd\r
-DEBUG_WINDDK3790x1830_X64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG \r
-RELEASE_WINDDK3790x1830_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
+DEBUG_WINDDK3790x1830_X64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG \r
+RELEASE_WINDDK3790x1830_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
 \r
 ##################\r
 # IPF definitions\r
 ##################\r
-*_WINDDK3790x1830_IPF_APP_NAME          = cl.exe\r
 *_WINDDK3790x1830_IPF_ASM_NAME          = ias.exe\r
 *_WINDDK3790x1830_IPF_ASM_EXT           = .s\r
 *_WINDDK3790x1830_IPF_*_PATH            = C:\WINDDK\3790.1830\bin\win64\x86\r
 \r
-*_WINDDK3790x1830_IPF_APP_FLAGS         = /nologo /P /TC\r
 *_WINDDK3790x1830_IPF_PP_FLAGS          = /nologo /P /TC /FI${DEST_DIR_DEBUG}/AutoGen.h\r
-DEBUG_WINDDK3790x1830_IPF_CC_FLAGS      = /GS- /nologo /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h /Zi\r
-RELEASE_WINDDK3790x1830_IPF_CC_FLAGS    = /GS- /nologo /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h\r
-DEBUG_WINDDK3790x1830_IPF_PCH_FLAGS     = /GS- /nologo /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC /Zi\r
-RELEASE_WINDDK3790x1830_IPF_PCH_FLAGS   = /GS- /nologo /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC\r
+DEBUG_WINDDK3790x1830_IPF_CC_FLAGS      = /GS- /nologo /QIPF_fr32 /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h /Zi\r
+RELEASE_WINDDK3790x1830_IPF_CC_FLAGS    = /GS- /nologo /QIPF_fr32 /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h\r
+DEBUG_WINDDK3790x1830_IPF_PCH_FLAGS     = /GS- /nologo /QIPF_fr32 /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC /Zi\r
+RELEASE_WINDDK3790x1830_IPF_PCH_FLAGS   = /GS- /nologo /QIPF_fr32 /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC\r
 DEBUG_WINDDK3790x1830_IPF_ASM_FLAGS     = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
 RELEASE_WINDDK3790x1830_IPF_ASM_FLAGS   = -N us -X explicit -M ilp64 -N so -W4\r
 DEBUG_WINDDK3790x1830_IPF_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map /PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb /DEBUG\r
@@ -209,10 +212,12 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:
 *_VS2005PRO_*_DLINK_NAME     = link.exe\r
 *_VS2005PRO_*_ASMLINK_NAME   = link.exe\r
 *_VS2005PRO_*_PP_NAME        = cl.exe\r
+*_VS2005PRO_*_APP_NAME       = cl.exe\r
 *_VS2005PRO_*_VFRPP_NAME     = cl.exe\r
 *_VS2005PRO_*_PCH_NAME       = cl.exe\r
 \r
 *_VS2005PRO_*_SLINK_FLAGS       = /NOLOGO /LTCG\r
+*_VS2005PRO_*_APP_FLAGS         = /nologo /P /TC\r
 *_VS2005PRO_*_PP_FLAGS          = /nologo /P /TC /FI${DEST_DIR_DEBUG}/AutoGen.h \r
 *_VS2005PRO_*_VFRPP_FLAGS       = /nologo /P /TC /DVFRCOMPILE\r
 \r
@@ -232,8 +237,8 @@ DEBUG_VS2005PRO_IA32_PCH_FLAGS     = /GS- /nologo /W4 /WX /Gy /c /D UNICODE /D E
 RELEASE_VS2005PRO_IA32_PCH_FLAGS   = /GS- /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /EHs-c- /GF /Gs8192 /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC\r
 DEBUG_VS2005PRO_IA32_ASM_FLAGS     = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi  \r
 RELEASE_VS2005PRO_IA32_ASM_FLAGS   = /nologo /W3 /WX /c /coff /Cx /Zd /W0\r
-DEBUG_VS2005PRO_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG   \r
-RELEASE_VS2005PRO_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
+DEBUG_VS2005PRO_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG   \r
+RELEASE_VS2005PRO_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
 *_VS2005PRO_IA32_ASMLINK_FLAGS     = /link /nologo /tiny\r
 \r
 ##################\r
@@ -251,8 +256,8 @@ DEBUG_VS2005PRO_X64_PCH_FLAGS     = /nologo /X /W4 /WX /c /Gs8192 /GS- /D UNICOD
 RELEASE_VS2005PRO_X64_PCH_FLAGS   = /nologo /X /W4 /WX /c /Gs8192 /GS- /D UNICODE /O1ib2s /GL /Gy /D EFIX64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /EHs-c- /GF /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC\r
 DEBUG_VS2005PRO_X64_ASM_FLAGS     = /nologo /W3 /WX /c /Cx /Zd /Zi\r
 RELEASE_VS2005PRO_X64_ASM_FLAGS   = /nologo /W3 /WX /c /Cx /Zd\r
-DEBUG_VS2005PRO_X64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG \r
-RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
+DEBUG_VS2005PRO_X64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG \r
+RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
 \r
 ##################\r
 # EBC definitions\r
@@ -304,8 +309,8 @@ RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF
 *_MINGW_IA32_VFRPP_NAME   = gcc\r
 \r
 *_MINGW_*_CC_FLAGS        = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include ${DEST_DIR_DEBUG}/AutoGen.h\r
-*_MINGW_*_DLINK_FLAGS     = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _${ENTRYPOINT}\r
-*_MINGW_*_ASM_FLAGS       = -c -imacros ${DEST_DIR_DEBUG}/AutoGen.h\r
+*_MINGW_*_DLINK_FLAGS     = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _${ENTRYPOINT} --file-alignment 0x20 --section-alignment 0x20 \r
+*_MINGW_*_ASM_FLAGS       = -c -imacros ${DEST_DIR_DEBUG}/AutoGen.h  -DASM_PFX(name)=_##name\r
 *_MINGW_*_PP_FLAGS        = -E -x assembler-with-cpp -include ${DEST_DIR_DEBUG}/AutoGen.h\r
 *_MINGW_*_VFRPP_FLAGS     = -x c -E -P -DVFRCOMPILE\r
 *_MINGW_*_ASM_EXT         = .S\r
@@ -335,10 +340,10 @@ RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF
 *_UNIXGCC_X64_PP_NAME       = gcc\r
 *_UNIXGCC_X64_VFRPP_NAME    = gcc\r
 \r
-*_UNIXGCC_IA32_CC_FLAGS     = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include ${DEST_DIR_DEBUG}/AutoGen.h\r
-*_UNIXGCC_X64_CC_FLAGS      = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include ${DEST_DIR_DEBUG}/AutoGen.h -D_EFI_P64\r
-*_UNIXGCC_*_DLINK_FLAGS     = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _${ENTRYPOINT}\r
-*_UNIXGCC_*_ASM_FLAGS       = -c -imacros ${DEST_DIR_DEBUG}/AutoGen.h\r
+*_UNIXGCC_IA32_CC_FLAGS     = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include ${DEST_DIR_DEBUG}/AutoGen.h\r
+*_UNIXGCC_X64_CC_FLAGS      = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include ${DEST_DIR_DEBUG}/AutoGen.h -D_EFI_P64\r
+*_UNIXGCC_*_DLINK_FLAGS     = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _${ENTRYPOINT} --file-alignment 0x20 --section-alignment 0x20 \r
+*_UNIXGCC_*_ASM_FLAGS       = -c -imacros ${DEST_DIR_DEBUG}/AutoGen.h -DASM_PFX(name)=_##name\r
 *_UNIXGCC_*_PP_FLAGS        = -E -x assembler-with-cpp -include ${DEST_DIR_DEBUG}/AutoGen.h\r
 *_UNIXGCC_*_VFRPP_FLAGS     = -x c -E -P -DVFRCOMPILE\r
 *_UNIXGCC_*_ASM_EXT         = .S\r
@@ -372,8 +377,8 @@ RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF
 \r
 *_CYGWINGCC_IA32_CC_FLAGS     = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include ${DEST_DIR_DEBUG}/AutoGen.h\r
 *_CYGWINGCC_X64_CC_FLAGS      = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include ${DEST_DIR_DEBUG}/AutoGen.h -D_EFI_P64\r
-*_CYGWINGCC_*_DLINK_FLAGS     = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _${ENTRYPOINT}\r
-*_CYGWINGCC_*_ASM_FLAGS       = -c -imacros ${DEST_DIR_DEBUG}/AutoGen.h\r
+*_CYGWINGCC_*_DLINK_FLAGS     = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _${ENTRYPOINT} --file-alignment 0x20 --section-alignment 0x20 \r
+*_CYGWINGCC_*_ASM_FLAGS       = -c -imacros ${DEST_DIR_DEBUG}/AutoGen.h -DASM_PFX(name)=_##name\r
 *_CYGWINGCC_*_PP_FLAGS        = -E -x assembler-with-cpp -include ${DEST_DIR_DEBUG}/AutoGen.h\r
 *_CYGWINGCC_*_VFRPP_FLAGS     = -x c -E -P -DVFRCOMPILE\r
 *_CYGWINGCC_*_ASM_EXT         = .S\r
@@ -382,6 +387,56 @@ RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF
 *_CYGWINGCC_X64_*_PATH        = c:/Cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin\r
 *_CYGWINGCC_*_*_DPATH         = c:/Cygwin/bin\r
 \r
+####################################################################################\r
+#\r
+# Elf GCC - This configuration is used to compile on Linux boxes to produce elf\r
+#           binaries.\r
+#\r
+####################################################################################\r
+\r
+\r
+*_ELFGCC_*_*_FAMILY        = GCC\r
+\r
+*_ELFGCC_IA32_CC_NAME      = gcc\r
+*_ELFGCC_IA32_SLINK_NAME   = ar\r
+*_ELFGCC_IA32_DLINK_NAME   = ld\r
+*_ELFGCC_IA32_ASM_NAME     = gcc\r
+*_ELFGCC_IA32_PP_NAME      = gcc\r
+*_ELFGCC_IA32_VFRPP_NAME   = gcc\r
+\r
+*_ELFGCC_IA32_CC_FLAGS     = -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -c -include ${DEST_DIR_DEBUG}/AutoGen.h -DSTRING_ARRAY_NAME=${BASE_NAME}Strings\r
+*_ELFGCC_*_DLINK_FLAGS     = -nostdlib -n -q -Ttext 0x220 --entry ${ENTRYPOINT} -u ${ENTRYPOINT}\r
+*_ELFGCC_*_ASM_FLAGS       = -c -imacros ${DEST_DIR_DEBUG}/AutoGen.h -DASM_PFX(name)=name\r
+*_ELFGCC_*_PP_FLAGS        = -E -x assembler-with-cpp -include ${DEST_DIR_DEBUG}/AutoGen.h\r
+*_ELFGCC_*_VFRPP_FLAGS     = -x c -E -P -DVFRCOMPILE\r
+*_ELFGCC_*_ASM_EXT         = .S\r
+\r
+*_ELFGCC_IA32_*_PATH       = /usr/bin\r
+\r
+####################################################################################\r
+#\r
+# UnixPkg CYGWIN GCC - This configuration is used to compile on CYGWIN environment for UnixPkg.\r
+#\r
+####################################################################################\r
+\r
+\r
+*_UNIXPKGCYGWINGCC_*_*_FAMILY        = GCC\r
+\r
+*_UNIXPKGCYGWINGCC_IA32_CC_NAME      = gcc\r
+*_UNIXPKGCYGWINGCC_IA32_SLINK_NAME   = ar\r
+*_UNIXPKGCYGWINGCC_IA32_DLINK_NAME   = ld\r
+*_UNIXPKGCYGWINGCC_IA32_ASM_NAME     = gcc\r
+*_UNIXPKGCYGWINGCC_IA32_PP_NAME      = gcc\r
+*_UNIXPKGCYGWINGCC_IA32_VFRPP_NAME   = gcc\r
+\r
+*_UNIXPKGCYGWINGCC_IA32_CC_FLAGS     = -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -c -include ${DEST_DIR_DEBUG}/AutoGen.h -DSTRING_ARRAY_NAME=${BASE_NAME}Strings -IC:/cygwin/usr/X11R6/include\r
+*_UNIXPKGCYGWINGCC_*_DLINK_FLAGS     = -nostdlib -n -q -Ttext 0x220 --entry ${ENTRYPOINT} -u ${ENTRYPOINT}\r
+*_UNIXPKGCYGWINGCC_*_ASM_FLAGS       = -c -imacros ${DEST_DIR_DEBUG}/AutoGen.h -DASM_PFX(name)=_##name\r
+*_UNIXPKGCYGWINGCC_*_PP_FLAGS        = -E -x assembler-with-cpp -include ${DEST_DIR_DEBUG}/AutoGen.h\r
+*_UNIXPKGCYGWINGCC_*_VFRPP_FLAGS     = -x c -E -P -DVFRCOMPILE\r
+*_UNIXPKGCYGWINGCC_*_ASM_EXT         = .S\r
+\r
+*_UNIXPKGCYGWINGCC_IA32_*_PATH       = C:/cygwin/bin\r
 \r
 ####################################################################################\r
 #\r
@@ -403,7 +458,7 @@ RELEASE_VS2005PRO_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF
 *_MIXED_X64_PP_NAME      = cl.exe\r
 \r
 *_MIXED_X64_CC_FLAGS     = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include ${DEST_DIR_DEBUG}/AutoGen.h -D_EFI_P64\r
-*_MIXED_*_DLINK_FLAGS    = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _${ENTRYPOINT}\r
+*_MIXED_*_DLINK_FLAGS    = -nostdlib -O2 --gc-sections --dll --export-all-symbols --entry _${ENTRYPOINT} --file-alignment 0x20 --section-alignment 0x20 \r
 *_MIXED_X64_PP_FLAGS     = /nologo /P /TC /FI${DEST_DIR_DEBUG}/AutoGen.h \r
 \r
 *_MIXED_X64_ASM_NAME     = ml64.exe\r
@@ -456,6 +511,91 @@ RELEASE_MIXED_X64_ASM_FLAGS   = /nologo /W3 /WX /c /Cx /Zd
 # *_*_*_ASL_PATH    = C:\ASL\r
 # \r
 \r
+\r
+####################################################################################\r
+#\r
+# Intel(R) C++ Compiler Version 9.1\r
+#\r
+#   IPF  - Intel(R) C++ Compiler for Itanium(R)Version 9.1  Build 20060928 Package ID: W_CC_C_9.1.032\r
+#   ASL  - Intel ACPI Source Language COmpiler\r
+#\r
+####################################################################################\r
+*_ICC_*_*_FAMILY             = MSFT\r
+\r
+*_ICC_*_CC_NAME              = cl.exe\r
+*_ICC_*_SLINK_NAME           = lib.exe\r
+*_ICC_*_DLINK_NAME           = link.exe\r
+*_ICC_*_ASMLINK_NAME         = link.exe\r
+*_ICC_*_PP_NAME              = cl.exe\r
+*_ICC_*_VFRPP_NAME           = cl.exe\r
+*_ICC_*_APP_NAME             = cl.exe\r
+*_ICC_*_ASM_NAME             = ml.exe\r
+\r
+*_ICC_*_VFRPP_FLAGS            = /nologo /P /TC /DVFRCOMPILE\r
+##################\r
+# IA32 definitions\r
+##################\r
+*_ICC_IA32_PCH_NAME          = cl.exe\r
+*_ICC_IA32_ASM_EXT           = .asm\r
+\r
+*_ICC_IA32_*_PATH            = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\r
+*_ICC_IA32_*_DPATH           = C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\r
+*_ICC_IA32_ASMLINK_PATH      = C:\WINDDK\3790.1830\bin\bin16\\r
+\r
+*_ICC_IA32_APP_FLAGS         = /nologo /P /TC\r
+*_ICC_IA32_PP_FLAGS          = /nologo /P /TC /FI${DEST_DIR_DEBUG}/AutoGen.h\r
+DEBUG_ICC_IA32_CC_FLAGS      = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /EHs-c- /GF /Gs8192 /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h /Zi /Gm\r
+RELEASE_ICC_IA32_CC_FLAGS    = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /EHs-c- /GF /Gs8192 /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h\r
+DEBUG_ICC_IA32_PCH_FLAGS     = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /EHs-c- /GF /Gs8192 /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC /Zi /Gm\r
+RELEASE_ICC_IA32_PCH_FLAGS   = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /EHs-c- /GF /Gs8192 /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC\r
+DEBUG_ICC_IA32_ASM_FLAGS     = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi\r
+RELEASE_ICC_IA32_ASM_FLAGS   = /nologo /W3 /WX /c /coff /Cx /Zd /W0\r
+*_ICC_IA32_SLINK_FLAGS       = /nologo /LTCG\r
+DEBUG_ICC_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG\r
+RELEASE_ICC_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
+\r
+\r
+##################\r
+# IPF definitions\r
+##################\r
+*_ICC_IPF_*_FAMILY  = INTEL\r
+\r
+*_ICC_IPF_CC_NAME           = icl.exe\r
+*_ICC_IPF_SLINK_NAME        = xilib.exe\r
+*_ICC_IPF_DLINK_NAME        = xilink.exe\r
+*_ICC_IPF_ASMLINK_NAME      = xilink.exe\r
+*_ICC_IPF_PP_NAME           = icl.exe\r
+*_ICC_IPF_VFRPP_NAME        = icl.exe\r
+\r
+#*_ICC_IPF_PCH_NAME          = icl.exe\r
+*_ICC_IPF_APP_NAME          = icl.exe\r
+*_ICC_IPF_ASM_NAME          = ias.exe\r
+*_ICC_IPF_ASM_EXT           = .s\r
+\r
+\r
+\r
+*_ICC_IPF_*_PATH            = C:\Program Files\Intel\Compiler\C++\9.1\Itanium\Bin\r
+\r
+*_ICC_IPF_APP_FLAGS         = /nologo /P /TC\r
+*_ICC_IPF_PP_FLAGS          = /nologo /P /TC /FI${DEST_DIR_DEBUG}/AutoGen.h\r
+DEBUG_ICC_IPF_CC_FLAGS      = /nologo /QIA64_fr32 /W4 /WX /GX /Gy /c /Od /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Zi\r
+RELEASE_ICC_IPF_CC_FLAGS    = /nologo /QIA64_fr32 /W4 /WX /GX /Gy /c /Od /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h\r
+#DEBUG_ICC_IPF_PCH_FLAGS     = /nologo /QIA64_fr32 /W4 /WX /GX /Gy /c /Od /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Yc /TC /Zi\r
+#RELEASE_ICC_IPF_PCH_FLAGS   = /nologo /QIA64_fr32 /W4 /WX /GX /Gy /c /Od /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Yc /TC\r
+DEBUG_ICC_IPF_ASM_FLAGS     = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32\r
+RELEASE_ICC_IPF_ASM_FLAGS   = -N us -X explicit -M ilp64 -N so -W3 -F COFF32\r
+DEBUG_ICC_IPF_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map /PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb /DEBUG\r
+RELEASE_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map /PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb\r
+*_ICC_IPF_SLINK_FLAGS       = /nologo /LTCG\r
+\r
+\r
+##################\r
+# ASL definitions\r
+##################\r
+*_ICC_*_ASL_FAMILY  = INTEL\r
+*_ICC_*_ASL_NAME    = iasl.exe\r
+*_ICC_*_ASL_PATH    = C:\ASL\r
+\r
 ####################################################################################\r
 #\r
 # MYTOOLS\r
@@ -498,8 +638,8 @@ DEBUG_MYTOOLS_IA32_ASM_FLAGS     = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi
 RELEASE_MYTOOLS_IA32_ASM_FLAGS   = /nologo /W3 /WX /c /coff /Cx /Zd /W0\r
 *_MYTOOLS_IA32_ASMLINK_FLAGS     = /link /nologo /tiny\r
 *_MYTOOLS_IA32_SLINK_FLAGS       = /nologo /LTCG\r
-DEBUG_MYTOOLS_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG   \r
-RELEASE_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
+DEBUG_MYTOOLS_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG   \r
+RELEASE_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
 \r
 ##################\r
 # x64 definitions\r
@@ -520,8 +660,8 @@ DEBUG_MYTOOLS_X64_PCH_FLAGS     = /nologo /X /W4 /WX /c /Gs8192 /GS- /D UNICODE
 RELEASE_MYTOOLS_X64_PCH_FLAGS   = /nologo /X /W4 /WX /c /Gs8192 /GS- /D UNICODE /O1ib2s /GL /Gy /D EFIX64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC /EHs-c- /GF\r
 DEBUG_MYTOOLS_X64_ASM_FLAGS     = /nologo /W3 /WX /c /Cx /Zd /Zi\r
 RELEASE_MYTOOLS_X64_ASM_FLAGS   = /nologo /W3 /WX /c /Cx /Zd\r
-DEBUG_MYTOOLS_X64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG \r
-RELEASE_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
+DEBUG_MYTOOLS_X64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG \r
+RELEASE_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:${ENTRYPOINT} /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text\r
 \r
 ##################\r
 # IPF definitions\r
@@ -534,10 +674,10 @@ RELEASE_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /O
 \r
 *_MYTOOLS_IPF_APP_FLAGS         = /nologo /P /TC\r
 *_MYTOOLS_IPF_PP_FLAGS          = /nologo /P /TC /FI${DEST_DIR_DEBUG}/AutoGen.h\r
-DEBUG_MYTOOLS_IPF_CC_FLAGS      = /GS- /nologo /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h /Zi\r
-RELEASE_MYTOOLS_IPF_CC_FLAGS    = /GS- /nologo /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h\r
-DEBUG_MYTOOLS_IPF_PCH_FLAGS     = /GS- /nologo /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC /Zi\r
-RELEASE_MYTOOLS_IPF_PCH_FLAGS   = /GS- /nologo /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC\r
+DEBUG_MYTOOLS_IPF_CC_FLAGS      = /GS- /nologo /QIPF_fr32 /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h /Zi\r
+RELEASE_MYTOOLS_IPF_CC_FLAGS    = /GS- /nologo /QIPF_fr32 /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yu${DEST_DIR_DEBUG}/AutoGen.h\r
+DEBUG_MYTOOLS_IPF_PCH_FLAGS     = /GS- /nologo /QIPF_fr32 /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC /Zi\r
+RELEASE_MYTOOLS_IPF_PCH_FLAGS   = /GS- /nologo /QIPF_fr32 /W4 /WX /EHs-c- /Gy /c /Os /GL /X /D EFI64 /DSTRING_ARRAY_NAME=${BASE_NAME}Strings /FI${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_OUTPUT}/AutoGen.h.gch /Yc /TC\r
 DEBUG_MYTOOLS_IPF_ASM_FLAGS     = -N us -X explicit -M ilp64 -N so -W4 -d debug\r
 RELEASE_MYTOOLS_IPF_ASM_FLAGS   = -N us -X explicit -M ilp64 -N so -W4\r
 DEBUG_MYTOOLS_IPF_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:${ENTRYPOINT} /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map /PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb /DEBUG\r