#/*++\r
# \r
-# Copyright (c) 2004 - 2007, Intel Corporation \r
-# All rights reserved. This program and the accompanying materials \r
+# Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
+# This program and the accompanying materials \r
# are licensed and made available under the terms and conditions of the BSD License \r
# which accompanies this distribution. The full text of the license may be found at \r
# http://opensource.org/licenses/bsd-license.php \r
#\r
ANTLR = $(PCCTS_DIR)\bin\antlr\r
DLG = $(PCCTS_DIR)\bin\dlg\r
+EXE2BIN = $(EDK_TOOLS_OUTPUT)\Strip\r
FWIMAGE = $(EDK_TOOLS_OUTPUT)\FwImage\r
GENDEPEX = $(EDK_TOOLS_OUTPUT)\GenDepex\r
GENFDIMAGE = $(EDK_TOOLS_OUTPUT)\GenFdImage\r
GENFFSFILE = $(EDK_TOOLS_OUTPUT)\GenFfsFile\r
GENFVIMAGE = $(EDK_TOOLS_OUTPUT)\GenFvImage\r
GENSECTION = $(EDK_TOOLS_OUTPUT)\GenSection\r
+GENTEIMAGE = $(EDK_TOOLS_OUTPUT)\GenTEImage\r
GUIDCHK = $(EDK_TOOLS_OUTPUT)\GuidChk\r
+HIIPACK = $(EDK_TOOLS_OUTPUT)\HiiPack\r
MAKEDEPS = $(EDK_TOOLS_OUTPUT)\MakeDeps\r
PROCESSDSC = $(EDK_TOOLS_OUTPUT)\ProcessDsc\r
STRGATHER = $(EDK_TOOLS_OUTPUT)\StrGather\r
# in the platform specific macros (xxx_PROJ_FLAGS)\r
#\r
C_STD_INCLUDE = /X\r
+\r
!IF "$(EFI_GENERATE_INTERMEDIATE_FILE)" == "YES"\r
+\r
!IF "$(USE_VC8)" == "YES"\r
-C_STD_FLAGS = /nologo /W4 /WX /EHsc /Gy /GS- /D USE_VC8 /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
+C_STD_FLAGS = /nologo /W4 /WX /EHs-c- /GR- /Gy /GS- /D USE_VC8 /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
!ELSE\r
-C_STD_FLAGS = /nologo /W4 /WX /GX /Gy /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
+C_STD_FLAGS = /nologo /W4 /WX /GX- /GR- /Gy /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
!ENDIF\r
+ASM_STD_FLAGS = /nologo /Fl$*.lst $(INC)\r
+\r
!ELSE\r
+\r
!IF "$(USE_VC8)" == "YES"\r
-C_STD_FLAGS = /nologo /W4 /WX /EHsc /Gy /GS- /D USE_VC8 /c /Fo$@ $(INC)\r
+C_STD_FLAGS = /nologo /W4 /WX /EHs-c- /GR- /Gy /GS- /D USE_VC8 /c /Fo$@ $(INC)\r
!ELSE\r
-C_STD_FLAGS = /nologo /W4 /WX /GX /Gy /c /Fo$@ $(INC)\r
-!ENDIF\r
+C_STD_FLAGS = /nologo /W4 /WX /GX- /GR- /Gy /c /Fo$@ $(INC)\r
!ENDIF\r
ASM_STD_FLAGS = /nologo $(INC) \r
+\r
+!ENDIF\r
+\r
LINK_STD_FLAGS = /nologo /SUBSYSTEM:CONSOLE /NODEFAULTLIB /MAP /OPT:REF /BASE:0 /IGNORE:4001,4078,4086,4096,4108 $(BUILD_DIR)\IA32\CompilerStub.lib\r
LIB_STD_FLAGS = /nologo \r
\r
!ENDIF\r
\r
BSCMAKE = bscmake\r
+RC = rc\r
\r
!IF "$(EFI_SYMBOLIC_DEBUG)" == "YES"\r
ASM_ARCH_FLAGS = $(ASM_ARCH_FLAGS) /Zi /DDEBUG\r
#\r
C_STD_INCLUDE = /X\r
!IF "$(EFI_GENERATE_INTERMEDIATE_FILE)" == "YES"\r
-C_STD_FLAGS = /nologo /W4 /WX /Gy /c /GS- /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC) \r
+C_STD_FLAGS = /nologo /W4 /WX /EHs-c- /GR- /Gy /c /GS- /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC) \r
+ASM_STD_FLAGS = /nologo /Fl$*.lst $(INC)\r
!ELSE\r
-C_STD_FLAGS = /nologo /W4 /WX /Gy /c /GS- /Fo$@ $(INC) \r
-!ENDIF\r
+C_STD_FLAGS = /nologo /W4 /WX /EHs-c- /GR- /Gy /c /GS- /Fo$@ $(INC) \r
ASM_STD_FLAGS = /nologo $(INC)\r
+!ENDIF\r
LINK_STD_FLAGS = /nologo /SUBSYSTEM:CONSOLE /NODEFAULTLIB /MAP /OPT:REF /BASE:0 /IGNORE:4001,4078,4086,4096,4108 $(BUILD_DIR)\X64\CompilerStub.lib\r
LIB_STD_FLAGS = /nologo \r
\r
!ENDIF\r
\r
BSCMAKE = bscmake\r
+RC = rc\r
\r
!IF "$(EFI_SYMBOLIC_DEBUG)" == "YES"\r
ASM_ARCH_FLAGS = $(ASM_ARCH_FLAGS) /Zi /DDEBUG\r
# in the platform specific macros (xxx_PROJ_FLAGS)\r
#\r
C_STD_INCLUDE = /X\r
+\r
!IF "$(EFI_GENERATE_INTERMEDIATE_FILE)" == "YES"\r
+\r
!IF "$(USE_VC8_IPF)" == "YES"\r
-C_STD_FLAGS = /nologo /W4 /WX /EHsc /Gy /GS- /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
+C_STD_FLAGS = /nologo /W4 /WX /EHs-c- /GR- /Gy /GS- /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
!ELSE\r
!IF "$(USE_NEWDDK)" == "YES"\r
-C_STD_FLAGS = /nologo /W4 /WX /EHsc /Gy /GS- /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
+C_STD_FLAGS = /nologo /W4 /WX /EHs-c- /GR- /Gy /GS- /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
!ELSE\r
-C_STD_FLAGS = /nologo /W4 /WX /GX /Gy /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
+C_STD_FLAGS = /nologo /W4 /WX /GX- /GR- /Gy /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
!ENDIF\r
!ENDIF\r
+\r
!ELSE\r
+\r
!IF "$(USE_VC8_IPF)" == "YES"\r
-C_STD_FLAGS = /nologo /W4 /WX /EHsc /Gy /GS- /c /Fo$@ $(INC)\r
+C_STD_FLAGS = /nologo /W4 /WX /EHs-c- /GR- /Gy /GS- /c /Fo$@ $(INC)\r
!ELSE\r
!IF "$(USE_NEWDDK)" == "YES"\r
-C_STD_FLAGS = /nologo /W4 /WX /EHsc /Gy /GS- /c /Fo$@ $(INC)\r
+C_STD_FLAGS = /nologo /W4 /WX /EHs-c- /GR- /Gy /GS- /c /Fo$@ $(INC)\r
!ELSE\r
-C_STD_FLAGS = /nologo /W4 /WX /GX /Gy /c /Fo$@ $(INC)\r
+C_STD_FLAGS = /nologo /W4 /WX /GX- /GR- /Gy /c /Fo$@ $(INC)\r
!ENDIF\r
!ENDIF\r
+\r
!ENDIF\r
\r
ASM_STD_FLAGS = $(INC) \r
!ENDIF\r
\r
BSCMAKE = bscmake\r
+RC = rc\r
\r
!IF "$(EFI_SYMBOLIC_DEBUG)" == "YES"\r
C_STD_FLAGS = $(C_STD_FLAGS) /Zi /Gm /Fd$(DEST_DIR)\$(BASE_NAME)Obj\r
# in the platform specific macros (xxx_PROJ_FLAGS)\r
#\r
!IF "$(EFI_GENERATE_INTERMEDIATE_FILE)" == "YES"\r
+\r
!IF "$(USE_VC8)" == "YES"\r
C_STD_FLAGS = /nologo /W4 /WX /EHsc /Gy /D _CRT_SECURE_NO_DEPRECATE /D USE_VC8 /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
!ELSE\r
C_STD_FLAGS = /nologo /W4 /WX /GX /Gy /c /Fa$* /FAsc /Fo$@ /FR$(@R).SBR $(INC)\r
!ENDIF\r
+ASM_STD_FLAGS = /nologo /Fl$*.lst $(INC)\r
+\r
!ELSE\r
+\r
!IF "$(USE_VC8)" == "YES"\r
C_STD_FLAGS = /nologo /W4 /WX /EHsc /Gy /D _CRT_SECURE_NO_DEPRECATE /D USE_VC8 /c /Fo$@ $(INC)\r
!ELSE\r
C_STD_FLAGS = /nologo /W4 /WX /GX /Gy /c /Fo$@ $(INC)\r
!ENDIF\r
-!ENDIF\r
ASM_STD_FLAGS = /nologo $(INC)\r
+\r
+!ENDIF\r
+\r
LINK_STD_FLAGS = /nologo /SUBSYSTEM:CONSOLE /NODEFAULTLIB /MAP /OPT:REF\r
LIB_STD_FLAGS = /nologo \r
\r
EBC_LINK = $(EBC_TOOLS_PATH)\Bin\Link\r
EBC_LIB = $(EBC_TOOLS_PATH)\Bin\Link /lib\r
\r
+RC = rc\r
+\r
!IF "$(EFI_SYMBOLIC_DEBUG)" == "YES"\r
-EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) /Zd /Zi\r
+EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) /Zi\r
EBC_LINK_STD_FLAGS = $(EBC_LINK_STD_FLAGS) /DEBUG\r
!ENDIF\r
\r
/D TIANO_RELEASE_VERSION=$(TIANO_RELEASE_VERSION)\r
C_STD_FLAGS = $(C_STD_FLAGS) $(VERSION_FLAGS)\r
EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) $(VERSION_FLAGS)\r
+C_FLAGS_ASL = $(C_FLAGS_ASL) $(VERSION_FLAGS)\r
VFRCOMPILE_FLAGS = $(VFRCOMPILE_FLAGS) -ppflag "$(VERSION_FLAGS)"\r
+!IF "$(TOOLCHAIN)" != "TOOLCHAIN_IPF"\r
+ASM_STD_FLAGS = $(ASM_STD_FLAGS) $(VERSION_FLAGS)\r
+!ENDIF\r
+\r
+!IF "$(TOOLCHAIN)" != "TOOLCHAIN_MSVC"\r
+BUILD_STRING_FLAGS = /D EFI_BUILD_VERSION="L\"$(EDK_BUILD_VERSION)\"" /D EFI_FIRMWARE_VENDOR="L\"TianoCore.org\""\r
+!ELSE\r
+BUILD_STRING_FLAGS = /D UTILITY_BUILD="\"$(EDK_BUILD_VERSION)\"" /D UTILITY_VENDOR="\"TianoCore.org\""\r
+!ENDIF\r
+\r
+C_STD_FLAGS = $(C_STD_FLAGS) $(BUILD_STRING_FLAGS)\r
+EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) $(BUILD_STRING_FLAGS)\r
\r
!IF "$(EFI_DEBUG)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_DEBUG\r
-EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) /D EFI_DEBUG\r
-VFRCOMPILE_FLAGS = $(VFRCOMPILE_FLAGS) -ppflag "/D EFI_DEBUG"\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_DEBUG\r
!ENDIF\r
\r
!IF "$(EFI_DEBUG_CLEAR_MEMORY)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_DEBUG_CLEAR_MEMORY\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_DEBUG_CLEAR_MEMORY\r
!ENDIF\r
\r
!IF "$(EFI_PEI_PERFORMANCE)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_PEI_PERFORMANCE /D EFI_DXE_PERFORMANCE\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_PEI_PERFORMANCE /D EFI_DXE_PERFORMANCE\r
!ENDIF\r
\r
!IF "$(EFI_ADDTIONAL_DRIVERS)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_ADDTIONAL_DRIVERS\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_ADDTIONAL_DRIVERS\r
!ENDIF\r
\r
!IF "$(EFI_USE_CUSTOM_COMPRESS)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_USE_CUSTOM_COMPRESS\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_USE_CUSTOM_COMPRESS\r
!ENDIF\r
\r
!IF "$(EFI_UNLOCK_FWH)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_UNLOCK_FWH\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_UNLOCK_FWH\r
!ENDIF\r
\r
!IF "$(EFI_DXE_PERFORMANCE)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_DXE_PERFORMANCE\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_DXE_PERFORMANCE\r
!ENDIF\r
\r
-!IF "$(EFI_DEBUG_SERIAL_PRINT)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_DEBUG_SERIAL_PRINT\r
+!IF "$(EFI_S3_RESUME)" == "YES"\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_S3_RESUME\r
!ENDIF\r
\r
-!IF "$(EFI_S3_RESUME)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_S3_RESUME\r
+!IF "$(EFI_NO_CSM_SUPPORT)" == "YES"\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_NO_CSM_SUPPORT\r
+!ENDIF\r
+\r
+!IF "$(EFI_SIZE_REDUCTION_APPLIED)" == "YES"\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_SIZE_REDUCTION_APPLIED\r
!ENDIF\r
\r
!IF "$(EFI_PEI_REPORT_STATUS_CODE)" == "YES"\r
-C_STD_FLAGS = $(C_STD_FLAGS) /D EFI_PEI_REPORT_STATUS_CODE_ON\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D EFI_PEI_REPORT_STATUS_CODE_ON\r
+!ENDIF\r
+\r
+!IF "$(SIZE_REDUCTION_ISA_COMBINED)" == "YES"\r
+FEATURE_FLAGS = $(FEATURE_FLAGS) /D SIZE_REDUCTION_ISA_COMBINED\r
!ENDIF\r
\r
+C_STD_FLAGS = $(C_STD_FLAGS) $(FEATURE_FLAGS)\r
+EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) $(FEATURE_FLAGS)\r
+C_FLAGS_ASL = $(C_FLAGS_ASL) $(FEATURE_FLAGS)\r
+VFRCOMPILE_FLAGS = $(VFRCOMPILE_FLAGS) -ppflag "$(FEATURE_FLAGS)"\r
+!IF "$(TOOLCHAIN)" != "TOOLCHAIN_IPF"\r
+ASM_STD_FLAGS = $(ASM_STD_FLAGS) $(FEATURE_FLAGS)\r
+!ENDIF\r
+\r
+#\r
+# This is used for preprocessing dependency files\r
+#\r
+C_FLAGS_DPX = /nologo /EP $(INC) $(VERSION_FLAGS) $(FEATURE_FLAGS)\r
+\r
###############################################################################\r
\r
###############################################################################\r
# \r
############################################################################### \r
!IFNDEF EFI_BINARY\r
-EFI_BINARY=$(EDK_TOOLS_OUTPUT)\Bin\r
+EFI_BINARY=$(EDK_SOURCE)\Bin\r
!ENDIF\r
\r
EFI_PLATFORM_BIN=$(EFI_BINARY)\$(PROJECT_NAME)$(BUILD_TARGET_DIRECTORY)\r