BaseTools: Support recent versions of cx_freeze.
[mirror_edk2.git] / BaseTools / Source / Python / Makefile
1 ## @file
2 # Windows makefile for Python tools build.
3 #
4 # Copyright (c) 2010 - 2015, 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
14 !IFNDEF PYTHON_FREEZER_PATH
15 !ERROR PYTHON_FREEZER_PATH must be defined!
16 !ENDIF
17
18 !IF EXIST ($(PYTHON_FREEZER_PATH)\cxfreeze)
19 # Using cx_Freeze 4.2.3 with Python 2.7.2
20 FREEZE=$(PYTHON_HOME)\python $(PYTHON_FREEZER_PATH)\cxfreeze
21 !ELSE
22 # Using cx_Freeze 3.0.3 with Python 2.5.4
23 FREEZE=$(PYTHON_FREEZER_PATH)\FreezePython.exe
24 !ENDIF
25
26 MODULES=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_8,encodings.utf_16_le,encodings.latin_1,encodings.ascii
27
28 # DOS del command doesn't support ":\\" in the file path, such as j:\\BaseTools. Convert ":\\" to ":\"
29 BASE_TOOLS_PATH = $(BASE_TOOLS_PATH::\\=:\)
30 EDK_TOOLS_PATH = $(EDK_TOOLS_PATH::\\=:\)
31
32 BIN_DIR=$(EDK_TOOLS_PATH)\Bin\Win32
33
34 APPLICATIONS=$(BIN_DIR)\build.exe $(BIN_DIR)\GenFds.exe $(BIN_DIR)\Trim.exe $(BIN_DIR)\TargetTool.exe $(BIN_DIR)\GenDepex.exe $(BIN_DIR)\GenPatchPcdTable.exe $(BIN_DIR)\PatchPcdValue.exe $(BIN_DIR)\BPDG.exe $(BIN_DIR)\UPT.exe $(BIN_DIR)\Rsa2048Sha256Sign.exe $(BIN_DIR)\Rsa2048Sha256GenerateKeys.exe $(BIN_DIR)\Ecc.exe
35
36 COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
37 $(BASE_TOOLS_PATH)\Source\Python\Common\Database.py \
38 $(BASE_TOOLS_PATH)\Source\Python\Common\DataType.py \
39 $(BASE_TOOLS_PATH)\Source\Python\Common\DecClassObject.py \
40 $(BASE_TOOLS_PATH)\Source\Python\Common\Dictionary.py \
41 $(BASE_TOOLS_PATH)\Source\Python\Common\DscClassObject.py \
42 $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspace.py \
43 $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspaceBuild.py \
44 $(BASE_TOOLS_PATH)\Source\Python\Common\EdkLogger.py \
45 $(BASE_TOOLS_PATH)\Source\Python\Common\Expression.py \
46 $(BASE_TOOLS_PATH)\Source\Python\Common\FdfClassObject.py \
47 $(BASE_TOOLS_PATH)\Source\Python\Common\FdfParserLite.py \
48 $(BASE_TOOLS_PATH)\Source\Python\Common\GlobalData.py \
49 $(BASE_TOOLS_PATH)\Source\Python\Common\Identification.py \
50 $(BASE_TOOLS_PATH)\Source\Python\Common\InfClassObject.py \
51 $(BASE_TOOLS_PATH)\Source\Python\Common\LongFilePathOs.py \
52 $(BASE_TOOLS_PATH)\Source\Python\Common\LongFilePathOsPath.py \
53 $(BASE_TOOLS_PATH)\Source\Python\Common\LongFilePathSupport.py \
54 $(BASE_TOOLS_PATH)\Source\Python\Common\MigrationUtilities.py \
55 $(BASE_TOOLS_PATH)\Source\Python\Common\Misc.py \
56 $(BASE_TOOLS_PATH)\Source\Python\Common\Parsing.py \
57 $(BASE_TOOLS_PATH)\Source\Python\Common\String.py \
58 $(BASE_TOOLS_PATH)\Source\Python\Common\TargetTxtClassObject.py \
59 $(BASE_TOOLS_PATH)\Source\Python\Common\ToolDefClassObject.py \
60 $(BASE_TOOLS_PATH)\Source\Python\Common\VpdInfoFile.py \
61 $(BASE_TOOLS_PATH)\Source\Python\Common\BuildVersion.py \
62 $(BASE_TOOLS_PATH)\Source\Python\Common\MultipleWorkspace.py \
63 $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\CommonClass.py \
64 $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\DataClass.py \
65 $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\Exceptions.py \
66 $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\FdfClass.py \
67 $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\ModuleClass.py \
68 $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\PackageClass.py \
69 $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\PlatformClass.py \
70 $(BASE_TOOLS_PATH)\Source\Python\Table\Table.py \
71 $(BASE_TOOLS_PATH)\Source\Python\Table\TableDataModel.py \
72 $(BASE_TOOLS_PATH)\Source\Python\Table\TableDec.py \
73 $(BASE_TOOLS_PATH)\Source\Python\Table\TableDsc.py \
74 $(BASE_TOOLS_PATH)\Source\Python\Table\TableEotReport.py \
75 $(BASE_TOOLS_PATH)\Source\Python\Table\TableFdf.py \
76 $(BASE_TOOLS_PATH)\Source\Python\Table\TableFile.py \
77 $(BASE_TOOLS_PATH)\Source\Python\Table\TableFunction.py \
78 $(BASE_TOOLS_PATH)\Source\Python\Table\TableIdentifier.py \
79 $(BASE_TOOLS_PATH)\Source\Python\Table\TableInf.py \
80 $(BASE_TOOLS_PATH)\Source\Python\Table\TablePcd.py \
81 $(BASE_TOOLS_PATH)\Source\Python\Table\TableQuery.py \
82 $(BASE_TOOLS_PATH)\Source\Python\Table\TableReport.py \
83 $(BASE_TOOLS_PATH)\Source\Python\Workspace\BuildClassObject.py \
84 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaDataTable.py \
85 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileCommentParser.py \
86 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileParser.py \
87 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileTable.py \
88 $(BASE_TOOLS_PATH)\Source\Python\Workspace\WorkspaceCommon.py \
89 $(BASE_TOOLS_PATH)\Source\Python\Workspace\WorkspaceDatabase.py \
90 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\AutoGen.py \
91 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\BuildEngine.py \
92 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenC.py \
93 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenDepex.py \
94 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenMake.py \
95 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenPcdDb.py \
96 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\InfSectionParser.py \
97 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\StrGather.py \
98 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\UniClassObject.py \
99 $(BASE_TOOLS_PATH)\Source\Python\AutoGen\ValidCheckingInfoObject.py \
100 $(BASE_TOOLS_PATH)\Source\Python\Common\RangeExpression.py \
101 $(BASE_TOOLS_PATH)\Source\Python\Common\VariableAttributes.py
102
103 CMD_BUILD=$(BASE_TOOLS_PATH)\Source\Python\build\BuildReport.py \
104 $(BASE_TOOLS_PATH)\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py \
105 $(BASE_TOOLS_PATH)\Source\Python\PatchPcdValue\PatchPcdValue.py \
106 $(BASE_TOOLS_PATH)\Source\Python\Eot\c.py \
107 $(BASE_TOOLS_PATH)\Source\Python\Eot\CLexer.py \
108 $(BASE_TOOLS_PATH)\Source\Python\Eot\CodeFragment.py \
109 $(BASE_TOOLS_PATH)\Source\Python\Eot\CodeFragmentCollector.py \
110 $(BASE_TOOLS_PATH)\Source\Python\Eot\CParser.py \
111 $(BASE_TOOLS_PATH)\Source\Python\Eot\Database.py \
112 $(BASE_TOOLS_PATH)\Source\Python\Eot\EfiCompressor.pyd \
113 $(BASE_TOOLS_PATH)\Source\Python\Eot\Eot.py \
114 $(BASE_TOOLS_PATH)\Source\Python\Eot\EotGlobalData.py \
115 $(BASE_TOOLS_PATH)\Source\Python\Eot\EotToolError.py \
116 $(BASE_TOOLS_PATH)\Source\Python\Eot\FileProfile.py \
117 $(BASE_TOOLS_PATH)\Source\Python\Eot\FvImage.py \
118 $(BASE_TOOLS_PATH)\Source\Python\Eot\InfParserLite.py \
119 $(BASE_TOOLS_PATH)\Source\Python\Eot\LzmaCompressor.pyd \
120 $(BASE_TOOLS_PATH)\Source\Python\Eot\Parser.py \
121 $(BASE_TOOLS_PATH)\Source\Python\Eot\ParserWarning.py \
122 $(BASE_TOOLS_PATH)\Source\Python\Eot\Report.py
123
124 CMD_GENFDS=$(BASE_TOOLS_PATH)\Source\Python\GenFds\AprioriSection.py \
125 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Attribute.py \
126 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Capsule.py \
127 $(BASE_TOOLS_PATH)\Source\Python\GenFds\CapsuleData.py \
128 $(BASE_TOOLS_PATH)\Source\Python\GenFds\ComponentStatement.py \
129 $(BASE_TOOLS_PATH)\Source\Python\GenFds\CompressSection.py \
130 $(BASE_TOOLS_PATH)\Source\Python\GenFds\DataSection.py \
131 $(BASE_TOOLS_PATH)\Source\Python\GenFds\DepexSection.py \
132 $(BASE_TOOLS_PATH)\Source\Python\GenFds\EfiSection.py \
133 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Fd.py \
134 $(BASE_TOOLS_PATH)\Source\Python\GenFds\FdfParser.py \
135 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Ffs.py \
136 $(BASE_TOOLS_PATH)\Source\Python\GenFds\FfsFileStatement.py \
137 $(BASE_TOOLS_PATH)\Source\Python\GenFds\FfsInfStatement.py \
138 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Fv.py \
139 $(BASE_TOOLS_PATH)\Source\Python\GenFds\FvImageSection.py \
140 $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFds.py \
141 $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFdsGlobalVariable.py \
142 $(BASE_TOOLS_PATH)\Source\Python\GenFds\GuidSection.py \
143 $(BASE_TOOLS_PATH)\Source\Python\GenFds\OptionRom.py \
144 $(BASE_TOOLS_PATH)\Source\Python\GenFds\OptRomFileStatement.py \
145 $(BASE_TOOLS_PATH)\Source\Python\GenFds\OptRomInfStatement.py \
146 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Region.py \
147 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Rule.py \
148 $(BASE_TOOLS_PATH)\Source\Python\GenFds\RuleComplexFile.py \
149 $(BASE_TOOLS_PATH)\Source\Python\GenFds\RuleSimpleFile.py \
150 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Section.py \
151 $(BASE_TOOLS_PATH)\Source\Python\GenFds\UiSection.py \
152 $(BASE_TOOLS_PATH)\Source\Python\GenFds\VerSection.py \
153 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Vtf.py
154
155 CMD_BPDG=$(BASE_TOOLS_PATH)\Source\Python\BPDG\GenVpd.py \
156 $(BASE_TOOLS_PATH)\Source\Python\BPDG\StringTable.py
157
158 CMD_UPT=$(BASE_TOOLS_PATH)\Source\Python\UPT\Core\DependencyRules.py \
159 $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\DistributionPackageClass.py \
160 $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\FileHook.py \
161 $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\IpiDb.py \
162 $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\PackageFile.py \
163 $(BASE_TOOLS_PATH)\Source\Python\UPT\Dll\sqlite3.dll \
164 $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenDecFile.py \
165 $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenInfFile.py \
166 $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenMetaFileMisc.py \
167 $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenXmlFile.py \
168 $(BASE_TOOLS_PATH)\Source\Python\UPT\InstallPkg.py \
169 $(BASE_TOOLS_PATH)\Source\Python\UPT\InventoryWs.py \
170 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\CommentGenerating.py \
171 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\CommentParsing.py \
172 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\DataType.py \
173 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\ExpressionValidate.py \
174 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\GlobalData.py \
175 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\Misc.py \
176 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\ParserValidate.py \
177 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\Parsing.py \
178 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\String.py \
179 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\UniClassObject.py \
180 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\Xml\XmlRoutines.py \
181 $(BASE_TOOLS_PATH)\Source\Python\UPT\Logger\Log.py \
182 $(BASE_TOOLS_PATH)\Source\Python\UPT\Logger\StringTable.py \
183 $(BASE_TOOLS_PATH)\Source\Python\UPT\Logger\ToolError.py \
184 $(BASE_TOOLS_PATH)\Source\Python\UPT\MkPkg.py \
185 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\DecObject.py \
186 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfBinaryObject.py \
187 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfBuildOptionObject.py \
188 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfCommonObject.py \
189 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfDefineCommonObject.py \
190 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfDefineObject.py \
191 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfDepexObject.py \
192 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfGuidObject.py \
193 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfHeaderObject.py \
194 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfLibraryClassesObject.py \
195 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfMisc.py \
196 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfPackagesObject.py \
197 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfPcdObject.py \
198 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfPpiObject.py \
199 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfProtocolObject.py \
200 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfSoucesObject.py \
201 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfUserExtensionObject.py \
202 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\POM\CommonObject.py \
203 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\POM\ModuleObject.py \
204 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\POM\PackageObject.py \
205 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\DecParser.py \
206 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\DecParserMisc.py \
207 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfAsBuiltProcess.py \
208 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfBinarySectionParser.py \
209 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfBuildOptionSectionParser.py \
210 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfDefineSectionParser.py \
211 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfDepexSectionParser.py \
212 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfGuidPpiProtocolSectionParser.py \
213 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfLibrarySectionParser.py \
214 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfPackageSectionParser.py \
215 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfParser.py \
216 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfParserMisc.py \
217 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfPcdSectionParser.py \
218 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfSectionParser.py \
219 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfSourceSectionParser.py \
220 $(BASE_TOOLS_PATH)\Source\Python\UPT\PomAdapter\DecPomAlignment.py \
221 $(BASE_TOOLS_PATH)\Source\Python\UPT\PomAdapter\InfPomAlignment.py \
222 $(BASE_TOOLS_PATH)\Source\Python\UPT\PomAdapter\InfPomAlignmentMisc.py \
223 $(BASE_TOOLS_PATH)\Source\Python\UPT\ReplacePkg.py \
224 $(BASE_TOOLS_PATH)\Source\Python\UPT\RmPkg.py \
225 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\CommentGeneratingUnitTest.py \
226 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\CommentParsingUnitTest.py \
227 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\DecParserTest.py \
228 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\DecParserUnitTest.py \
229 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\InfBinarySectionTest.py \
230 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\CommonXml.py \
231 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\GuidProtocolPpiXml.py \
232 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\IniToXml.py \
233 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\ModuleSurfaceAreaXml.py \
234 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\PackageSurfaceAreaXml.py \
235 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\PcdXml.py \
236 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParser.py \
237 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParserMisc.py
238
239 all: SetPythonPath $(APPLICATIONS)
240
241 SetPythonPath:
242 set PYTHONPATH=$(BASE_TOOLS_PATH)\Source\Python
243
244 $(BIN_DIR)\build.exe: $(BASE_TOOLS_PATH)\Source\Python\build\build.py $(COMMON_PYTHON) $(CMD_BUILD) $(CMD_GENFDS)
245 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) build\build.py
246
247 $(BIN_DIR)\GenFds.exe: $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFds.py $(COMMON_PYTHON) $(CMD_GENFDS)
248 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenFds\GenFds.py
249
250 $(BIN_DIR)\Trim.exe: $(BASE_TOOLS_PATH)\Source\Python\Trim\Trim.py $(COMMON_PYTHON)
251 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Trim\Trim.py
252
253 $(BIN_DIR)\GenDepex.exe: $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenDepex.py $(COMMON_PYTHON)
254 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) AutoGen\GenDepex.py
255
256 $(BIN_DIR)\TargetTool.exe: $(BASE_TOOLS_PATH)\Source\Python\TargetTool\TargetTool.py $(COMMON_PYTHON)
257 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) TargetTool\TargetTool.py
258
259 $(BIN_DIR)\GenPatchPcdTable.exe: $(BASE_TOOLS_PATH)\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py $(COMMON_PYTHON)
260 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenPatchPcdTable\GenPatchPcdTable.py
261
262 $(BIN_DIR)\PatchPcdValue.exe: $(BASE_TOOLS_PATH)\Source\Python\PatchPcdValue\PatchPcdValue.py $(COMMON_PYTHON)
263 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) PatchPcdValue\PatchPcdValue.py
264
265 $(BIN_DIR)\BPDG.exe: $(BASE_TOOLS_PATH)\Source\Python\BPDG\BPDG.py $(COMMON_PYTHON) $(CMD_BPDG)
266 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) BPDG\BPDG.py
267
268 $(BIN_DIR)\UPT.exe: $(BASE_TOOLS_PATH)\Source\Python\UPT\UPT.py $(CMD_UPT)
269 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) UPT\UPT.py
270
271 $(BIN_DIR)\Rsa2048Sha256Sign.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256Sign.py $(BIN_DIR)\TestSigningPrivateKey.pem
272 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256Sign\Rsa2048Sha256Sign.py
273
274 $(BIN_DIR)\TestSigningPrivateKey.pem: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\TestSigningPrivateKey.pem
275 @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\TestSigningPrivateKey.pem $(BIN_DIR)\TestSigningPrivateKey.pem
276
277 $(BIN_DIR)\Rsa2048Sha256GenerateKeys.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256GenerateKeys.py
278 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256Sign\Rsa2048Sha256GenerateKeys.py
279
280 $(BIN_DIR)\Ecc.exe: $(BASE_TOOLS_PATH)\Source\Python\Ecc\Ecc.py $(CMD_ECC) $(BIN_DIR)\config.ini $(BIN_DIR)\exception.xml
281 @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Ecc\Ecc.py
282
283 $(BIN_DIR)\config.ini: $(BASE_TOOLS_PATH)\Source\Python\Ecc\config.ini
284 @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Ecc\config.ini $(BIN_DIR)\config.ini
285
286 $(BIN_DIR)\exception.xml: $(BASE_TOOLS_PATH)\Source\Python\Ecc\exception.xml
287 @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Ecc\exception.xml $(BIN_DIR)\exception.xml
288
289 clean:
290 cleanall:
291 @del /f /q $(BIN_DIR)\*.pyd $(BIN_DIR)\*.dll
292 @for %%i in ($(APPLICATIONS)) do @del /f /q %%i
293