mirror of https://github.com/acidanthera/audk.git
150 lines
5.8 KiB
Makefile
150 lines
5.8 KiB
Makefile
#/*++
|
|
#
|
|
# Copyright (c) 2004 - 2007, 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) /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:
|