]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Makefile
BaseTools: skip updating temporary variable.
[mirror_edk2.git] / BaseTools / Source / Python / Makefile
index dd85bbb1c21a0d52cd044c43563186ffb4a9f963..c1c58dc0a423d3383887bd446db11f63dd3a357e 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 # Windows makefile for Python tools build.\r
 #\r
-# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
 # which accompanies this distribution.  The full text of the license may be found at\r
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 \r
-!IFNDEF PYTHON_FREEZER_PATH\r
-!ERROR PYTHON_FREEZER_PATH must be defined!\r
+!IFNDEF PYTHON_HOME\r
+!ERROR PYTHON_HOME must be defined!\r
 !ENDIF\r
 \r
+!IFDEF PYTHON_FREEZER_PATH\r
 !IF EXIST ($(PYTHON_FREEZER_PATH)\cxfreeze)\r
 # Using cx_Freeze 4.2.3 with Python 2.7.2\r
-FREEZE=$(PYTHON_FREEZER_PATH)\cxfreeze\r
+FREEZE=$(PYTHON_HOME)\python $(PYTHON_FREEZER_PATH)\cxfreeze\r
 !ELSE\r
-# Using cx_Freeze 3.0.3 with Python 2.5.4\r
-FREEZE=$(PYTHON_FREEZER_PATH)\FreezePython.exe\r
+!ERROR PYTHON_FREEZER_PATH does not exist!\r
+!ENDIF\r
 !ENDIF\r
 \r
 MODULES=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_8,encodings.utf_16_le,encodings.latin_1,encodings.ascii\r
@@ -31,23 +32,16 @@ EDK_TOOLS_PATH  = $(EDK_TOOLS_PATH::\\=:\)
 \r
 BIN_DIR=$(EDK_TOOLS_PATH)\Bin\Win32\r
 \r
-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\r
+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\r
 \r
 COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\Database.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\DataType.py \\r
-              $(BASE_TOOLS_PATH)\Source\Python\Common\DecClassObject.py \\r
-              $(BASE_TOOLS_PATH)\Source\Python\Common\Dictionary.py \\r
-              $(BASE_TOOLS_PATH)\Source\Python\Common\DscClassObject.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspace.py \\r
-              $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspaceBuild.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\EdkLogger.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\Expression.py \\r
-              $(BASE_TOOLS_PATH)\Source\Python\Common\FdfClassObject.py \\r
-              $(BASE_TOOLS_PATH)\Source\Python\Common\FdfParserLite.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\GlobalData.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\Identification.py \\r
-              $(BASE_TOOLS_PATH)\Source\Python\Common\InfClassObject.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\LongFilePathOs.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\LongFilePathOsPath.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\LongFilePathSupport.py \\r
@@ -59,6 +53,7 @@ COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
               $(BASE_TOOLS_PATH)\Source\Python\Common\ToolDefClassObject.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\VpdInfoFile.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Common\BuildVersion.py \\r
+              $(BASE_TOOLS_PATH)\Source\Python\Common\MultipleWorkspace.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\CommonClass.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\DataClass.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\CommonDataClass\Exceptions.py \\r
@@ -86,6 +81,9 @@ COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
               $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileTable.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Workspace\WorkspaceCommon.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\Workspace\WorkspaceDatabase.py \\r
+              $(BASE_TOOLS_PATH)\Source\Python\Workspace\DecBuildData.py \\r
+              $(BASE_TOOLS_PATH)\Source\Python\Workspace\DscBuildData.py \\r
+              $(BASE_TOOLS_PATH)\Source\Python\Workspace\InfBuildData.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\AutoGen\AutoGen.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\AutoGen\BuildEngine.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenC.py \\r
@@ -94,7 +92,11 @@ COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
               $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenPcdDb.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\AutoGen\InfSectionParser.py \\r
               $(BASE_TOOLS_PATH)\Source\Python\AutoGen\StrGather.py \\r
-              $(BASE_TOOLS_PATH)\Source\Python\AutoGen\UniClassObject.py\r
+              $(BASE_TOOLS_PATH)\Source\Python\AutoGen\UniClassObject.py \\r
+              $(BASE_TOOLS_PATH)\Source\Python\AutoGen\ValidCheckingInfoObject.py \\r
+              $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenVar.py \\r
+              $(BASE_TOOLS_PATH)\Source\Python\Common\RangeExpression.py \\r
+              $(BASE_TOOLS_PATH)\Source\Python\Common\VariableAttributes.py\r
 \r
 CMD_BUILD=$(BASE_TOOLS_PATH)\Source\Python\build\BuildReport.py \\r
     $(BASE_TOOLS_PATH)\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py \\r
@@ -232,52 +234,107 @@ CMD_UPT=$(BASE_TOOLS_PATH)\Source\Python\UPT\Core\DependencyRules.py \
     $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParser.py \\r
     $(BASE_TOOLS_PATH)\Source\Python\UPT\Xml\XmlParserMisc.py\r
 \r
+CMD_ECC=$(BASE_TOOLS_PATH)\Source\Python\Ecc\c.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\Check.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\CLexer.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\CodeFragment.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\CodeFragmentCollector.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\Configuration.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\CParser.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\Database.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\Ecc.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\EccGlobalData.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\EccToolError.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\Exception.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\FileProfile.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\MetaDataParser.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\ParserWarning.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\MetaFileWorkspace\MetaDataTable.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\MetaFileWorkspace\MetaFileParser.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\MetaFileWorkspace\MetaFileTable.py \\r
+    $(BASE_TOOLS_PATH)\Source\Python\Ecc\Xml\XmlRoutines.py\r
+\r
+!IFDEF PYTHON_FREEZER_PATH\r
 all: SetPythonPath $(APPLICATIONS)\r
+!ELSE\r
+all:\r
+  @echo.\r
+  @echo !!! WARNING !!! PYTHON_FREEZER_PATH is not set.\r
+  @echo Cannot make executable from Python code, executing python scripts instead !!!\r
+!ENDIF\r
 \r
 SetPythonPath:\r
   set PYTHONPATH=$(BASE_TOOLS_PATH)\Source\Python\r
 \r
 $(BIN_DIR)\build.exe: $(BASE_TOOLS_PATH)\Source\Python\build\build.py $(COMMON_PYTHON) $(CMD_BUILD) $(CMD_GENFDS)\r
-  @pushd . & @cd build & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) build.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) build\build.py\r
 \r
 $(BIN_DIR)\GenFds.exe: $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFds.py $(COMMON_PYTHON) $(CMD_GENFDS)\r
-  @pushd . & @cd GenFds & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenFds.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenFds\GenFds.py\r
 \r
 $(BIN_DIR)\Trim.exe: $(BASE_TOOLS_PATH)\Source\Python\Trim\Trim.py $(COMMON_PYTHON)\r
-  @pushd . & @cd Trim & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Trim.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Trim\Trim.py\r
 \r
 $(BIN_DIR)\GenDepex.exe: $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenDepex.py $(COMMON_PYTHON)\r
-  @pushd . & @cd AutoGen & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenDepex.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) AutoGen\GenDepex.py\r
 \r
 $(BIN_DIR)\TargetTool.exe: $(BASE_TOOLS_PATH)\Source\Python\TargetTool\TargetTool.py $(COMMON_PYTHON)\r
-  @pushd . & @cd TargetTool & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) TargetTool.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) TargetTool\TargetTool.py\r
 \r
 $(BIN_DIR)\GenPatchPcdTable.exe: $(BASE_TOOLS_PATH)\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py $(COMMON_PYTHON)\r
-  @pushd . & @cd GenPatchPcdTable & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenPatchPcdTable.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenPatchPcdTable\GenPatchPcdTable.py\r
 \r
 $(BIN_DIR)\PatchPcdValue.exe: $(BASE_TOOLS_PATH)\Source\Python\PatchPcdValue\PatchPcdValue.py $(COMMON_PYTHON)\r
-  @pushd . & @cd PatchPcdValue & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) PatchPcdValue.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) PatchPcdValue\PatchPcdValue.py\r
 \r
 $(BIN_DIR)\BPDG.exe: $(BASE_TOOLS_PATH)\Source\Python\BPDG\BPDG.py $(COMMON_PYTHON) $(CMD_BPDG)\r
-  @pushd . & @cd BPDG & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) BPDG.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) BPDG\BPDG.py\r
 \r
 $(BIN_DIR)\UPT.exe: $(BASE_TOOLS_PATH)\Source\Python\UPT\UPT.py $(CMD_UPT)\r
-  @pushd . & @cd UPT & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) UPT.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) UPT\UPT.py\r
 \r
-$(BIN_DIR)\Rsa2048Sha256Sign.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256Sign.py\r
-  @pushd . & @cd Rsa2048Sha256Sign & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256Sign.py & @popd\r
-  @pushd . & @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\TestSigningPrivateKey.pem $(BIN_DIR)\TestSigningPrivateKey.pem & @popd\r
+$(BIN_DIR)\Rsa2048Sha256Sign.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256Sign.py $(BIN_DIR)\TestSigningPrivateKey.pem\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256Sign\Rsa2048Sha256Sign.py\r
+\r
+$(BIN_DIR)\TestSigningPrivateKey.pem: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\TestSigningPrivateKey.pem\r
+  @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\TestSigningPrivateKey.pem $(BIN_DIR)\TestSigningPrivateKey.pem\r
   \r
 $(BIN_DIR)\Rsa2048Sha256GenerateKeys.exe: $(BASE_TOOLS_PATH)\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256GenerateKeys.py\r
-  @pushd . & @cd Rsa2048Sha256Sign & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256GenerateKeys.py & @popd\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Rsa2048Sha256Sign\Rsa2048Sha256GenerateKeys.py\r
+\r
+$(BIN_DIR)\Ecc.exe: $(BASE_TOOLS_PATH)\Source\Python\Ecc\Ecc.py $(CMD_ECC) $(BIN_DIR)\config.ini $(BIN_DIR)\exception.xml\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Ecc\Ecc.py\r
+\r
+$(BIN_DIR)\config.ini: $(BASE_TOOLS_PATH)\Source\Python\Ecc\config.ini\r
+  @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Ecc\config.ini $(BIN_DIR)\config.ini\r
+\r
+$(BIN_DIR)\exception.xml: $(BASE_TOOLS_PATH)\Source\Python\Ecc\exception.xml\r
+  @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Ecc\exception.xml $(BIN_DIR)\exception.xml\r
+\r
+$(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\r
+  @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Pkcs7Sign\Pkcs7Sign.py\r
+\r
+$(BIN_DIR)\TestCert.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestCert.pem\r
+  @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestCert.pem $(BIN_DIR)\TestCert.pem\r
+\r
+$(BIN_DIR)\TestCert.pub.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestCert.pub.pem\r
+  @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestCert.pub.pem $(BIN_DIR)\TestCert.pub.pem\r
+\r
+$(BIN_DIR)\TestSub.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestSub.pem\r
+  @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestSub.pem $(BIN_DIR)\TestSub.pem\r
+\r
+$(BIN_DIR)\TestSub.pub.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestSub.pub.pem\r
+  @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestSub.pub.pem $(BIN_DIR)\TestSub.pub.pem\r
+\r
+$(BIN_DIR)\TestRoot.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestRoot.pem\r
+  @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestRoot.pem $(BIN_DIR)\TestRoot.pem\r
+\r
+$(BIN_DIR)\TestRoot.pub.pem: $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestRoot.pub.pem\r
+  @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Pkcs7Sign\TestRoot.pub.pem $(BIN_DIR)\TestRoot.pub.pem\r
 \r
-$(BIN_DIR)\Ecc.exe: $(BASE_TOOLS_PATH)\Source\Python\Ecc\Ecc.py $(CMD_ECC)\r
-  @pushd . & @cd Ecc & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Ecc.py & @popd\r
-  @pushd . & @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Ecc\config.ini $(BIN_DIR)\config.ini & @popd\r
-  @pushd . & @copy /Y /B $(BASE_TOOLS_PATH)\Source\Python\Ecc\exception.xml $(BIN_DIR)\exception.xml & @popd\r
-  \r
 clean:\r
 cleanall:  \r
   @del /f /q $(BIN_DIR)\*.pyd $(BIN_DIR)\*.dll\r
+  @del /f /q $(BASE_TOOLS_PATH)\Source\Python\*.pyc\r
   @for %%i in ($(APPLICATIONS)) do @del /f /q %%i\r
 \r