IDENTIFIER = Default TOOL_CHAIN_CONF\r
\r
# common path macros\r
-DEFINE VS2003_BIN = C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\r
-DEFINE VS2003_DLL = C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\r
+DEFINE VS2003_BIN = ENV(VS2003_PREFIX)Vc7\bin\r
+DEFINE VS2003_DLL = ENV(VS2003_PREFIX)Common7\IDE\r
\r
-DEFINE VS2005_BIN = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\r
-DEFINE VS2005_DLL = C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;DEF(VS2005_BIN)\r
-DEFINE VS2005_BINX64 = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\x86_amd64\r
-DEFINE VS2005_BIN64 = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\x86_ia64\r
+DEFINE VS2005_BIN = ENV(VS2005_PREFIX)Vc\bin\r
+DEFINE VS2005_DLL = ENV(VS2005_PREFIX)Common7\IDE;DEF(VS2005_BIN)\r
+DEFINE VS2005_BINX64 = DEF(VS2005_BIN)\x86_amd64\r
+DEFINE VS2005_BIN64 = DEF(VS2005_BIN)\x86_ia64\r
\r
-DEFINE VS2005x86_BIN = C:\Program Files (x86)\Microsoft Visual Studio 8\Vc\bin\r
-DEFINE VS2005x86_DLL = C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE;DEF(VS2005x86_BIN)\r
+DEFINE VS2005x86_BIN = ENV(VS2005_PREFIX)Vc\bin\r
+DEFINE VS2005x86_DLL = ENV(VS2005_PREFIX)Common7\IDE;DEF(VS2005x86_BIN)\r
DEFINE VS2005x86_BINX64 = DEF(VS2005x86_BIN)\x86_amd64\r
DEFINE VS2005x86_BIN64 = DEF(VS2005x86_BIN)\x86_ia64\r
\r
-DEFINE VS2008_BIN = C:\Program Files\Microsoft Visual Studio 9.0\Vc\bin\r
-DEFINE VS2008_DLL = C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;DEF(VS2008_BIN)\r
+DEFINE VS2008_BIN = ENV(VS2008_PREFIX)Vc\bin\r
+DEFINE VS2008_DLL = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008_BIN)\r
DEFINE VS2008_BINX64 = DEF(VS2008_BIN)\x86_amd64\r
DEFINE VS2008_BIN64 = DEF(VS2008_BIN)\x86_ia64\r
\r
-DEFINE VS2008x86_BIN = C:\Program Files (x86)\Microsoft Visual Studio 9.0\Vc\bin\r
-DEFINE VS2008x86_DLL = C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;DEF(VS2008x86_BIN)\r
+DEFINE VS2008x86_BIN = ENV(VS2008_PREFIX)Vc\bin\r
+DEFINE VS2008x86_DLL = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008x86_BIN)\r
DEFINE VS2008x86_BINX64 = DEF(VS2008x86_BIN)\x86_amd64\r
DEFINE VS2008x86_BIN64 = DEF(VS2008x86_BIN)\x86_ia64\r
\r
-DEFINE VS2010_BIN = C:\Program Files\Microsoft Visual Studio 10.0\Vc\bin\r
-DEFINE VS2010_DLL = C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE;DEF(VS2010_BIN)\r
+DEFINE VS2010_BIN = ENV(VS2010_PREFIX)Vc\bin\r
+DEFINE VS2010_DLL = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010_BIN)\r
DEFINE VS2010_BINX64 = DEF(VS2010_BIN)\x86_amd64\r
DEFINE VS2010_BIN64 = DEF(VS2010_BIN)\x86_ia64\r
\r
-DEFINE VS2010x86_BIN = C:\Program Files (x86)\Microsoft Visual Studio 10.0\Vc\bin\r
-DEFINE VS2010x86_DLL = C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE;DEF(VS2010x86_BIN)\r
+DEFINE VS2010x86_BIN = ENV(VS2010_PREFIX)Vc\bin\r
+DEFINE VS2010x86_DLL = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010x86_BIN)\r
DEFINE VS2010x86_BINX64 = DEF(VS2010x86_BIN)\x86_amd64\r
DEFINE VS2010x86_BIN64 = DEF(VS2010x86_BIN)\x86_ia64\r
\r
-DEFINE VS2012_BIN = C:\Program Files\Microsoft Visual Studio 11.0\Vc\bin\r
-DEFINE VS2012_DLL = C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE;DEF(VS2012_BIN)\r
+DEFINE VS2012_BIN = ENV(VS2012_PREFIX)Vc\bin\r
+DEFINE VS2012_DLL = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012_BIN)\r
DEFINE VS2012_BINX64 = DEF(VS2012_BIN)\x86_amd64\r
\r
-DEFINE VS2012x86_BIN = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Vc\bin\r
-DEFINE VS2012x86_DLL = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE;DEF(VS2012x86_BIN)\r
+DEFINE VS2012x86_BIN = ENV(VS2012_PREFIX)Vc\bin\r
+DEFINE VS2012x86_DLL = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012x86_BIN)\r
DEFINE VS2012x86_BINX64 = DEF(VS2012x86_BIN)\x86_amd64\r
\r
-DEFINE VS2013_BIN = C:\Program Files\Microsoft Visual Studio 12.0\Vc\bin\r
-DEFINE VS2013_DLL = C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE;DEF(VS2012_BIN)\r
+DEFINE VS2013_BIN = ENV(VS2013_PREFIX)Vc\bin\r
+DEFINE VS2013_DLL = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013_BIN)\r
DEFINE VS2013_BINX64 = DEF(VS2013_BIN)\x86_amd64\r
\r
-DEFINE VS2013x86_BIN = C:\Program Files (x86)\Microsoft Visual Studio 12.0\Vc\bin\r
-DEFINE VS2013x86_DLL = C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;DEF(VS2013x86_BIN)\r
+DEFINE VS2013x86_BIN = ENV(VS2013_PREFIX)Vc\bin\r
+DEFINE VS2013x86_DLL = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013x86_BIN)\r
DEFINE VS2013x86_BINX64 = DEF(VS2013x86_BIN)\x86_amd64\r
\r
-DEFINE VS2015_BIN = C:\Program Files\Microsoft Visual Studio 14.0\Vc\bin\r
-DEFINE VS2015_DLL = C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE;DEF(VS2015_BIN)\r
+DEFINE VS2015_BIN = ENV(VS2015_PREFIX)Vc\bin\r
+DEFINE VS2015_DLL = ENV(VS2015_PREFIX)Common7\IDE;DEF(VS2015_BIN)\r
DEFINE VS2015_BINX64 = DEF(VS2015_BIN)\x86_amd64\r
\r
-DEFINE VS2015x86_BIN = C:\Program Files (x86)\Microsoft Visual Studio 14.0\Vc\bin\r
-DEFINE VS2015x86_DLL = C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE;DEF(VS2015x86_BIN)\r
+DEFINE VS2015x86_BIN = ENV(VS2015_PREFIX)Vc\bin\r
+DEFINE VS2015x86_DLL = ENV(VS2015_PREFIX)Common7\IDE;DEF(VS2015x86_BIN)\r
DEFINE VS2015x86_BINX64 = DEF(VS2015x86_BIN)\x86_amd64\r
\r
-DEFINE WINSDK_VERSION = v6.0A\r
-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
+DEFINE WINSDK_BIN = ENV(WINSDK_PREFIX)\r
+DEFINE WINSDKx86_BIN = ENV(WINSDKx86_PREFIX)\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
+DEFINE WINSDK7_BIN = ENV(WINSDK7_PREFIX)\r
+DEFINE WINSDK7x86_BIN = ENV(WINSDK7x86_PREFIX)\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
+DEFINE WINSDK71_BIN = ENV(WINSDK71_PREFIX)\r
+DEFINE WINSDK71x86_BIN = ENV(WINSDK71x86_PREFIX)\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
+DEFINE WINSDK8_BIN = ENV(WINSDK8_PREFIX)x86\\r
+DEFINE WINSDK8x86_BIN = ENV(WINSDK8x86_PREFIX)x64\r
\r
# Microsoft Visual Studio 2015 Professional Edition\r
-DEFINE WINSDK81_BIN = c:\Program Files\Windows Kits\8.1\bin\x86\\r
-DEFINE WINSDK81x86_BIN = c:\Program Files (x86)\Windows Kits\8.1\bin\x64\r
+DEFINE WINSDK81_BIN = ENV(WINSDK81_PREFIX)x86\\r
+DEFINE WINSDK81x86_BIN = ENV(WINSDK81x86_PREFIX)x64\r
\r
# These defines are needed for certain Microsoft Visual Studio tools that\r
# are used by other toolchains. An example is that ICC on Windows normally\r
# Some MS_VS_DLL options: DEF(VS2003_DLL), DEF(VS2005_DLL), DEF(VS2005x86_DLL), DEF(VS2008_DLL), DEF(VS2008x86_DLL)\r
DEFINE MS_VS_DLL = DEF(VS2005_DLL)\r
\r
-DEFINE WINDDK_BIN16 = C:\WINDDK\3790.1830\bin\bin16\r
-DEFINE WINDDK_BIN32 = C:\WINDDK\3790.1830\bin\x86\r
-DEFINE WINDDK_BINX64 = C:\WINDDK\3790.1830\bin\win64\x86\amd64\r
-DEFINE WINDDK_BIN64 = C:\WINDDK\3790.1830\bin\win64\x86\r
+DEFINE WINDDK_BIN16 = ENV(WINDDK3790_PREFIX)bin16\r
+DEFINE WINDDK_BIN32 = ENV(WINDDK3790_PREFIX)x86\r
+DEFINE WINDDK_BINX64 = ENV(WINDDK3790_PREFIX)win64\x86\amd64\r
+DEFINE WINDDK_BIN64 = ENV(WINDDK3790_PREFIX)win64\x86\r
\r
# NOTE: The Intel C++ Compiler for Windows requires one of the Microsoft C compiler\r
# tool chains for the linker and nmake commands.\r
DEFINE GCC5_X64_PREFIX = ENV(GCC5_BIN)\r
\r
DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl\r
-DEFINE WIN_ASL_BIN_DIR = C:\ASL\r
-DEFINE WIN_IASL_BIN = DEF(WIN_ASL_BIN_DIR)\iasl.exe\r
-DEFINE WIN_ASL_BIN = DEF(WIN_ASL_BIN_DIR)\asl.exe\r
+DEFINE WIN_IASL_BIN = ENV(IASL_PREFIX)iasl.exe\r
+DEFINE WIN_ASL_BIN = ENV(IASL_PREFIX)asl.exe\r
\r
DEFINE IASL_FLAGS =\r
DEFINE IASL_OUTFLAGS = -p\r
*_*_*_SYMRENAME_FLAGS = Symbol renaming not needed for\r
DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug\r
RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG =\r
+NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug\r
\r
DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common\r
DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe\r
DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h\r
DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
-DEFINE GCC_ASLPP_FLAGS = -x c -E -P\r
+DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h\r
DEFINE GCC_ASLCC_FLAGS = -x c\r
DEFINE GCC_WINDRES_FLAGS = -J rc -O coff\r
DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii\r
\r
DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings\r
DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables\r
-DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -Os -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables\r
+DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables\r
DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20\r
DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable\r
DEFINE GCC44_IA32_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
DEFINE GCC49_ARM_ASLDLINK_FLAGS = DEF(GCC48_ARM_ASLDLINK_FLAGS)\r
DEFINE GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS)\r
\r
-DEFINE GCC5_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -flto -fno-builtin\r
-DEFINE GCC5_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -flto -fno-builtin -DUSING_LTO\r
+DEFINE GCC5_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -fno-builtin\r
+DEFINE GCC5_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -fno-builtin\r
DEFINE GCC5_IA32_X64_DLINK_COMMON = DEF(GCC49_IA32_X64_DLINK_COMMON)\r
DEFINE GCC5_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS)\r
-DEFINE GCC5_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -flto\r
+DEFINE GCC5_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS)\r
DEFINE GCC5_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) -Wno-error\r
-DEFINE GCC5_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS) -flto\r
+DEFINE GCC5_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS)\r
DEFINE GCC5_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) -Wno-error\r
DEFINE GCC5_ASM_FLAGS = DEF(GCC49_ASM_FLAGS)\r
DEFINE GCC5_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS)\r
*_GCC44_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32\r
*_GCC44_IA32_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386\r
*_GCC44_IA32_ASM_FLAGS = DEF(GCC44_ASM_FLAGS) -m32 --32 -march=i386\r
-*_GCC44_IA32_CC_FLAGS = DEF(GCC44_IA32_CC_FLAGS) -Os\r
*_GCC44_IA32_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386\r
*_GCC44_IA32_DLINK2_FLAGS = DEF(GCC44_IA32_DLINK2_FLAGS)\r
*_GCC44_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)\r
*_GCC44_IA32_OBJCOPY_FLAGS = \r
*_GCC44_IA32_NASM_FLAGS = -f elf32\r
\r
+ DEBUG_GCC44_IA32_CC_FLAGS = DEF(GCC44_IA32_CC_FLAGS) -Os\r
+RELEASE_GCC44_IA32_CC_FLAGS = DEF(GCC44_IA32_CC_FLAGS) -Os\r
+ NOOPT_GCC44_IA32_CC_FLAGS = DEF(GCC44_IA32_CC_FLAGS) -O0\r
+\r
##################\r
# GCC44 X64 definitions\r
##################\r
*_GCC44_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64\r
*_GCC44_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64\r
*_GCC44_X64_ASM_FLAGS = DEF(GCC44_ASM_FLAGS) -m64 --64 -melf_x86_64\r
-*_GCC44_X64_CC_FLAGS = DEF(GCC44_X64_CC_FLAGS)\r
*_GCC44_X64_DLINK_FLAGS = DEF(GCC44_X64_DLINK_FLAGS)\r
*_GCC44_X64_DLINK2_FLAGS = DEF(GCC44_X64_DLINK2_FLAGS)\r
*_GCC44_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)\r
*_GCC44_X64_OBJCOPY_FLAGS = \r
*_GCC44_X64_NASM_FLAGS = -f elf64\r
\r
+ DEBUG_GCC44_X64_CC_FLAGS = DEF(GCC44_X64_CC_FLAGS) -Os\r
+RELEASE_GCC44_X64_CC_FLAGS = DEF(GCC44_X64_CC_FLAGS) -Os\r
+ NOOPT_GCC44_X64_CC_FLAGS = DEF(GCC44_X64_CC_FLAGS) -O0\r
+\r
####################################################################################\r
#\r
# GCC 4.5 - This configuration is used to compile under Linux to produce\r
*_GCC45_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32\r
*_GCC45_IA32_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386\r
*_GCC45_IA32_ASM_FLAGS = DEF(GCC45_ASM_FLAGS) -m32 --32 -march=i386\r
-*_GCC45_IA32_CC_FLAGS = DEF(GCC45_IA32_CC_FLAGS) -Os\r
*_GCC45_IA32_DLINK_FLAGS = DEF(GCC45_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386\r
*_GCC45_IA32_DLINK2_FLAGS = DEF(GCC45_IA32_DLINK2_FLAGS)\r
*_GCC45_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)\r
*_GCC45_IA32_OBJCOPY_FLAGS = \r
*_GCC45_IA32_NASM_FLAGS = -f elf32\r
\r
+ DEBUG_GCC45_IA32_CC_FLAGS = DEF(GCC45_IA32_CC_FLAGS) -Os\r
+RELEASE_GCC45_IA32_CC_FLAGS = DEF(GCC45_IA32_CC_FLAGS) -Os\r
+ NOOPT_GCC45_IA32_CC_FLAGS = DEF(GCC45_IA32_CC_FLAGS) -O0\r
+\r
##################\r
# GCC45 X64 definitions\r
##################\r
*_GCC45_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64\r
*_GCC45_X64_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64\r
*_GCC45_X64_ASM_FLAGS = DEF(GCC45_ASM_FLAGS) -m64 --64 -melf_x86_64\r
-*_GCC45_X64_CC_FLAGS = DEF(GCC45_X64_CC_FLAGS)\r
*_GCC45_X64_DLINK_FLAGS = DEF(GCC45_X64_DLINK_FLAGS)\r
*_GCC45_X64_DLINK2_FLAGS = DEF(GCC45_X64_DLINK2_FLAGS)\r
*_GCC45_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)\r
*_GCC45_X64_OBJCOPY_FLAGS = \r
*_GCC45_X64_NASM_FLAGS = -f elf64\r
\r
+ DEBUG_GCC45_X64_CC_FLAGS = DEF(GCC45_X64_CC_FLAGS) -Os\r
+RELEASE_GCC45_X64_CC_FLAGS = DEF(GCC45_X64_CC_FLAGS) -Os\r
+ NOOPT_GCC45_X64_CC_FLAGS = DEF(GCC45_X64_CC_FLAGS) -O0\r
+\r
####################################################################################\r
#\r
# GCC 4.6 - This configuration is used to compile under Linux to produce\r
\r
DEBUG_GCC46_IA32_CC_FLAGS = DEF(GCC46_IA32_CC_FLAGS) -Os\r
RELEASE_GCC46_IA32_CC_FLAGS = DEF(GCC46_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+ NOOPT_GCC46_IA32_CC_FLAGS = DEF(GCC46_IA32_CC_FLAGS) -O0\r
\r
##################\r
# GCC46 X64 definitions\r
*_GCC46_X64_OBJCOPY_FLAGS = \r
*_GCC46_X64_NASM_FLAGS = -f elf64\r
\r
- DEBUG_GCC46_X64_CC_FLAGS = DEF(GCC46_X64_CC_FLAGS)\r
-RELEASE_GCC46_X64_CC_FLAGS = DEF(GCC46_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+ DEBUG_GCC46_X64_CC_FLAGS = DEF(GCC46_X64_CC_FLAGS) -Os\r
+RELEASE_GCC46_X64_CC_FLAGS = DEF(GCC46_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+ NOOPT_GCC46_X64_CC_FLAGS = DEF(GCC46_X64_CC_FLAGS) -O0\r
\r
##################\r
# GCC46 ARM definitions\r
\r
DEBUG_GCC46_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS) -O0\r
RELEASE_GCC46_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-variable\r
+ NOOPT_GCC46_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS) -O0\r
\r
####################################################################################\r
#\r
\r
DEBUG_GCC47_IA32_CC_FLAGS = DEF(GCC47_IA32_CC_FLAGS) -Os\r
RELEASE_GCC47_IA32_CC_FLAGS = DEF(GCC47_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+ NOOPT_GCC47_IA32_CC_FLAGS = DEF(GCC47_IA32_CC_FLAGS) -O0\r
\r
##################\r
# GCC47 X64 definitions\r
*_GCC47_X64_OBJCOPY_FLAGS = \r
*_GCC47_X64_NASM_FLAGS = -f elf64\r
\r
- DEBUG_GCC47_X64_CC_FLAGS = DEF(GCC47_X64_CC_FLAGS)\r
-RELEASE_GCC47_X64_CC_FLAGS = DEF(GCC47_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+ DEBUG_GCC47_X64_CC_FLAGS = DEF(GCC47_X64_CC_FLAGS) -Os\r
+RELEASE_GCC47_X64_CC_FLAGS = DEF(GCC47_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+ NOOPT_GCC47_X64_CC_FLAGS = DEF(GCC47_X64_CC_FLAGS) -O0\r
\r
##################\r
# GCC47 ARM definitions\r
\r
DEBUG_GCC47_ARM_CC_FLAGS = DEF(GCC47_ARM_CC_FLAGS) -O0\r
RELEASE_GCC47_ARM_CC_FLAGS = DEF(GCC47_ARM_CC_FLAGS) -Wno-unused-but-set-variable\r
+ NOOPT_GCC47_ARM_CC_FLAGS = DEF(GCC47_ARM_CC_FLAGS) -O0\r
\r
##################\r
# GCC47 AARCH64 definitions\r
\r
DEBUG_GCC47_AARCH64_CC_FLAGS = DEF(GCC47_AARCH64_CC_FLAGS) -O0\r
RELEASE_GCC47_AARCH64_CC_FLAGS = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -fomit-frame-pointer\r
+ NOOPT_GCC47_AARCH64_CC_FLAGS = DEF(GCC47_AARCH64_CC_FLAGS) -O0\r
\r
####################################################################################\r
#\r
\r
DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os\r
RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+ NOOPT_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -O0\r
\r
##################\r
# GCC48 X64 definitions\r
*_GCC48_X64_OBJCOPY_FLAGS = \r
*_GCC48_X64_NASM_FLAGS = -f elf64\r
\r
- DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS)\r
-RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+ DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os\r
+RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+ NOOPT_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -O0\r
\r
##################\r
# GCC48 ARM definitions\r
\r
DEBUG_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -O0\r
RELEASE_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-variable\r
+ NOOPT_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -O0\r
\r
##################\r
# GCC48 AARCH64 definitions\r
\r
DEBUG_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -O0\r
RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -fomit-frame-pointer\r
+ NOOPT_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -O0\r
\r
####################################################################################\r
#\r
\r
DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os\r
RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+ NOOPT_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -O0\r
\r
##################\r
# GCC49 X64 definitions\r
*_GCC49_X64_OBJCOPY_FLAGS = \r
*_GCC49_X64_NASM_FLAGS = -f elf64\r
\r
- DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS)\r
-RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+ DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os\r
+RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+ NOOPT_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -O0\r
\r
##################\r
# GCC49 ARM definitions\r
\r
DEBUG_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0\r
RELEASE_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable\r
+ NOOPT_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0\r
\r
##################\r
# GCC49 AARCH64 definitions\r
RELEASE_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -mcmodel=tiny -fomit-frame-pointer\r
RELEASE_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)\r
\r
+ NOOPT_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0 -mcmodel=small\r
+ NOOPT_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0\r
+ NOOPT_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0\r
+\r
####################################################################################\r
#\r
# GCC 5 - This configuration is used to compile under Linux to produce\r
*_GCC5_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto\r
*_GCC5_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386\r
*_GCC5_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386\r
-*_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Os -Wl,-m,elf_i386,--oformat=elf32-i386\r
*_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS)\r
*_GCC5_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)\r
*_GCC5_IA32_OBJCOPY_FLAGS =\r
*_GCC5_IA32_NASM_FLAGS = -f elf32\r
\r
- DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -Os\r
-RELEASE_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable\r
+ DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os\r
+ DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386\r
+\r
+RELEASE_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable\r
+RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386\r
+\r
+ NOOPT_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0\r
+ NOOPT_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0\r
\r
##################\r
# GCC5 X64 definitions\r
*_GCC5_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto\r
*_GCC5_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64\r
*_GCC5_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64\r
-*_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -Os\r
*_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS)\r
*_GCC5_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)\r
*_GCC5_X64_OBJCOPY_FLAGS =\r
*_GCC5_X64_NASM_FLAGS = -f elf64\r
\r
- DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS)\r
-RELEASE_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -Wno-unused-but-set-variable\r
+ DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os\r
+ DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os\r
+\r
+RELEASE_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os -Wno-unused-but-set-variable\r
+RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os\r
+\r
+ NOOPT_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -O0\r
+ NOOPT_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -O0\r
\r
##################\r
# GCC5 ARM definitions\r
RELEASE_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable\r
RELEASE_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm\r
\r
+ NOOPT_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0\r
+ NOOPT_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -O0\r
+\r
##################\r
# GCC5 AARCH64 definitions\r
##################\r
RELEASE_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -mcmodel=tiny -fomit-frame-pointer\r
RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64\r
\r
+ NOOPT_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small\r
+ NOOPT_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0\r
+ NOOPT_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0\r
+\r
####################################################################################\r
#\r
# CLANG35 - This configuration is used to compile under Linux to produce\r
*_CLANG38_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)\r
DEBUG_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g\r
RELEASE_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET)\r
-*_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386\r
+*_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386\r
*_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3\r
*_CLANG38_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)\r
*_CLANG38_IA32_OBJCOPY_FLAGS =\r
*_CLANG38_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)\r
DEBUG_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g\r
RELEASE_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET)\r
-*_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small\r
+*_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small\r
*_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3\r
*_CLANG38_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)\r
*_CLANG38_X64_OBJCOPY_FLAGS =\r
*_ELFGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)\r
*_ELFGCC_*_ASL_FLAGS = DEF(IASL_FLAGS)\r
*_ELFGCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)\r
-*_ELFGCC_*_ASLPP_FLAGS = -x c -E -P\r
+*_ELFGCC_*_ASLPP_FLAGS = -x c -E -include AutoGen.h\r
*_ELFGCC_*_ASLCC_FLAGS = -x c\r
*_ELFGCC_*_ASLDLINK_FLAGS = DEF(GCC_DLINK_FLAGS_COMMON) --entry _ReferenceAcpiTable\r
\r
\r
*_XCODE32_IA32_ASLCC_FLAGS = -arch i386 -x c -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic\r
*_XCODE32_IA32_ASLDLINK_FLAGS = -arch i386 -e _main -preload -segalign 0x20 -pie -seg1addr 0x220 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCODE32_IA32_ASLPP_FLAGS = -arch i386 -x c -E\r
+*_XCODE32_IA32_ASLPP_FLAGS = -arch i386 -x c -E -include AutoGen.h\r
*_XCODE32_IA32_ASL_FLAGS =\r
\r
##################\r
RELEASE_XCLANG_X64_CC_FLAGS = -ccc-host-triple x86_64-pc-win32-macho -c -Os -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang\r
*_XCLANG_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic\r
*_XCLANG_*_ASLDLINK_FLAGS = -e _main -preload -segalign 0x20 -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCLANG_*_ASLPP_FLAGS = -x c -E \r
+*_XCLANG_*_ASLPP_FLAGS = -x c -E -include AutoGen.h\r
*_XCLANG_*_ASL_FLAGS =\r
\r
#\r
\r
*_XCODE5_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h \r
*_XCODE5_*_ASLDLINK_FLAGS = -e _ReferenceAcpiTable -preload -segalign 0x20 -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-*_XCODE5_*_ASLPP_FLAGS = -x c -E \r
+*_XCODE5_*_ASLPP_FLAGS = -x c -E -include AutoGen.h\r
*_XCODE5_*_ASL_FLAGS =\r
*_XCODE5_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)\r
\r