]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/GenMake.py
BaseTools: Update Build tool to support multiple workspaces
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / GenMake.py
index 1d49a0316daf3334f1e8d457bd32fd45172dc758..d9b219e1c75fe778f4e485289504c754885a9576 100644 (file)
@@ -19,7 +19,7 @@ import string
 import re\r
 import os.path as path\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
-\r
+from Common.MultipleWorkspace import MultipleWorkspace as mws\r
 from Common.BuildToolError import *\r
 from Common.Misc import *\r
 from Common.String import *\r
@@ -555,8 +555,16 @@ cleanlib:
             LibraryMakeCommandList.append(Command)\r
 \r
         package_rel_dir = self._AutoGenObject.SourceDir\r
-        if os.sep in package_rel_dir:\r
-            package_rel_dir = package_rel_dir[package_rel_dir.index(os.sep) + 1:]\r
+        current_dir = self.Macros["WORKSPACE"]\r
+        found = False\r
+        while not found and os.sep in package_rel_dir:\r
+            index = package_rel_dir.index(os.sep)\r
+            current_dir = mws.join(current_dir, package_rel_dir[:index])\r
+            for fl in os.listdir(current_dir):\r
+                if fl.endswith('.dec'):\r
+                    found = True\r
+                    break\r
+            package_rel_dir = package_rel_dir[index + 1:]\r
 \r
         MakefileTemplateDict = {\r
             "makefile_header"           : self._FILE_HEADER_[self._FileType],\r