]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/Makefile
The current Makefile only checks the primary python file, such as build.py and does...
[mirror_edk2.git] / BaseTools / Source / Python / Makefile
1 ## @file
2 # Windows makefile for Python tools build.
3 #
4 # Copyright (c) 2010 - 2014, 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_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 BIN_DIR=$(EDK_TOOLS_PATH)\Bin\Win32
29
30 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
31
32 COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
33 $(BASE_TOOLS_PATH)\Source\Python\Common\Database.py \
34 $(BASE_TOOLS_PATH)\Source\Python\Common\DataType.py \
35 $(BASE_TOOLS_PATH)\Source\Python\Common\DecClassObject.py \
36 $(BASE_TOOLS_PATH)\Source\Python\Common\Dictionary.py \
37 $(BASE_TOOLS_PATH)\Source\Python\Common\DscClassObject.py \
38 $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspace.py \
39 $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspaceBuild.py \
40 $(BASE_TOOLS_PATH)\Source\Python\Common\EdkLogger.py \
41 $(BASE_TOOLS_PATH)\Source\Python\Common\FdfClassObject.py \
42 $(BASE_TOOLS_PATH)\Source\Python\Common\FdfParserLite.py \
43 $(BASE_TOOLS_PATH)\Source\Python\Common\GlobalData.py \
44 $(BASE_TOOLS_PATH)\Source\Python\Common\Identification.py \
45 $(BASE_TOOLS_PATH)\Source\Python\Common\InfClassObject.py \
46 $(BASE_TOOLS_PATH)\Source\Python\Common\MigrationUtilities.py \
47 $(BASE_TOOLS_PATH)\Source\Python\Common\Misc.py \
48 $(BASE_TOOLS_PATH)\Source\Python\Common\Parsing.py \
49 $(BASE_TOOLS_PATH)\Source\Python\Common\String.py \
50 $(BASE_TOOLS_PATH)\Source\Python\Common\TargetTxtClassObject.py \
51 $(BASE_TOOLS_PATH)\Source\Python\Common\ToolDefClassObject.py \
52 $(BASE_TOOLS_PATH)\Source\Python\Common\VpdInfoFile.py \
53 $(BASE_TOOLS_PATH)\Source\Python\Common\BuildVersion.py \
54 $(BASE_TOOLS_PATH)\Source\Python\Workspace\BuildClassObject.py \
55 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaDataTable.py \
56 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileParser.py \
57 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileTable.py \
58 $(BASE_TOOLS_PATH)\Source\Python\Workspace\WorkspaceDatabase.py \
59 $(BASE_TOOLS_PATH)\Source\Python\Autogen\AutoGen.py \
60 $(BASE_TOOLS_PATH)\Source\Python\Autogen\BuildEngine.py \
61 $(BASE_TOOLS_PATH)\Source\Python\Autogen\GenC.py \
62 $(BASE_TOOLS_PATH)\Source\Python\Autogen\GenDepex.py \
63 $(BASE_TOOLS_PATH)\Source\Python\Autogen\GenMake.py \
64 $(BASE_TOOLS_PATH)\Source\Python\Autogen\StrGather.py \
65 $(BASE_TOOLS_PATH)\Source\Python\Autogen\UniClassObject.py
66
67 CMD_BUILD=$(BASE_TOOLS_PATH)\Source\Python\build\BuildReport.py \
68 $(BASE_TOOLS_PATH)\Source\Python\Eot\c.py \
69 $(BASE_TOOLS_PATH)\Source\Python\Eot\CLexer.py \
70 $(BASE_TOOLS_PATH)\Source\Python\Eot\CodeFragment.py \
71 $(BASE_TOOLS_PATH)\Source\Python\Eot\CodeFragmentCollector.py \
72 $(BASE_TOOLS_PATH)\Source\Python\Eot\CParser.py \
73 $(BASE_TOOLS_PATH)\Source\Python\Eot\Database.py \
74 $(BASE_TOOLS_PATH)\Source\Python\Eot\EfiCompressor.pyd \
75 $(BASE_TOOLS_PATH)\Source\Python\Eot\Eot.py \
76 $(BASE_TOOLS_PATH)\Source\Python\Eot\EotGlobalData.py \
77 $(BASE_TOOLS_PATH)\Source\Python\Eot\EotToolError.py \
78 $(BASE_TOOLS_PATH)\Source\Python\Eot\FileProfile.py \
79 $(BASE_TOOLS_PATH)\Source\Python\Eot\FvImage.py \
80 $(BASE_TOOLS_PATH)\Source\Python\Eot\InfParserLite.py \
81 $(BASE_TOOLS_PATH)\Source\Python\Eot\LzmaCompressor.pyd \
82 $(BASE_TOOLS_PATH)\Source\Python\Eot\Parser.py \
83 $(BASE_TOOLS_PATH)\Source\Python\Eot\ParserWarning.py \
84 $(BASE_TOOLS_PATH)\Source\Python\Eot\Report.py
85
86 CMD_GENFDS=$(BASE_TOOLS_PATH)\Source\Python\GenFds\AprioriSection.py \
87 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Attribute.py \
88 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Capsule.py \
89 $(BASE_TOOLS_PATH)\Source\Python\GenFds\CapsuleData.py \
90 $(BASE_TOOLS_PATH)\Source\Python\GenFds\ComponentStatement.py \
91 $(BASE_TOOLS_PATH)\Source\Python\GenFds\CompressSection.py \
92 $(BASE_TOOLS_PATH)\Source\Python\GenFds\DataSection.py \
93 $(BASE_TOOLS_PATH)\Source\Python\GenFds\DepexSection.py \
94 $(BASE_TOOLS_PATH)\Source\Python\GenFds\EfiSection.py \
95 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Fd.py \
96 $(BASE_TOOLS_PATH)\Source\Python\GenFds\FdfParser.py \
97 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Ffs.py \
98 $(BASE_TOOLS_PATH)\Source\Python\GenFds\FfsFileStatement.py \
99 $(BASE_TOOLS_PATH)\Source\Python\GenFds\FfsInfStatement.py \
100 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Fv.py \
101 $(BASE_TOOLS_PATH)\Source\Python\GenFds\FvImageSection.py \
102 $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFds.py \
103 $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFdsGlobalVariable.py \
104 $(BASE_TOOLS_PATH)\Source\Python\GenFds\GuidSection.py \
105 $(BASE_TOOLS_PATH)\Source\Python\GenFds\OptionRom.py \
106 $(BASE_TOOLS_PATH)\Source\Python\GenFds\OptRomFileStatement.py \
107 $(BASE_TOOLS_PATH)\Source\Python\GenFds\OptRomInfStatement.py \
108 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Region.py \
109 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Rule.py \
110 $(BASE_TOOLS_PATH)\Source\Python\GenFds\RuleComplexFile.py \
111 $(BASE_TOOLS_PATH)\Source\Python\GenFds\RuleSimpleFile.py \
112 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Section.py \
113 $(BASE_TOOLS_PATH)\Source\Python\GenFds\UiSection.py \
114 $(BASE_TOOLS_PATH)\Source\Python\GenFds\VerSection.py \
115 $(BASE_TOOLS_PATH)\Source\Python\GenFds\Vtf.py
116
117 CMD_BPDG=$(BASE_TOOLS_PATH)\Source\Python\BPDG\GenVpd.py \
118 $(BASE_TOOLS_PATH)\Source\Python\BPDG\StringTable.py
119
120 CMD_UPT=$(BASE_TOOLS_PATH)\Source\Python\UPT\Core\DependencyRules.py \
121 $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\DistributionPackageClass.py \
122 $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\FileHook.py \
123 $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\IpiDb.py \
124 $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\PackageFile.py \
125 $(BASE_TOOLS_PATH)\Source\Python\UPT\Dll\sqlite3.dll \
126 $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenDecFile.py \
127 $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenInfFile.py \
128 $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenMetaFileMisc.py \
129 $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenXmlFile.py \
130 $(BASE_TOOLS_PATH)\Source\Python\UPT\InstallPkg.py \
131 $(BASE_TOOLS_PATH)\Source\Python\UPT\InventoryWs.py \
132 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\CommentGenerating.py \
133 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\CommentParsing.py \
134 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\DataType.py \
135 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\ExpressionValidate.py \
136 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\GlobalData.py \
137 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\Misc.py \
138 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\ParserValidate.py \
139 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\Parsing.py \
140 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\String.py \
141 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\UniClassObject.py \
142 $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\Xml\XmlRoutines.py \
143 $(BASE_TOOLS_PATH)\Source\Python\UPT\Logger\Log.py \
144 $(BASE_TOOLS_PATH)\Source\Python\UPT\Logger\StringTable.py \
145 $(BASE_TOOLS_PATH)\Source\Python\UPT\Logger\ToolError.py \
146 $(BASE_TOOLS_PATH)\Source\Python\UPT\MkPkg.py \
147 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\DecObject.py \
148 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfBinaryObject.py \
149 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfBuildOptionObject.py \
150 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfCommonObject.py \
151 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfDefineCommonObject.py \
152 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfDefineObject.py \
153 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfDepexObject.py \
154 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfGuidObject.py \
155 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfHeaderObject.py \
156 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfLibraryClassesObject.py \
157 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfMisc.py \
158 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfPackagesObject.py \
159 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfPcdObject.py \
160 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfPpiObject.py \
161 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfProtocolObject.py \
162 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfSoucesObject.py \
163 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfUserExtensionObject.py \
164 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\POM\CommonObject.py \
165 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\POM\ModuleObject.py \
166 $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\POM\PackageObject.py \
167 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\DecParser.py \
168 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\DecParserMisc.py \
169 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfAsBuiltProcess.py \
170 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfBinarySectionParser.py \
171 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfBuildOptionSectionParser.py \
172 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfDefineSectionParser.py \
173 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfDepexSectionParser.py \
174 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfGuidPpiProtocolSectionParser.py \
175 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfLibrarySectionParser.py \
176 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfPackageSectionParser.py \
177 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfParser.py \
178 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfParserMisc.py \
179 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfPcdSectionParser.py \
180 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfSectionParser.py \
181 $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfSourceSectionParser.py \
182 $(BASE_TOOLS_PATH)\Source\Python\UPT\PomAdapter\DecPomAlignment.py \
183 $(BASE_TOOLS_PATH)\Source\Python\UPT\PomAdapter\InfPomAlignment.py \
184 $(BASE_TOOLS_PATH)\Source\Python\UPT\PomAdapter\InfPomAlignmentMisc.py \
185 $(BASE_TOOLS_PATH)\Source\Python\UPT\ReplacePkg.py \
186 $(BASE_TOOLS_PATH)\Source\Python\UPT\RmPkg.py \
187 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\CommentGeneratingUnitTest.py \
188 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\CommentParsingUnitTest.py \
189 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\DecParserTest.py \
190 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\DecParserUnitTest.py \
191 $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\InfBinarySectionTest.py \
192 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\CommonXml.py \
193 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\GuidProtocolPpiXml.py \
194 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\IniToXml.py \
195 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\ModuleSurfaceAreaXml.py \
196 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\PackageSurfaceAreaXml.py \
197 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\PcdXml.py \
198 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParser.py \
199 $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParserMisc.py
200
201
202 all: SetPythonPath $(APPLICATIONS)
203
204 SetPythonPath:
205 set PYTHONPATH=$(BASE_TOOLS_PATH)\Source\Python
206
207 $(BIN_DIR)\build.exe: $(BASE_TOOLS_PATH)\Source\Python\build\build.py $(COMMON_PYTHON) $(CMD_BUILD)
208 @pushd . & @cd build & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) build.py & @popd
209
210 $(BIN_DIR)\GenFds.exe: $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFds.py $(COMMON_PYTHON) $(CMD_GENFDS)
211 @pushd . & @cd GenFds & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenFds.py & @popd
212
213 $(BIN_DIR)\Trim.exe: $(BASE_TOOLS_PATH)\Source\Python\Trim\Trim.py $(COMMON_PYTHON)
214 @pushd . & @cd Trim & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Trim.py & @popd
215
216 $(BIN_DIR)\GenDepex.exe: $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenDepex.py $(COMMON_PYTHON)
217 @pushd . & @cd AutoGen & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenDepex.py & @popd
218
219 $(BIN_DIR)\TargetTool.exe: $(BASE_TOOLS_PATH)\Source\Python\TargetTool\TargetTool.py $(COMMON_PYTHON)
220 @pushd . & @cd TargetTool & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) TargetTool.py & @popd
221
222 $(BIN_DIR)\GenPatchPcdTable.exe: $(BASE_TOOLS_PATH)\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py $(COMMON_PYTHON)
223 @pushd . & @cd GenPatchPcdTable & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenPatchPcdTable.py & @popd
224
225 $(BIN_DIR)\PatchPcdValue.exe: $(BASE_TOOLS_PATH)\Source\Python\PatchPcdValue\PatchPcdValue.py $(COMMON_PYTHON)
226 @pushd . & @cd PatchPcdValue & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) PatchPcdValue.py & @popd
227
228 $(BIN_DIR)\BPDG.exe: $(BASE_TOOLS_PATH)\Source\Python\BPDG\BPDG.py $(COMMON_PYTHON) $(CMD_BPDG)
229 @pushd . & @cd BPDG & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) BPDG.py & @popd
230
231 $(BIN_DIR)\UPT.exe: $(BASE_TOOLS_PATH)\Source\Python\UPT\UPT.py $(CMD_UPT)
232 @pushd . & @cd UPT & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) UPT.py & @popd
233
234 $(BIN_DIR)\Rsa2048Sha256Sign.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256Sign.py
235 @pushd . & @cd Rsa2048Sha256Sign & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256Sign.py & @popd
236 @pushd . & @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\TestSigningPrivateKey.pem $(BIN_DIR)\TestSigningPrivateKey.pem & @popd
237
238 $(BIN_DIR)\Rsa2048Sha256GenerateKeys.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256GenerateKeys.py
239 @pushd . & @cd Rsa2048Sha256Sign & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256GenerateKeys.py & @popd
240
241 clean:
242 cleanall:
243 @del /f /q $(BIN_DIR)\*.pyd $(BIN_DIR)\*.dll
244 @for %%i in ($(APPLICATIONS)) do @del /f /q %%i
245