]> 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 4eea515d9b9cd0ee57bb4335142fb8fdbd03dcca..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
@@ -87,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
@@ -97,6 +94,7 @@ COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
               $(BASE_TOOLS_PATH)\Source\Python\AutoGen\StrGather.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
@@ -236,7 +234,34 @@ 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
@@ -285,9 +310,31 @@ $(BIN_DIR)\config.ini: $(BASE_TOOLS_PATH)\Source\Python\Ecc\config.ini
 \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
+\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
 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