mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
211929fd3f
Commitb2d35fa5fc
("selftests: add headers_install to lib.mk") added khdr target to run headers_install target from the main Makefile. The logic uses KSFT_KHDR_INSTALL and top_srcdir as controls to initialize variables and include files to run headers_install from the top level Makefile. There are a few problems with this logic. 1. Exposes top_srcdir to all tests 2. Common logic impacts all tests 3. Uses KSFT_KHDR_INSTALL, top_srcdir, and khdr in an adhoc way. Tests add "khdr" dependency in their Makefiles to TEST_PROGS_EXTENDED in some cases, and STATIC_LIBS in other cases. This makes this framework confusing to use. The common logic that runs for all tests even when KSFT_KHDR_INSTALL isn't defined by the test. top_srcdir is initialized to a default value when test doesn't initialize it. It works for all tests without a sub-dir structure and tests with sub-dir structure fail to build. e.g: make -C sparc64/drivers/ or make -C drivers/dma-buf ../../lib.mk:20: ../../../../scripts/subarch.include: No such file or directory make: *** No rule to make target '../../../../scripts/subarch.include'. Stop. There is no reason to require all tests to define top_srcdir and there is no need to require tests to add khdr dependency using adhoc changes to TEST_* and other variables. Fix it with a consistent use of KSFT_KHDR_INSTALL and top_srcdir from tests that have the dependency on headers_install. Change common logic to include khdr target define and "all" target with dependency on khdr when KSFT_KHDR_INSTALL is defined. Only tests that have dependency on headers_install have to define just the KSFT_KHDR_INSTALL, and top_srcdir variables and there is no need to specify khdr dependency in the test Makefiles. Fixes:b2d35fa5fc
("selftests: add headers_install to lib.mk") Cc: stable@vger.kernel.org Signed-off-by: Shuah Khan <shuah@kernel.org>
26 lines
606 B
Makefile
26 lines
606 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
INCLUDES := -I../include -I../../
|
|
CFLAGS := $(CFLAGS) -g -O2 -Wall -D_GNU_SOURCE -pthread $(INCLUDES)
|
|
LDFLAGS := $(LDFLAGS) -pthread -lrt
|
|
|
|
HEADERS := \
|
|
../include/futextest.h \
|
|
../include/atomic.h \
|
|
../include/logging.h
|
|
TEST_GEN_FILES := \
|
|
futex_wait_timeout \
|
|
futex_wait_wouldblock \
|
|
futex_requeue_pi \
|
|
futex_requeue_pi_signal_restart \
|
|
futex_requeue_pi_mismatched_ops \
|
|
futex_wait_uninitialized_heap \
|
|
futex_wait_private_mapped_file
|
|
|
|
TEST_PROGS := run.sh
|
|
|
|
top_srcdir = ../../../../..
|
|
KSFT_KHDR_INSTALL := 1
|
|
include ../../lib.mk
|
|
|
|
$(TEST_GEN_FILES): $(HEADERS)
|