mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 06:39:05 +00:00

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. 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. Link: https://lore.kernel.org/r/20250702171704.22559-2-moonhee.lee.ca@gmail.com Acked-by: Shuah Khan <skhan@linuxfoundation.org> Signed-off-by: Moon Hee Lee <moonhee.lee.ca@gmail.com> Acked-by: Baoquan He <bhe@redhat.com> Acked-by: David Woodhouse <dwmw@amazon.co.uk> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
21 lines
535 B
Makefile
21 lines
535 B
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
# Makefile for kexec tests
|
|
|
|
ARCH ?= $(shell uname -m 2>/dev/null || echo not)
|
|
ARCH_PROCESSED := $(shell echo $(ARCH) | sed -e s/i.86/x86/ -e s/x86_64/x86/)
|
|
|
|
ifeq ($(ARCH_PROCESSED),$(filter $(ARCH_PROCESSED),x86 ppc64le))
|
|
TEST_PROGS := test_kexec_load.sh test_kexec_file_load.sh
|
|
TEST_FILES := kexec_common_lib.sh
|
|
|
|
include ../../../scripts/Makefile.arch
|
|
|
|
ifeq ($(IS_64_BIT)$(ARCH_PROCESSED),1x86)
|
|
TEST_PROGS += test_kexec_jump.sh
|
|
TEST_GEN_PROGS := test_kexec_jump
|
|
endif
|
|
|
|
include ../lib.mk
|
|
|
|
endif
|