On Tue, 31 Mar 2026 09:52:35 +0800 Li Wang <[email protected]> wrote:

> On Mon, Mar 30, 2026 at 05:09:54PM -0700, Andrew Morton wrote:
> > On Sun, 29 Mar 2026 18:04:52 +0800 Li Wang <[email protected]> wrote:
> > 
> > > > ts:/usr/src/25> cat Makefile
> > > > # Automatically generated by /usr/src/25/Makefile: don't edit
> > > > export KBUILD_OUTPUT = .
> > > > export KBUILD_EXTMOD = /usr/src/25
> > > > export KBUILD_EXTMOD_OUTPUT = /usr/src/25
> > > > include /usr/src/25/Makefile
> > > > 
> > > > I've done this twice in succession now.  Any suggestions where I should
> > > > look?
> > > 
> > > When build selftests from the top-level, sub-makes entered via `-C` may
> > > still inherit the caller's PWD from the environment.
> > > 
> > > Some selftests use $(PWD) in recursive kbuild invocations, which can
> > > then incorrectly resolve to the kernel top directory instead of the
> > > current test directory.
> > > 
> > > Maybe try export PWD in the ../selftests/lib.mk?
> > > 
> > >   export PWD := $(CURDIR)
> > 
> > Thanks, I'll get onto this stuff soon.
>  
> I have created a patchset for those build tiny issues,
> let me send out to you to have a early try?

Sure.

> > Meanwhile, shouldn't this work?
> > 
> > ts:/usr/src/25/tools/testing/selftests/mm> make merge.i
> > make: *** No rule to make target 'merge.i'.  Stop.
> 
> That's probably because Makefile explicitly disables the implicit .c to .i 
> rule.
> 
> In line#43 of Makefile:
> 
>     MAKEFLAGS += --no-builtin-rules
> 
> I doubt do we really need to add back the 'gcc -E' approach? 

I occasionally use it for figuring out inclusion messes.

`make -V' followed by copy-paste-edit still works ;)

> The selftests build system intentionally kills built-in rules to prevent
> half-broken implicit builds.
> (the comment line# 33~42 in the Makefile explains why)

OK, wow, looks like that solution was painfully arrived at.

Reply via email to