On Thu, Sep 19, 2024 at 10:54 PM Nicolas Schier <n.schier@xxxxxx> wrote: > > On Tue, Sep 17, 2024 at 11:16:36PM +0900, Masahiro Yamada wrote: > > The current 'find' command does not prune the rust/test directory > > itself, requiring an additional 'grep -Fv' command to exclude it. > > This is cumbersome. > > > > The correct use of the -prune option can be seen in the 'make clean' > > rule. > > > > [Current command] > > > > $ find . -type f -name '*.rs' -o -path ./rust/test -prune | wc > > 70 70 1939 > > $ find . -type f -name '*.rs' -o -path ./rust/test -prune | grep rust/test > > ./rust/test > > > > [Improved command] > > > > $ find . -path ./rust/test -prune -o -type f -name '*.rs' -print | wc > > 69 69 1927 > > $ find . -path ./rust/test -prune -o -type f -name '*.rs' -print | grep rust/test > > > > With the improved 'find' command, the grep command is no longer needed. > > > > There is also no need to use the absolute path, so $(abs_srctree) can be > > replaced with $(srctree). > > > > The pruned directory rust/test must be prefixed with $(srctree) instead > > of $(objtree). Otherwise, 'make O=... rustfmt' would visit the stale > > rust/test directory remaining in the source tree. > > > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > > --- > > > > Makefile | 5 ++--- > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > diff --git a/Makefile b/Makefile > > index 5b16e0605a77..4992b2895dd5 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -1740,9 +1740,8 @@ PHONY += rustfmt rustfmtcheck > > # when matching, which is a problem when e.g. `srctree` is `..`. > > # We `grep` afterwards in order to remove the directory entry itself. > > rustfmt: > > - $(Q)find $(abs_srctree) -type f -name '*.rs' \ > > - -o -path $(abs_objtree)/rust/test -prune \ > > - | grep -Fv $(abs_objtree)/rust/test \ > > + $(Q)find $(srctree) -path $(srctree)/rust/test -prune \ > > + -o -type f -name '*.rs' -print \ > > | grep -Fv generated \ > > Is there a reason for keeping the grep for generated instead of turning > it also into a find prune argument? This commit answers your question: https://github.com/Rust-for-Linux/linux/commit/73243a8a27a67 -- Best Regards Masahiro Yamada