From fcdedafd97c8f18c33a63d26b954e5dbaee81a2b Mon Sep 17 00:00:00 2001 From: Liming Gao Date: Fri, 20 Sep 2019 14:00:12 +0800 Subject: Revert "BaseTools: Improve GetDependencyList function" This reverts commit bc9e4194cf3edaf9524c83098ba3f72008c70190. This change causes the dependent header files are missing in Makefile. It makes the incremental build not work. So, revert this change. Cc: Bob Feng Signed-off-by: Liming Gao Reviewed-by: Bob Feng --- BaseTools/Source/Python/AutoGen/GenMake.py | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) (limited to 'BaseTools/Source/Python/AutoGen') 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() -- cgit v1.2.3