From 16bad1fbaf897ecd93fb5046f4fed768ac12b6ff Mon Sep 17 00:00:00 2001 From: Yonghong Zhu Date: Thu, 8 Jun 2017 21:54:23 +0800 Subject: [PATCH] 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 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu Reviewed-by: Liming Gao --- BaseTools/Source/Python/build/build.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py index fd94ae69d2..ae8aa2fa38 100644 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -1736,12 +1736,15 @@ class Build(): MaList = [] for Arch in Wa.ArchList: GlobalData.gGlobalDefines['ARCH'] = Arch - Ma = ModuleAutoGen(Wa, self.ModuleFile, BuildTarget, ToolChain, Arch, self.PlatformFile) - if Ma == None: continue - MaList.append(Ma) - self.BuildModules.append(Ma) - if not Ma.IsBinaryModule: - self._Build(self.Target, Ma, BuildModule=True) + Pa = PlatformAutoGen(Wa, self.PlatformFile, BuildTarget, ToolChain, Arch) + for Module in Pa.Platform.Modules: + if self.ModuleFile.Dir == Module.Dir and self.ModuleFile.File == Module.File: + Ma = ModuleAutoGen(Wa, Module, BuildTarget, ToolChain, Arch, self.PlatformFile) + if Ma == None: continue + MaList.append(Ma) + self.BuildModules.append(Ma) + if not Ma.IsBinaryModule: + self._Build(self.Target, Ma, BuildModule=True) self.BuildReport.AddPlatformReport(Wa, MaList) if MaList == []: