## @file # Windows makefile for Python tools build. # # Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php # # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # !IFNDEF PYTHON_HOME !ERROR PYTHON_HOME must be defined! !ENDIF !IFDEF PYTHON_FREEZER_PATH !IF EXIST ($(PYTHON_FREEZER_PATH)\cxfreeze) # Using cx_Freeze 4.2.3 with Python 2.7.2 FREEZE=$(PYTHON_HOME)\python $(PYTHON_FREEZER_PATH)\cxfreeze !ELSE !ERROR PYTHON_FREEZER_PATH does not exist! !ENDIF !ENDIF MODULES=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_8,encodings.utf_16_le,encodings.latin_1,encodings.ascii # DOS del command doesn't support ":\\" in the file path, such as j:\\BaseTools. Convert ":\\" to ":\" BASE_TOOLS_PATH = $(BASE_TOOLS_PATH::\\=:\) EDK_TOOLS_PATH = $(EDK_TOOLS_PATH::\\=:\) BIN_DIR=$(EDK_TOOLS_PATH)\Bin\Win32 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)\Pkcs7Sign.exe $(BIN_DIR)\Ecc.exe COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\Database.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\DataType.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\EdkLogger.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\Expression.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\GlobalData.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\Identification.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\LongFilePathOs.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\LongFilePathOsPath.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\LongFilePathSupport.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\Misc.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\Parsing.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\StringUtils.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\TargetTxtClassObject.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\ToolDefClassObject.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\VpdInfoFile.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\BuildVersion.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\MultipleWorkspace.py \ $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\CommonClass.py \ $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\DataClass.py \ $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\Exceptions.py \ $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\FdfClass.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\Table.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableDataModel.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableDec.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableDsc.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableEotReport.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableFdf.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableFile.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableFunction.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableIdentifier.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableInf.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TablePcd.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableQuery.py \ $(BASE_TOOLS_PATH)\Source\Python\Table\TableReport.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\BuildClassObject.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaDataTable.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileCommentParser.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileParser.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileTable.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\WorkspaceCommon.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\WorkspaceDatabase.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\DecBuildData.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\DscBuildData.py \ $(BASE_TOOLS_PATH)\Source\Python\Workspace\InfBuildData.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\AutoGen.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\BuildEngine.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenC.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenDepex.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenMake.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenPcdDb.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\InfSectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\StrGather.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\UniClassObject.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\ValidCheckingInfoObject.py \ $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenVar.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\RangeExpression.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\VariableAttributes.py CMD_BUILD=$(BASE_TOOLS_PATH)\Source\Python\build\BuildReport.py \ $(BASE_TOOLS_PATH)\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py \ $(BASE_TOOLS_PATH)\Source\Python\PatchPcdValue\PatchPcdValue.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\c.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\CLexer.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\CodeFragment.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\CodeFragmentCollector.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\CParser.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\Database.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\EfiCompressor.pyd \ $(BASE_TOOLS_PATH)\Source\Python\Eot\Eot.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\EotGlobalData.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\EotToolError.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\FileProfile.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\InfParserLite.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\LzmaCompressor.pyd \ $(BASE_TOOLS_PATH)\Source\Python\Eot\Parser.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\ParserWarning.py \ $(BASE_TOOLS_PATH)\Source\Python\Eot\Report.py CMD_GENFDS=$(BASE_TOOLS_PATH)\Source\Python\GenFds\AprioriSection.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\Attribute.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\Capsule.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\CapsuleData.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\ComponentStatement.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\CompressSection.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\DataSection.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\DepexSection.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\EfiSection.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\Fd.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\FdfParser.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\Ffs.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\FfsFileStatement.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\FfsInfStatement.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\Fv.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\FvImageSection.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFds.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFdsGlobalVariable.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\GuidSection.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\OptionRom.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\OptRomFileStatement.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\OptRomInfStatement.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\Region.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\Rule.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\RuleComplexFile.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\RuleSimpleFile.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\Section.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\UiSection.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\VerSection.py \ $(BASE_TOOLS_PATH)\Source\Python\GenFds\Vtf.py CMD_BPDG=$(BASE_TOOLS_PATH)\Source\Python\BPDG\GenVpd.py \ $(BASE_TOOLS_PATH)\Source\Python\BPDG\StringTable.py CMD_UPT=$(BASE_TOOLS_PATH)\Source\Python\UPT\Core\DependencyRules.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\DistributionPackageClass.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\FileHook.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\IpiDb.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Core\PackageFile.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Dll\sqlite3.dll \ $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenDecFile.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenInfFile.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenMetaFileMisc.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\GenMetaFile\GenXmlFile.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\InstallPkg.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\InventoryWs.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\CommentGenerating.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\CommentParsing.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\DataType.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\ExpressionValidate.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\GlobalData.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\Misc.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\ParserValidate.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\Parsing.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\StringUtils.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\UniClassObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Library\Xml\XmlRoutines.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Logger\Log.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Logger\StringTable.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Logger\ToolError.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\MkPkg.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\DecObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfBinaryObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfBuildOptionObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfCommonObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfDefineCommonObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfDefineObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfDepexObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfGuidObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfHeaderObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfLibraryClassesObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfMisc.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfPackagesObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfPcdObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfPpiObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfProtocolObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfSoucesObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\Parser\InfUserExtensionObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\POM\CommonObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\POM\ModuleObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Object\POM\PackageObject.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\DecParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\DecParserMisc.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfAsBuiltProcess.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfBinarySectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfBuildOptionSectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfDefineSectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfDepexSectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfGuidPpiProtocolSectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfLibrarySectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfPackageSectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfParserMisc.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfPcdSectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfSectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Parser\InfSourceSectionParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\PomAdapter\DecPomAlignment.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\PomAdapter\InfPomAlignment.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\PomAdapter\InfPomAlignmentMisc.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\ReplacePkg.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\RmPkg.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\CommentGeneratingUnitTest.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\CommentParsingUnitTest.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\DecParserTest.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\DecParserUnitTest.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\UnitTest\InfBinarySectionTest.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\CommonXml.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\GuidProtocolPpiXml.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\IniToXml.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\ModuleSurfaceAreaXml.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\PackageSurfaceAreaXml.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\PcdXml.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParserMisc.py CMD_ECC=$(BASE_TOOLS_PATH)\Source\Python\Ecc\c.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\Check.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\CLexer.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\CodeFragment.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\CodeFragmentCollector.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\Configuration.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\CParser.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\Database.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\Ecc.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\EccGlobalData.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\EccToolError.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\Exception.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\FileProfile.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\MetaDataParser.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\ParserWarning.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\MetaFileWorkspace\MetaDataTable.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\MetaFileWorkspace\MetaFileParser.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\MetaFileWorkspace\MetaFileTable.py \ $(BASE_TOOLS_PATH)\Source\Python\Ecc\Xml\XmlRoutines.py !IFDEF PYTHON_FREEZER_PATH all: SetPythonPath $(APPLICATIONS) !ELSE all: @echo. @echo !!! WARNING !!! PYTHON_FREEZER_PATH is not set. @echo Cannot make executable from Python code, executing python scripts instead !!! !ENDIF SetPythonPath: set PYTHONPATH=$(BASE_TOOLS_PATH)\Source\Python $(BIN_DIR)\build.exe: $(BASE_TOOLS_PATH)\Source\Python\build\build.py $(COMMON_PYTHON) $(CMD_BUILD) $(CMD_GENFDS) @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) build\build.py $(BIN_DIR)\GenFds.exe: $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFds.py $(COMMON_PYTHON) $(CMD_GENFDS) @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenFds\GenFds.py $(BIN_DIR)\Trim.exe: $(BASE_TOOLS_PATH)\Source\Python\Trim\Trim.py $(COMMON_PYTHON) @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Trim\Trim.py $(BIN_DIR)\GenDepex.exe: $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenDepex.py $(COMMON_PYTHON) @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) AutoGen\GenDepex.py $(BIN_DIR)\TargetTool.exe: $(BASE_TOOLS_PATH)\Source\Python\TargetTool\TargetTool.py $(COMMON_PYTHON) @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) TargetTool\TargetTool.py $(BIN_DIR)\GenPatchPcdTable.exe: $(BASE_TOOLS_PATH)\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py $(COMMON_PYTHON) @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenPatchPcdTable\GenPatchPcdTable.py $(BIN_DIR)\PatchPcdValue.exe: $(BASE_TOOLS_PATH)\Source\Python\PatchPcdValue\PatchPcdValue.py $(COMMON_PYTHON) @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) PatchPcdValue\PatchPcdValue.py $(BIN_DIR)\BPDG.exe: $(BASE_TOOLS_PATH)\Source\Python\BPDG\BPDG.py $(COMMON_PYTHON) $(CMD_BPDG) @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) BPDG\BPDG.py $(BIN_DIR)\UPT.exe: $(BASE_TOOLS_PATH)\Source\Python\UPT\UPT.py $(CMD_UPT) @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) UPT\UPT.py $(BIN_DIR)\Rsa2048Sha256Sign.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256Sign.py $(BIN_DIR)\TestSigningPrivateKey.pem @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256Sign\Rsa2048Sha256Sign.py $(BIN_DIR)\TestSigningPrivateKey.pem: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\TestSigningPrivateKey.pem @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\TestSigningPrivateKey.pem $(BIN_DIR)\TestSigningPrivateKey.pem $(BIN_DIR)\Rsa2048Sha256GenerateKeys.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256GenerateKeys.py @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256Sign\Rsa2048Sha256GenerateKeys.py $(BIN_DIR)\Ecc.exe: $(BASE_TOOLS_PATH)\Source\Python\Ecc\Ecc.py $(CMD_ECC) $(BIN_DIR)\config.ini $(BIN_DIR)\exception.xml @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Ecc\Ecc.py $(BIN_DIR)\config.ini: $(BASE_TOOLS_PATH)\Source\Python\Ecc\config.ini @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Ecc\config.ini $(BIN_DIR)\config.ini $(BIN_DIR)\exception.xml: $(BASE_TOOLS_PATH)\Source\Python\Ecc\exception.xml @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Ecc\exception.xml $(BIN_DIR)\exception.xml $(BIN_DIR)\Pkcs7Sign.exe: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\Pkcs7Sign.py $(BIN_DIR)\TestCert.pem $(BIN_DIR)\TestCert.pub.pem $(BIN_DIR)\TestRoot.pem $(BIN_DIR)\TestRoot.pub.pem $(BIN_DIR)\TestSub.pem $(BIN_DIR)\TestSub.pub.pem @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Pkcs7Sign\Pkcs7Sign.py $(BIN_DIR)\TestCert.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestCert.pem @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestCert.pem $(BIN_DIR)\TestCert.pem $(BIN_DIR)\TestCert.pub.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestCert.pub.pem @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestCert.pub.pem $(BIN_DIR)\TestCert.pub.pem $(BIN_DIR)\TestSub.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestSub.pem @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestSub.pem $(BIN_DIR)\TestSub.pem $(BIN_DIR)\TestSub.pub.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestSub.pub.pem @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestSub.pub.pem $(BIN_DIR)\TestSub.pub.pem $(BIN_DIR)\TestRoot.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestRoot.pem @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestRoot.pem $(BIN_DIR)\TestRoot.pem $(BIN_DIR)\TestRoot.pub.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestRoot.pub.pem @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestRoot.pub.pem $(BIN_DIR)\TestRoot.pub.pem clean: cleanall: @del /f /q $(BIN_DIR)\*.pyd $(BIN_DIR)\*.dll @del /f /q $(BASE_TOOLS_PATH)\Source\Python\*.pyc @for %%i in ($(APPLICATIONS)) do @del /f /q %%i