Thanks for your comment. I think .d file should be fine since edk2 does not support D language.
Thanks, Bob -----Original Message----- From: Ryszard Knop <ryszard.k...@linux.intel.com> Sent: Monday, October 28, 2019 8:24 PM To: devel@edk2.groups.io; Feng, Bob C <bob.c.f...@intel.com> Subject: Re: [edk2-devel] [Patch 0/1] BaseTools: Using compiler to generate source code dependency files. Just a quick note: .d files are used by the D language. You might want to use an extension like .deps instead. On 2019-10-28 11:47, Bob Feng wrote: > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2311 > > To support incremental build, build tool generates the dependent > header file for each of source file. This procedure is done in AutoGen phase. > The build tool goes through all the source file and header file and > use regular expression to find out all the dependent files for a > source file. This procedure is much time-consuming. And this method > can't handle the MACRO in #include, for example #include PATH(xxx.h). > > This patch is going to use compiler to generate dependent files. This > method will be faster and more accurate. > > The basic idea is: > 1. In AutoGen phase, build tool add "!Include deps.txt" into Makefile > instead of defining COMMON_DEPS list. > 2. During the Make phase, the compilers, Trim and C preprocessor > generate dependent files, .d file, for each source file. > 3. After Make, The build tool combines the .d files and generate a > file deps.txt which list all the included files for a module. > 4. Each source file will depends on the Module's includes files. The > difference with orignial behavior is that if the user change the > source file, build tool will only build that source file in > incremental build; while if the user change a module's header file, > build tool will build the whole module in incremental build. > > In this way, the time of AutoGen phase will be reduced much. And since > we will use c preprocessor to handle #include, the MACRO will be > handled well and the final dependent files will be more accurate. > > Feng, Bob C (1): > BaseTools: Using compiler to generate source code dependency files. > > BaseTools/Conf/build_rule.template | 89 ++++++----- > BaseTools/Conf/tools_def.template | 138 +++++++++--------- > BaseTools/Source/Python/AutoGen/GenMake.py | 73 +++------ > .../Source/Python/AutoGen/IncludesAutoGen.py | 99 +++++++++++++ > BaseTools/Source/Python/Trim/Trim.py | 113 +++++++++++--- > BaseTools/Source/Python/build/build.py | 58 ++++++-- > 6 files changed, 378 insertions(+), 192 deletions(-) > create mode 100644 > BaseTools/Source/Python/AutoGen/IncludesAutoGen.py > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#49553): https://edk2.groups.io/g/devel/message/49553 Mute This Topic: https://groups.io/mt/38877548/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-