• Shuah Khan's avatar
    selftests: Fix test errors related to lib.mk khdr target · a05257f9
    Shuah Khan authored
    commit 211929fd upstream.
    
    Commit b2d35fa5 ("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: b2d35fa5 ("selftests: add headers_install to lib.mk")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarShuah Khan <shuah@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    a05257f9
Name
Last commit
Last update
..
accounting Loading commit data...
arch Loading commit data...
bpf Loading commit data...
build Loading commit data...
cgroup Loading commit data...
crypto Loading commit data...
firewire Loading commit data...
gpio Loading commit data...
hv Loading commit data...
iio Loading commit data...
include Loading commit data...
kvm/kvm_stat Loading commit data...
laptop Loading commit data...
leds Loading commit data...
lib Loading commit data...
memory-model Loading commit data...
nfsd Loading commit data...
objtool Loading commit data...
pci Loading commit data...
pcmcia Loading commit data...
perf Loading commit data...
power Loading commit data...
scripts Loading commit data...
spi Loading commit data...
testing Loading commit data...
thermal/tmon Loading commit data...
time Loading commit data...
usb Loading commit data...
virtio Loading commit data...
vm Loading commit data...
wmi Loading commit data...
Makefile Loading commit data...