summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/AutoGen/GenMake.py
diff options
context:
space:
mode:
Diffstat (limited to 'BaseTools/Source/Python/AutoGen/GenMake.py')
-rwxr-xr-xBaseTools/Source/Python/AutoGen/GenMake.py29
1 files changed, 13 insertions, 16 deletions
diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index 940136248f..2fe0e78bec 100755
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -1696,25 +1696,22 @@ def GetDependencyList(AutoGenObject, FileCache, File, ForceList, SearchPathList)
CurrentFileDependencyList = DepDb[F]
else:
try:
- with open(F.Path, 'rb') as Fd:
- FileContent = Fd.read(1)
- Fd.seek(0)
- if not FileContent:
- continue
- if FileContent[0] == 0xff or FileContent[0] == 0xfe:
- FileContent2 = Fd.read()
- FileContent2 = FileContent2.decode('utf-16')
- IncludedFileList = gIncludePattern.findall(FileContent2)
- else:
- FileLines = Fd.readlines()
- FileContent2 = [line for line in FileLines if str(line).lstrip("#\t ")[:8] == "include "]
- simpleFileContent="".join(FileContent2)
-
- IncludedFileList = gIncludePattern.findall(simpleFileContent)
+ Fd = open(F.Path, 'rb')
+ FileContent = Fd.read()
+ Fd.close()
except BaseException as X:
EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=F.Path + "\n\t" + str(X))
- if not FileContent:
+ if len(FileContent) == 0:
+ continue
+ try:
+ if FileContent[0] == 0xff or FileContent[0] == 0xfe:
+ FileContent = FileContent.decode('utf-16')
+ else:
+ FileContent = FileContent.decode()
+ except:
+ # The file is not txt file. for example .mcb file
continue
+ IncludedFileList = gIncludePattern.findall(FileContent)
for Inc in IncludedFileList:
Inc = Inc.strip()