#/*++ # # Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php # # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # # Module Name: # # makefile # # Abstract: # # Makefile for building the EFI VFR compiler # #--*/ !IFNDEF EDK_SOURCE !ERROR EDK_SOURCE environmental variable not set !ENDIF !IFNDEF TOOLCHAIN TOOLCHAIN = TOOLCHAIN_MSVC !ENDIF !INCLUDE $(BUILD_DIR)\PlatformTools.env .SUFFIXES : TARGET_NAME = VfrCompile ETO = $(EDK_TOOLS_OUTPUT) SRC = $(EDK_TOOLS_SOURCE)\Uefi$(TARGET_NAME) TARGET_EXE = $(ETO)\$(TARGET_NAME).exe INC = -I $(SRC) \ -I $(EDK_SOURCE)\Foundation\Include\Ia32 \ -I $(EDK_SOURCE)\Foundation\Efi\Include \ -I $(EDK_SOURCE)\Foundation\Framework\Include \ -I $(EDK_SOURCE)\Foundation\Include\IndustryStandard \ -I $(EDK_SOURCE)\Foundation\ \ -I $(EDK_SOURCE)\Foundation\Core\Dxe \ -I $(EDK_SOURCE)\Foundation\Efi \ -I $(EDK_SOURCE)\Foundation\Framework \ -I $(EDK_TOOLS_SOURCE)\Common \ -I $(EDK_SOURCE)\Foundation\Include ANTLR_FLAGS = -CC -e3 -ck 3 -k 2 DLG_FLAGS = -C2 -i -CC LINK_FLAGS_PCCTS = /DEBUG /PDB:$*.pdb C_FLAGS_PCCTS = -I. -I$(ANTLR_H) /WX /Od /EHsc /Zi /Fd$(ETO)\$(TARGET_NAME)Obj /D _CRT_SECURE_NO_DEPRECATE $(VERSION_FLAGS) \ $(BUILD_STRING_FLAGS) /D PCCTS_USE_NAMESPACE_STD #/D CVFR_VARDATATYPEDB_DEBUG /D CIFROBJ_DEUBG /D VFREXP_DEBUG VFR_GRAMMER_FILE = $(SRC)\VfrSyntax.g VFR_ANTLR_SPAWN = $(ETO)\VfrSyntax.cpp \ $(ETO)\EfiVfrParser.cpp \ $(ETO)\EfiVfrParser.h \ $(ETO)\VfrParser.dlg \ $(ETO)\VfrTokens.h VFR_DLG_SPAWN = $(ETO)\VfrLexer.cpp \ $(ETO)\VfrLexer.h ANTLR_H = $(PCCTS_DIR)\h HEADER_FILES = $(SRC)\VfrFormPkg.h \ $(SRC)\EfiVfr.h \ $(SRC)\VfrCompiler.h \ $(SRC)\VfrError.h \ $(SRC)\VfrUtilityLib.h OBJECTS = $(ETO)\AParser.obj \ $(ETO)\DLexerBase.obj \ $(ETO)\ATokenBuffer.obj \ $(ETO)\VfrSyntax.obj \ $(ETO)\EfiVfrParser.obj \ $(ETO)\VfrLexer.obj \ $(ETO)\VfrFormPkg.obj \ $(ETO)\VfrError.obj \ $(ETO)\VfrUtilityLib.obj \ $(ETO)\VfrCompiler.obj all : $(TARGET_EXE) $(VFR_ANTLR_SPAWN) : $(VFR_GRAMMER_FILE) $(ANTLR) $(ANTLR_FLAGS) -fl VfrParser.dlg -ft VfrTokens.h -o $(ETO) $(VFR_GRAMMER_FILE) $(VFR_DLG_SPAWN) : $(ETO)\VfrParser.dlg $(DLG) $(DLG_FLAGS) -cl VfrLexer -o $(ETO) $(ETO)\VfrParser.dlg $(ETO)\VfrSyntax.obj : $(ETO)\VfrSyntax.cpp $(VFR_DLG_SPAWN) $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(INC) $(ETO)\VfrSyntax.cpp $(ETO)\EfiVfrParser.obj : $(ETO)\EfiVfrParser.cpp $(ETO)\EfiVfrParser.h $(VFR_DLG_SPAWN) $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(INC) $(ETO)\EfiVfrParser.cpp $(ETO)\AParser.obj : $(ANTLR_H)\AParser.cpp $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(ANTLR_H)\AParser.cpp $(ETO)\ATokenBuffer.obj : $(ANTLR_H)\ATokenBuffer.cpp $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(ANTLR_H)\ATokenBuffer.cpp $(ETO)\DLexerBase.obj : $(ANTLR_H)\DLexerBase.cpp $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(ANTLR_H)\DLexerBase.cpp $(ETO)\VfrLexer.obj : $(ETO)\VfrLexer.cpp $(VFR_DLG_SPAWN) $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(INC) $(ETO)\VfrLexer.cpp $(ETO)\VfrFormPkg.obj : $(SRC)\VfrFormPkg.cpp $(HEADER_FILES) $(CC) -c $(C_FLAGS_PCCTS) $(INC) /Fo$@ $(SRC)\VfrFormPkg.cpp $(ETO)\VfrError.obj : $(SRC)\VfrError.cpp $(HEADER_FILES) $(CC) -c $(C_FLAGS_PCCTS) $(INC) /Fo$@ $(SRC)\VfrError.cpp $(ETO)\VfrUtilityLib.obj : $(SRC)\VfrUtilityLib.cpp $(HEADER_FILES) $(CC) -c $(C_FLAGS_PCCTS) $(INC) /Fo$@ $(SRC)\VfrUtilityLib.cpp $(ETO)\VfrCompiler.obj : $(SRC)\VfrCompiler.cpp $(HEADER_FILES) $(CC) -c $(C_FLAGS_PCCTS) $(INC) /Fo$@ $(SRC)\VfrCompiler.cpp # # Add Binary Build description for this tools. # !IF (("$(EFI_BINARY_TOOLS)" == "YES") && EXIST($(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe)) $(TARGET_EXE): $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe $(TARGET_EXE) /Y if exist $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb \ copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb /Y !ELSE $(TARGET_EXE) : $(OBJECTS) $(HEADER_FILES) $(LINK) $(MSVS_LINK_LIBPATHS) $(LINK_FLAGS_PCCTS) /OUT:$(TARGET_EXE) $(OBJECTS) !IF ("$(EFI_BINARY_BUILD)" == "YES") if not exist $(EFI_PLATFORM_BIN)\Tools mkdir $(EFI_PLATFORM_BIN)\Tools if exist $(TARGET_EXE) copy $(TARGET_EXE) $(EFI_PLATFORM_BIN)\tools\$(TARGET_NAME).exe /Y if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb \ copy $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb /Y !ENDIF !ENDIF clean: