BaseTools: support building the same INF more than once with -m option

Currently DSC file [Components] Section can support building the same
INF more than once for the same arch, this patch support build with -m
option to generate multiple instances.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Yonghong Zhu 2017-06-08 21:54:23 +08:00
parent 9f14de3b8e
commit 16bad1fbaf
1 changed files with 9 additions and 6 deletions

View File

@ -1736,12 +1736,15 @@ class Build():
MaList = [] MaList = []
for Arch in Wa.ArchList: for Arch in Wa.ArchList:
GlobalData.gGlobalDefines['ARCH'] = Arch GlobalData.gGlobalDefines['ARCH'] = Arch
Ma = ModuleAutoGen(Wa, self.ModuleFile, BuildTarget, ToolChain, Arch, self.PlatformFile) Pa = PlatformAutoGen(Wa, self.PlatformFile, BuildTarget, ToolChain, Arch)
if Ma == None: continue for Module in Pa.Platform.Modules:
MaList.append(Ma) if self.ModuleFile.Dir == Module.Dir and self.ModuleFile.File == Module.File:
self.BuildModules.append(Ma) Ma = ModuleAutoGen(Wa, Module, BuildTarget, ToolChain, Arch, self.PlatformFile)
if not Ma.IsBinaryModule: if Ma == None: continue
self._Build(self.Target, Ma, BuildModule=True) MaList.append(Ma)
self.BuildModules.append(Ma)
if not Ma.IsBinaryModule:
self._Build(self.Target, Ma, BuildModule=True)
self.BuildReport.AddPlatformReport(Wa, MaList) self.BuildReport.AddPlatformReport(Wa, MaList)
if MaList == []: if MaList == []: