X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=BaseTools%2FSource%2FPython%2FMakefile;h=e7755cdbf8c8629e5faea3dc59a753e4116e421c;hp=6436e5b7ff64238d39a285a1efeb77ff9cc0af04;hb=efb1e40f91353d763b02a40c41ad7a38f3d8ff90;hpb=6c22c0a35defc2177b7a24d588ae2ad7588010a9 diff --git a/BaseTools/Source/Python/Makefile b/BaseTools/Source/Python/Makefile index 6436e5b7ff..e7755cdbf8 100644 --- a/BaseTools/Source/Python/Makefile +++ b/BaseTools/Source/Python/Makefile @@ -1,7 +1,7 @@ ## @file # Windows makefile for Python tools build. # -# Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2016, 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 @@ -11,23 +11,28 @@ # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # -!IFNDEF PYTHON_FREEZER_PATH -!ERROR PYTHON_FREEZER_PATH must be defined! +!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_FREEZER_PATH)\cxfreeze +FREEZE=$(PYTHON_HOME)\python $(PYTHON_FREEZER_PATH)\cxfreeze !ELSE -# Using cx_Freeze 3.0.3 with Python 2.5.4 -FREEZE=$(PYTHON_FREEZER_PATH)\FreezePython.exe +!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 +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 \ @@ -38,11 +43,15 @@ COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspace.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspaceBuild.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\EdkLogger.py \ + $(BASE_TOOLS_PATH)\Source\Python\Common\Expression.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\FdfClassObject.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\FdfParserLite.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\GlobalData.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\Identification.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\InfClassObject.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\MigrationUtilities.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\Misc.py \ $(BASE_TOOLS_PATH)\Source\Python\Common\Parsing.py \ @@ -51,20 +60,50 @@ COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.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\CommonDataClass\ModuleClass.py \ + $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\PackageClass.py \ + $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\PlatformClass.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\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\StrGather.py \ - $(BASE_TOOLS_PATH)\Source\Python\Autogen\UniClassObject.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\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 \ @@ -198,48 +237,87 @@ CMD_UPT=$(BASE_TOOLS_PATH)\Source\Python\UPT\Core\DependencyRules.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParser.py \ $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParserMisc.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) - @pushd . & @cd build & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) build.py & @popd +$(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) - @pushd . & @cd GenFds & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenFds.py & @popd + @$(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) - @pushd . & @cd Trim & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Trim.py & @popd + @$(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) - @pushd . & @cd AutoGen & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenDepex.py & @popd + @$(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) - @pushd . & @cd TargetTool & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) TargetTool.py & @popd + @$(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) - @pushd . & @cd GenPatchPcdTable & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenPatchPcdTable.py & @popd + @$(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) - @pushd . & @cd PatchPcdValue & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) PatchPcdValue.py & @popd + @$(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) - @pushd . & @cd BPDG & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) BPDG.py & @popd + @$(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) - @pushd . & @cd UPT & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) UPT.py & @popd + @$(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)\Rsa2048Sha256Sign.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256Sign.py - @pushd . & @cd Rsa2048Sha256Sign & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256Sign.py & @popd - @pushd . & @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\TestSigningPrivateKey.pem $(BIN_DIR)\TestSigningPrivateKey.pem & @popd +$(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 - @pushd . & @cd Rsa2048Sha256Sign & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256GenerateKeys.py & @popd - + @$(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