]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/GenDepex.py
BaseTools: Append FILE_GUID to BaseName.
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / GenDepex.py
index 9ee615cdc800fa489def0c9853b8c12713d32818..a390d560fc1a7db8834b7de4926aebee2f15a555 100644 (file)
@@ -1,8 +1,8 @@
 ## @file\r
 # This file is used to generate DEPEX file for module's dependency expression\r
 #\r
-# Copyright (c) 2007, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
+# Copyright (c) 2007 - 2014, 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
 # http://opensource.org/licenses/bsd-license.php\r
 ## Import Modules\r
 #\r
 import sys\r
-import os\r
+import Common.LongFilePathOs as os\r
 import re\r
 import traceback\r
-\r
+from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from StringIO import StringIO\r
 from struct import pack\r
 from Common.BuildToolError import *\r
 from Common.Misc import SaveFileOnChange\r
 from Common.Misc import GuidStructureStringToGuidString\r
 from Common import EdkLogger as EdkLogger\r
-\r
+from Common.BuildVersion import gBUILD_VERSION\r
 \r
 ## Regular expression for matching "DEPENDENCY_START ... DEPENDENCY_END"\r
 gStartClosePattern = re.compile(".*DEPENDENCY_START(.+)DEPENDENCY_END.*", re.S)\r
@@ -354,9 +354,9 @@ class DependencyExpression:
         Buffer.close()\r
         return FileChangeFlag\r
 \r
-versionNumber = "0.04"\r
+versionNumber = ("0.04" + " " + gBUILD_VERSION)\r
 __version__ = "%prog Version " + versionNumber\r
-__copyright__ = "Copyright (c) 2007-2008, Intel Corporation  All rights reserved."\r
+__copyright__ = "Copyright (c) 2007-2010, Intel Corporation  All rights reserved."\r
 __usage__ = "%prog [options] [dependency_expression_file]"\r
 \r
 ## Parse command line options\r
@@ -423,7 +423,14 @@ def Main():
 \r
         Dpx = DependencyExpression(DxsString, Option.ModuleType, Option.Optimize)\r
         if Option.OutputFile != None:\r
-            Dpx.Generate(Option.OutputFile)\r
+            FileChangeFlag = Dpx.Generate(Option.OutputFile)\r
+            if not FileChangeFlag and DxsFile: \r
+                #\r
+                # Touch the output file if its time stamp is older than the original\r
+                # DXS file to avoid re-invoke this tool for the dependency check in build rule.\r
+                #\r
+                if os.stat(DxsFile)[8] > os.stat(Option.OutputFile)[8]:\r
+                    os.utime(Option.OutputFile, None)\r
         else:\r
             Dpx.Generate()\r
     except BaseException, X:\r