• Shuah Khan's avatar
    selftests: fix headers_install circular dependency · 8ce72dc3
    Shuah Khan authored
    "make kselftest" fails with "Circular Makefile.o <- prepare dependency
    dropped." error, when lib.mk invokes "make headers_install".
    
    Make level 0: Main make calls selftests run_tests target
    ...
    Make level n: selftests lib.mk invokes main make's headers_install
    
    The secondary level make inherits builtin-rules which will use the rule
    to generate Makefile.o  and runs into "Circular Makefile.o <- prepare
    dependency dropped." error, and kselftest compile fails.
    
    Invoke headers_install target with --no-builtin-rules to avoid circular
    error.
    
    In addition, lib.mk installs headers in the default HDR_PATH, even when
    build relocation is requested with O= or export KBUILD_OUTPUT. Fix the
    problem by passing in INSTALL_HDR_PATH. The headers are installed under
    the specified output "dir/usr".
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    8ce72dc3
lib.mk 6.51 KB