1## @file
2# Windows makefile for 'VfrCompile' module build.
3#
4# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
5# This program and the accompanying materials
6# are licensed and made available under the terms and conditions of the BSD License
7# which accompanies this distribution.  The full text of the license may be found at
8# http://opensource.org/licenses/bsd-license.php
9#
10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12#
13!INCLUDE ..\Makefiles\ms.common
14
15CPPFLAGS = $(CPPFLAGS) /WX /D PCCTS_USE_NAMESPACE_STD
16APPNAME = VfrCompile
17
18LIBS = $(LIB_PATH)\Common.lib
19
20OBJECTS = AParser.obj DLexerBase.obj ATokenBuffer.obj \
21          EfiVfrParser.obj VfrLexer.obj VfrSyntax.obj \
22          VfrFormPkg.obj VfrError.obj VfrUtilityLib.obj VfrCompiler.obj
23
24INC = $(INC) -I $(BASE_TOOLS_PATH)\Source\C\VfrCompile\Pccts\h
25
26!INCLUDE ..\Makefiles\ms.app
27
28VfrSyntax.cpp EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h: VfrSyntax.g
29	pushd . & cd Pccts & $(MAKE) & popd
30	antlr -CC -e3 -ck 3 -k 2 -fl VfrParser.dlg -ft VfrTokens.h -o . VfrSyntax.g
31#	pushd . & cd Pccts & $(MAKE) clean
32
33VfrLexer.cpp VfrLexer.h: VfrParser.dlg
34	dlg -C2 -i -CC -cl VfrLexer -o . VfrParser.dlg
35
36ATokenBuffer.obj: Pccts\h\ATokenBuffer.cpp
37	$(CXX) -c $(CPPFLAGS) $(INC) $? -Fo$@
38
39DLexerBase.obj: Pccts\h\DLexerBase.cpp
40	$(CXX) -c $(CPPFLAGS) $(INC) $? -Fo$@
41
42AParser.obj: Pccts\h\AParser.cpp
43	$(CXX) -c $(CPPFLAGS) $(INC) $? -Fo$@
44
45EXTRA_CLEAN_OBJECTS = VfrParser.dlg EfiVfrParser.cpp EfiVfrParser.h \
46                      VfrLexer.cpp VfrLexer.h \
47                      VfrSyntax.cpp VfrTokens.h
48
49clean: localClean
50cleanall: localClean localCleanall
51
52localClean:
53	-DEL $(EXTRA_CLEAN_OBJECTS)
54
55localCleanall:
56	pushd . & cd Pccts & $(MAKE) cleanall & popd
57