]> xenbits.xensource.com Git - people/aperard/linux.git/commitdiff
kbuild: unexport abs_srctree and abs_objtree
authorMasahiro Yamada <masahiroy@kernel.org>
Wed, 6 Mar 2024 10:42:22 +0000 (19:42 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sun, 10 Mar 2024 08:27:17 +0000 (17:27 +0900)
Commit 25b146c5b8ce ("kbuild: allow Kbuild to start from any directory")
exported abs_srctree and abs_objtree to avoid recomputation after the
sub-make. However, this approach turned out to be fragile.

Commit 5fa94ceb793e ("kbuild: set correct abs_srctree and abs_objtree
for package builds") moved them above "ifneq ($(sub_make_done),1)",
eliminating the need for exporting them.

These are only needed in the top Makefile. If an absolute path is
required in sub-directories, you can use $(abspath ) or $(realpath )
as needed.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Makefile
rust/Makefile
scripts/Makefile.package
tools/lib/bpf/Makefile

index 859b0f52949e91471da96e11b329a59c5cd70425..104e62560eed78c26af73dce6fc14b2ffb62ffc4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -39,8 +39,8 @@ __all:
 # prepare rule.
 
 this-makefile := $(lastword $(MAKEFILE_LIST))
-export abs_srctree := $(realpath $(dir $(this-makefile)))
-export abs_objtree := $(CURDIR)
+abs_srctree := $(realpath $(dir $(this-makefile)))
+abs_objtree := $(CURDIR)
 
 ifneq ($(sub_make_done),1)
 
index 9d2a16cc91cb44f8f8836b3e45f4ad30c13b9c22..ae691b71d9fc645cae3c6476a60af221d34c8364 100644 (file)
@@ -100,7 +100,7 @@ rustdoc: rustdoc-core rustdoc-macros rustdoc-compiler_builtins \
                -e 's:rust-logo-[0-9a-f]+\.svg:logo.svg:g' \
                -e 's:favicon-[0-9a-f]+\.svg:logo.svg:g' \
                -e 's:<link rel="alternate icon" type="image/png" href="[/.]+/static\.files/favicon-(16x16|32x32)-[0-9a-f]+\.png">::g' \
-               -e 's:<a href="srctree/([^"]+)">:<a href="$(abs_srctree)/\1">:g'
+               -e 's:<a href="srctree/([^"]+)">:<a href="$(realpath $(srctree))/\1">:g'
        $(Q)for f in $(rustdoc_output)/static.files/rustdoc-*.css; do \
                echo ".logo-container > img { object-fit: contain; }" >> $$f; done
 
@@ -413,7 +413,7 @@ quiet_cmd_rustc_library = $(if $(skip_clippy),RUSTC,$(RUSTC_OR_CLIPPY_QUIET)) L
 rust-analyzer:
        $(Q)$(srctree)/scripts/generate_rust_analyzer.py \
                --cfgs='core=$(core-cfgs)' --cfgs='alloc=$(alloc-cfgs)' \
-               $(abs_srctree) $(abs_objtree) \
+               $(realpath $(srctree)) $(realpath $(objtree)) \
                $(RUST_LIB_SRC) $(KBUILD_EXTMOD) > \
                $(if $(KBUILD_EXTMOD),$(extmod_prefix),$(objtree))/rust-project.json
 
index a81dfb1f518106e50d8ebdb2014be1fcb028bba5..38653f3e81088906177b72f22994e57a6cd98068 100644 (file)
@@ -135,7 +135,7 @@ snap-pkg:
        mkdir $(objtree)/snap
        $(MAKE) clean
        sed "s@KERNELRELEASE@$(KERNELRELEASE)@; \
-               s@SRCTREE@$(abs_srctree)@" \
+               s@SRCTREE@$(realpath $(srctree))@" \
                $(srctree)/scripts/package/snapcraft.template > \
                $(objtree)/snap/snapcraft.yaml
        cd $(objtree)/snap && \
index 4be7144e4803ddf1b8bfd6d85e85af68407c1a51..2cf892774346ceb962e4b01ebce07f617694da35 100644 (file)
@@ -2,7 +2,7 @@
 # Most of this file is copied from tools/lib/traceevent/Makefile
 
 RM ?= rm
-srctree = $(abs_srctree)
+srctree := $(realpath $(srctree))
 
 VERSION_SCRIPT := libbpf.map
 LIBBPF_VERSION := $(shell \