2 # Windows makefile for Python tools build.
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
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.
14 !IFNDEF PYTHON_FREEZER_PATH
15 !ERROR PYTHON_FREEZER_PATH must be defined
!
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
22 # Using cx_Freeze 3.0.3 with Python 2.5.4
23 FREEZE
=$(PYTHON_FREEZER_PATH
)\FreezePython.exe
26 MODULES
=encodings.cp437
,encodings.gbk
,encodings.utf_16
,encodings.utf_8
,encodings.utf_16_le
,encodings.latin_1
,encodings.ascii
28 BIN_DIR
=$(EDK_TOOLS_PATH
)\Bin\Win32
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
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
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
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
117 CMD_BPDG
=$(BASE_TOOLS_PATH
)\Source\Python\BPDG\GenVpd.py \
118 $(BASE_TOOLS_PATH
)\Source\Python\BPDG\StringTable.py
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
202 all: SetPythonPath
$(APPLICATIONS
)
205 set PYTHONPATH
=$(BASE_TOOLS_PATH
)\Source\Python
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
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
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
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
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
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
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
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
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
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
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
243 @del
/f
/q
$(BIN_DIR
)\
*.pyd
$(BIN_DIR
)\
*.dll
244 @for
%%i in
($(APPLICATIONS
)) do @del
/f
/q
%%i