]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Sample/Tools/Source/UefiVfrCompile/makefile
Sync all bug fixes between EDK1.04 and EDK1.06 into EdkCompatibilityPkg.
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Tools / Source / UefiVfrCompile / makefile
CommitLineData
95d675b5 1#/*++\r
2# \r
3e99020d 3# Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
4b1e1121 4# This program and the accompanying materials \r
95d675b5 5# are licensed and made available under the terms and conditions of the BSD License \r
6# which accompanies this distribution. The full text of the license may be found at \r
7# http://opensource.org/licenses/bsd-license.php \r
8# \r
9# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11# \r
12# Module Name:\r
13# \r
14# makefile\r
15# \r
16# Abstract:\r
17# \r
18# Makefile for building the EFI VFR compiler\r
19# \r
20#--*/ \r
21\r
22\r
23!IFNDEF EDK_SOURCE\r
24!ERROR EDK_SOURCE environmental variable not set \r
25!ENDIF\r
26\r
27!IFNDEF TOOLCHAIN\r
28TOOLCHAIN = TOOLCHAIN_MSVC\r
29!ENDIF\r
30\r
31!INCLUDE $(BUILD_DIR)\PlatformTools.env\r
32\r
33.SUFFIXES :\r
34\r
35TARGET_NAME = VfrCompile\r
36\r
37ETO = $(EDK_TOOLS_OUTPUT)\r
38SRC = $(EDK_TOOLS_SOURCE)\Uefi$(TARGET_NAME)\r
39TARGET_EXE = $(ETO)\$(TARGET_NAME).exe\r
40\r
41\r
42\r
43INC = -I $(SRC) \\r
44 -I $(EDK_SOURCE)\Foundation\Include\Ia32 \\r
45 -I $(EDK_SOURCE)\Foundation\Efi\Include \\r
46 -I $(EDK_SOURCE)\Foundation\Framework\Include \\r
47 -I $(EDK_SOURCE)\Foundation\Include\IndustryStandard \\r
48 -I $(EDK_SOURCE)\Foundation\ \\r
49 -I $(EDK_SOURCE)\Foundation\Core\Dxe \\r
50 -I $(EDK_SOURCE)\Foundation\Efi \\r
51 -I $(EDK_SOURCE)\Foundation\Framework \\r
52 -I $(EDK_TOOLS_SOURCE)\Common \\r
53 -I $(EDK_SOURCE)\Foundation\Include\r
54\r
55ANTLR_FLAGS = -CC -e3 -ck 3 -k 2\r
56DLG_FLAGS = -C2 -i -CC\r
57LINK_FLAGS_PCCTS = /DEBUG /PDB:$*.pdb\r
3e99020d
LG
58C_FLAGS_PCCTS = -I. -I$(ANTLR_H) /WX /Od /EHsc /Zi /Fd$(ETO)\$(TARGET_NAME)Obj /D _CRT_SECURE_NO_DEPRECATE $(VERSION_FLAGS) \\r
59 $(BUILD_STRING_FLAGS) /D PCCTS_USE_NAMESPACE_STD #/D CVFR_VARDATATYPEDB_DEBUG /D CIFROBJ_DEUBG /D VFREXP_DEBUG\r
95d675b5 60\r
61VFR_GRAMMER_FILE = $(SRC)\VfrSyntax.g\r
62\r
63VFR_ANTLR_SPAWN = $(ETO)\VfrSyntax.cpp \\r
64 $(ETO)\EfiVfrParser.cpp \\r
65 $(ETO)\EfiVfrParser.h \\r
66 $(ETO)\VfrParser.dlg \\r
67 $(ETO)\VfrTokens.h\r
68\r
69VFR_DLG_SPAWN = $(ETO)\VfrLexer.cpp \\r
70 $(ETO)\VfrLexer.h\r
71\r
72ANTLR_H = $(PCCTS_DIR)\h\r
73\r
74HEADER_FILES = $(SRC)\VfrFormPkg.h \\r
75 $(SRC)\EfiVfr.h \\r
76 $(SRC)\VfrCompiler.h \\r
77 $(SRC)\VfrError.h \\r
78 $(SRC)\VfrUtilityLib.h\r
79\r
80OBJECTS = $(ETO)\AParser.obj \\r
81 $(ETO)\DLexerBase.obj \\r
82 $(ETO)\ATokenBuffer.obj \\r
83 $(ETO)\VfrSyntax.obj \\r
84 $(ETO)\EfiVfrParser.obj \\r
85 $(ETO)\VfrLexer.obj \\r
86 $(ETO)\VfrFormPkg.obj \\r
87 $(ETO)\VfrError.obj \\r
88 $(ETO)\VfrUtilityLib.obj \\r
89 $(ETO)\VfrCompiler.obj\r
90\r
91all : $(TARGET_EXE)\r
92\r
93$(VFR_ANTLR_SPAWN) : $(VFR_GRAMMER_FILE)\r
94 $(ANTLR) $(ANTLR_FLAGS) -fl VfrParser.dlg -ft VfrTokens.h -o $(ETO) $(VFR_GRAMMER_FILE)\r
95\r
96$(VFR_DLG_SPAWN) : $(ETO)\VfrParser.dlg\r
97 $(DLG) $(DLG_FLAGS) -cl VfrLexer -o $(ETO) $(ETO)\VfrParser.dlg\r
98\r
99$(ETO)\VfrSyntax.obj : $(ETO)\VfrSyntax.cpp $(VFR_DLG_SPAWN)\r
100 $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(INC) $(ETO)\VfrSyntax.cpp\r
101\r
102$(ETO)\EfiVfrParser.obj : $(ETO)\EfiVfrParser.cpp $(ETO)\EfiVfrParser.h $(VFR_DLG_SPAWN)\r
103 $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(INC) $(ETO)\EfiVfrParser.cpp\r
104\r
105\r
106$(ETO)\AParser.obj : $(ANTLR_H)\AParser.cpp\r
107 $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(ANTLR_H)\AParser.cpp\r
108\r
109$(ETO)\ATokenBuffer.obj : $(ANTLR_H)\ATokenBuffer.cpp\r
110 $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(ANTLR_H)\ATokenBuffer.cpp\r
111\r
112$(ETO)\DLexerBase.obj : $(ANTLR_H)\DLexerBase.cpp\r
113 $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(ANTLR_H)\DLexerBase.cpp\r
114\r
115$(ETO)\VfrLexer.obj : $(ETO)\VfrLexer.cpp $(VFR_DLG_SPAWN)\r
116 $(CC) -c $(C_FLAGS_PCCTS) /Fo$@ $(INC) $(ETO)\VfrLexer.cpp\r
117\r
118$(ETO)\VfrFormPkg.obj : $(SRC)\VfrFormPkg.cpp $(HEADER_FILES)\r
119 $(CC) -c $(C_FLAGS_PCCTS) $(INC) /Fo$@ $(SRC)\VfrFormPkg.cpp\r
120\r
121$(ETO)\VfrError.obj : $(SRC)\VfrError.cpp $(HEADER_FILES)\r
122 $(CC) -c $(C_FLAGS_PCCTS) $(INC) /Fo$@ $(SRC)\VfrError.cpp\r
123\r
124$(ETO)\VfrUtilityLib.obj : $(SRC)\VfrUtilityLib.cpp $(HEADER_FILES)\r
125 $(CC) -c $(C_FLAGS_PCCTS) $(INC) /Fo$@ $(SRC)\VfrUtilityLib.cpp\r
126\r
127$(ETO)\VfrCompiler.obj : $(SRC)\VfrCompiler.cpp $(HEADER_FILES)\r
128 $(CC) -c $(C_FLAGS_PCCTS) $(INC) /Fo$@ $(SRC)\VfrCompiler.cpp\r
129\r
130#\r
131# Add Binary Build description for this tools.\r
132#\r
133\r
134!IF (("$(EFI_BINARY_TOOLS)" == "YES") && EXIST($(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe))\r
135$(TARGET_EXE): $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe\r
136 copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe $(TARGET_EXE) /Y\r
137 if exist $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb \\r
138 copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb /Y\r
139!ELSE\r
140$(TARGET_EXE) : $(OBJECTS) $(HEADER_FILES)\r
141 $(LINK) $(MSVS_LINK_LIBPATHS) $(LINK_FLAGS_PCCTS) /OUT:$(TARGET_EXE) $(OBJECTS)\r
142!IF ("$(EFI_BINARY_BUILD)" == "YES")\r
143 if not exist $(EFI_PLATFORM_BIN)\Tools mkdir $(EFI_PLATFORM_BIN)\Tools\r
144 if exist $(TARGET_EXE) copy $(TARGET_EXE) $(EFI_PLATFORM_BIN)\tools\$(TARGET_NAME).exe /Y\r
145 if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb \\r
146 copy $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb /Y\r
147!ENDIF\r
148!ENDIF\r
149\r
150clean:\r