Reviewed-by: Jaben Carsey <jaben.car...@intel.com>
> -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Yonghong Zhu > Sent: Thursday, October 25, 2018 8:05 AM > To: edk2-devel@lists.01.org > Cc: Gao, Liming <liming....@intel.com> > Subject: [edk2] [Patch 1/2 V2] BaseTools: Add $(INC)-like support when > compiling .nasm files > > From: zhijufan <zhijux....@intel.com> > > current edk2\BaseTools\Conf\build_rule.template, the compile of nasm > source files does not have the $(INC) support. > > The '-I' option only includes the directory of the nasm source file > (${s_path}(+)). Hence, it will be impossible for nasm files to include > files outside of the nasm source file directory. > > As a comparison, the compile of both .s and .asm have $(INC) support > in their compile commands. > > Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=1085 > Cc: Liming Gao <liming....@intel.com> > Cc: Yonghong Zhu <yonghong....@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Zhiju.Fan <zhijux....@intel.com> > --- > BaseTools/Source/Python/AutoGen/GenMake.py | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py > b/BaseTools/Source/Python/AutoGen/GenMake.py > index b4377ee..f754f03 100644 > --- a/BaseTools/Source/Python/AutoGen/GenMake.py > +++ b/BaseTools/Source/Python/AutoGen/GenMake.py > @@ -165,11 +165,11 @@ class BuildFile(object): > _INCLUDE_CMD_ = { > "nmake" : '!INCLUDE', > "gmake" : "include" > } > > - _INC_FLAG_ = {TAB_COMPILER_MSFT : "/I", "GCC" : "-I", "INTEL" : "-I", > "RVCT" : "-I"} > + _INC_FLAG_ = {TAB_COMPILER_MSFT : "/I", "GCC" : "-I", "INTEL" : "-I", > "RVCT" : "-I", "NASM" : "-I"} > > ## Constructor of BuildFile > # > # @param AutoGenObject Object of AutoGen class > # > @@ -594,10 +594,21 @@ cleanlib: > "macro_name" : "INC", > "source_file" : > IncludePathList > } > ) > FileMacroList.append(FileMacro) > + for File in self.FileCache.keys(): > + if not str(File).endswith('.nasm'): > + continue > + IncludePathList = [] > + for P in MyAgo.IncludePathList: > + IncludePath = self._INC_FLAG_['NASM'] + self.PlaceMacro(P, > self.Macros) > + if not P.endswith('\\'): > + IncludePath += '\\' > + IncludePathList.append(IncludePath) > + > FileMacroList.append(self._FILE_MACRO_TEMPLATE.Replace({"macro_nam > e": "NASM_INC", "source_file": IncludePathList})) > + break > > # Generate macros used to represent files containing list of input > files > for ListFileMacro in self.ListFileMacros: > ListFileName = os.path.join(MyAgo.OutputDir, "%s.lst" % > ListFileMacro.lower()[:len(ListFileMacro) - 5]) > FileMacroList.append("%s = %s" % (ListFileMacro, ListFileName)) > -- > 2.6.1.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel