## @file\r
# section base class\r
#\r
-# Copyright (c) 2007-2015, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
import Common.LongFilePathOs as os, glob\r
from Common import EdkLogger\r
from Common.BuildToolError import *\r
+from Common.DataType import TAB_ARCH_COMMON\r
\r
## section base class\r
#\r
# @param Dict dictionary contains macro and its value\r
# @retval tuple (File list, boolean)\r
#\r
- def GetFileList(FfsInf, FileType, FileExtension, Dict = {}):\r
- if FileType in Section.SectFileType.keys() :\r
- IsSect = True\r
- else :\r
- IsSect = False\r
+ def GetFileList(FfsInf, FileType, FileExtension, Dict = {}, IsMakefile=False):\r
+ IsSect = FileType in Section.SectFileType\r
\r
- if FileExtension != None:\r
+ if FileExtension is not None:\r
Suffix = FileExtension\r
elif IsSect :\r
Suffix = Section.SectionType.get(FileType)\r
else:\r
Suffix = Section.BinFileType.get(FileType)\r
- if FfsInf == None:\r
+ if FfsInf is None:\r
EdkLogger.error("GenFds", GENFDS_ERROR, 'Inf File does not exist!')\r
\r
FileList = []\r
- if FileType != None:\r
+ if FileType is not None:\r
for File in FfsInf.BinFileList:\r
- if File.Arch == "COMMON" or FfsInf.CurrentArch == File.Arch:\r
+ if File.Arch == TAB_ARCH_COMMON or FfsInf.CurrentArch == File.Arch:\r
if File.Type == FileType or (int(FfsInf.PiSpecVersion, 16) >= 0x0001000A \\r
and FileType == 'DXE_DPEX'and File.Type == 'SMM_DEPEX') \\r
or (FileType == 'TE'and File.Type == 'PE32'):\r
else:\r
GenFdsGlobalVariable.InfLogger ("\nCurrent ARCH \'%s\' of File %s is not in the Support Arch Scope of %s specified by INF %s in FDF" %(FfsInf.CurrentArch, File.File, File.Arch, FfsInf.InfFileName))\r
\r
- if Suffix != None and os.path.exists(FfsInf.EfiOutputPath):\r
+ if (not IsMakefile and Suffix is not None and os.path.exists(FfsInf.EfiOutputPath)) or (IsMakefile and Suffix is not None):\r
#\r
# Get Makefile path and time stamp\r
#\r
Tuple = os.walk(FfsInf.EfiOutputPath)\r
for Dirpath, Dirnames, Filenames in Tuple:\r
for F in Filenames:\r
- if os.path.splitext(F)[1] in (Suffix):\r
+ if os.path.splitext(F)[1] == Suffix:\r
FullName = os.path.join(Dirpath, F)\r
if os.path.getmtime(FullName) > os.path.getmtime(Makefile):\r
FileList.append(FullName)\r