]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/C/VfrCompile/GNUmakefile
BaseTools/VfrCompile: honor EXTRA_LDFLAGS
[mirror_edk2.git] / BaseTools / Source / C / VfrCompile / GNUmakefile
CommitLineData
c69f724d 1## @file\r
4afd3d04 2# GNU/Linux makefile for 'VfrCompile' module build.\r
c69f724d 3#\r
d16e777a 4# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>\r
40d841f6 5# This program and the accompanying materials\r
c69f724d 6# are licensed and made available under the terms and conditions of the BSD License\r
7# which accompanies this distribution. The full text of the license may be found at\r
8# http://opensource.org/licenses/bsd-license.php\r
9#\r
10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12#\r
13\r
c69f724d 14MAKEROOT ?= ..\r
15\r
16APPNAME = VfrCompile\r
17\r
18LIBS = -lCommon\r
19\r
20TOOL_INCLUDE = -I Pccts/h\r
21\r
22#OBJECTS = VfrSyntax.o VfrServices.o DLGLexer.o EfiVfrParser.o ATokenBuffer.o DLexerBase.o AParser.o\r
23OBJECTS = AParser.o DLexerBase.o ATokenBuffer.o EfiVfrParser.o VfrLexer.o VfrSyntax.o \\r
24 VfrFormPkg.o VfrError.o VfrUtilityLib.o VfrCompiler.o\r
25\r
a61331e8 26VFR_CPPFLAGS = -DPCCTS_USE_NAMESPACE_STD $(BUILD_CPPFLAGS)\r
c69f724d 27\r
b8a66170
LE
28# keep BUILD_OPTFLAGS last\r
29VFR_CXXFLAGS = $(BUILD_OPTFLAGS)\r
30\r
aa4e0df1
LE
31# keep EXTRA_LDFLAGS last\r
32VFR_LFLAGS = $(EXTRA_LDFLAGS)\r
33\r
fa318476 34LINKER = $(BUILD_CXX)\r
c69f724d 35\r
36EXTRA_CLEAN_OBJECTS = EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h VfrLexer.cpp VfrLexer.h VfrSyntax.cpp tokens.h\r
37\r
b36d134f
LG
38MAKEROOT ?= ../..\r
39\r
40include $(MAKEROOT)/Makefiles/header.makefile\r
41\r
42APPLICATION = $(MAKEROOT)/bin/$(APPNAME)\r
43\r
44.PHONY:all\r
45all: $(MAKEROOT)/bin $(APPLICATION) \r
46\r
47$(APPLICATION): $(OBJECTS) \r
aa4e0df1 48 $(LINKER) -o $(APPLICATION) $(VFR_LFLAGS) $(OBJECTS) -L$(MAKEROOT)/libs $(LIBS)\r
b36d134f
LG
49\r
50VfrCompiler.o: ../Include/Common/BuildVersion.h\r
51\r
52include $(MAKEROOT)/Makefiles/footer.makefile\r
c69f724d 53\r
54VfrSyntax.cpp EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h: Pccts/antlr/antlr VfrSyntax.g\r
55 Pccts/antlr/antlr -CC -e3 -ck 3 -k 2 -fl VfrParser.dlg -ft VfrTokens.h -o . VfrSyntax.g\r
56\r
57VfrLexer.cpp VfrLexer.h: Pccts/dlg/dlg VfrParser.dlg\r
58 Pccts/dlg/dlg -C2 -i -CC -cl VfrLexer -o . VfrParser.dlg\r
59\r
60Pccts/antlr/antlr:\r
e4ac870f 61 BIN_DIR='.' $(MAKE) -C Pccts/antlr\r
c69f724d 62\r
63Pccts/dlg/dlg:\r
e4ac870f 64 BIN_DIR='.' $(MAKE) -C Pccts/dlg\r
c69f724d 65\r
66ATokenBuffer.o: Pccts/h/ATokenBuffer.cpp\r
b8a66170 67 $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $(VFR_CXXFLAGS) $? -o $@\r
c69f724d 68\r
69DLexerBase.o: Pccts/h/DLexerBase.cpp\r
b8a66170 70 $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $(VFR_CXXFLAGS) $? -o $@\r
c69f724d 71\r
72AParser.o: Pccts/h/AParser.cpp\r
b8a66170 73 $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $(VFR_CXXFLAGS) $? -o $@\r
c69f724d 74\r
75VfrSyntax.o: VfrSyntax.cpp\r
b8a66170 76 $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $(VFR_CXXFLAGS) $? -o $@\r
c69f724d 77 \r
78clean: localClean\r
79\r
80localClean:\r
e4ac870f
LG
81 BIN_DIR='.' $(MAKE) -C Pccts/antlr clean\r
82 BIN_DIR='.' $(MAKE) -C Pccts/dlg clean\r
c69f724d 83 rm -f $(EXTRA_CLEAN_OBJECTS)\r
84\r