On 07/02/25 at 10:17am, Moon Hee Lee wrote: > The test_kexec_jump program builds correctly when invoked from the top-level > selftests/Makefile, which explicitly sets the OUTPUT variable. However, > building directly in tools/testing/selftests/kexec fails with: > > make: *** No rule to make target '/test_kexec_jump', needed by > 'test_kexec_jump.sh'. Stop.
I can reproduce this, and this patch fixes it. Thanks. Acked-by: Baoquan He <b...@redhat.com> > > This failure occurs because the Makefile rule relies on $(OUTPUT), which is > undefined in direct builds. > > Fix this by listing test_kexec_jump in TEST_GEN_PROGS, the standard way to > declare generated test binaries in the kselftest framework. This ensures the > binary is built regardless of invocation context and properly removed by > make clean. > > Acked-by: Shuah Khan <sk...@linuxfoundation.org> > Signed-off-by: Moon Hee Lee <moonhee.lee...@gmail.com> > --- > Changes in v2: > - Dropped the .gitignore addition, as it is already handled in [1] > > [1] https://lore.kernel.org/r/20250623232549.3263273-1-dyuda...@gmail.com > > > tools/testing/selftests/kexec/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/kexec/Makefile > b/tools/testing/selftests/kexec/Makefile > index e3000ccb9a5d..874cfdd3b75b 100644 > --- a/tools/testing/selftests/kexec/Makefile > +++ b/tools/testing/selftests/kexec/Makefile > @@ -12,7 +12,7 @@ include ../../../scripts/Makefile.arch > > ifeq ($(IS_64_BIT)$(ARCH_PROCESSED),1x86) > TEST_PROGS += test_kexec_jump.sh > -test_kexec_jump.sh: $(OUTPUT)/test_kexec_jump > +TEST_GEN_PROGS := test_kexec_jump > endif > > include ../lib.mk > -- > 2.43.0 > >