diff options
author | Masahiro Yamada <masahiroy@kernel.org> | 2023-06-27 01:30:12 +0200 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2023-06-27 18:34:16 +0200 |
commit | 5fa94ceb793e93870541dc5a1235aec87b0871bc (patch) | |
tree | 1d3c3bb63ceac871a154440a0f657c3f2b51f5b4 /Makefile | |
parent | scripts/mksysmap: Ignore prefixed KCFI symbols (diff) | |
download | linux-5fa94ceb793e93870541dc5a1235aec87b0871bc.tar.xz linux-5fa94ceb793e93870541dc5a1235aec87b0871bc.zip |
kbuild: set correct abs_srctree and abs_objtree for package builds
When you run 'make rpm-pkg', the rpmbuild tool builds the kernel in
rpmbuild/BUILD, but $(abs_srctree) and $(abs_objtree) point to the
directory path where make was started, not the kernel is actually
being built. The same applies to 'make snap-pkg'. Fix it.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 10 |
1 files changed, 4 insertions, 6 deletions
@@ -38,6 +38,10 @@ __all: # descending is started. They are now explicitly listed as the # prepare rule. +this-makefile := $(lastword $(MAKEFILE_LIST)) +export abs_srctree := $(realpath $(dir $(this-makefile))) +export abs_objtree := $(CURDIR) + ifneq ($(sub_make_done),1) # Do not use make's built-in rules and variables @@ -185,8 +189,6 @@ $(if $(abs_objtree),, \ # $(realpath ...) resolves symlinks abs_objtree := $(realpath $(abs_objtree)) -else -abs_objtree := $(CURDIR) endif # ifneq ($(KBUILD_OUTPUT),) ifeq ($(abs_objtree),$(CURDIR)) @@ -196,9 +198,6 @@ else need-sub-make := 1 endif -this-makefile := $(lastword $(MAKEFILE_LIST)) -abs_srctree := $(realpath $(dir $(this-makefile))) - ifneq ($(words $(subst :, ,$(abs_srctree))), 1) $(error source directory cannot contain spaces or colons) endif @@ -211,7 +210,6 @@ need-sub-make := 1 $(this-makefile): ; endif -export abs_srctree abs_objtree export sub_make_done := 1 ifeq ($(need-sub-make),1) |