]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Makefile: add comment to discourage tools/* addition for kernel builds
authorMasahiro Yamada <masahiroy@kernel.org>
Wed, 17 Jul 2024 18:28:19 +0000 (03:28 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 20 Jul 2024 07:33:45 +0000 (16:33 +0900)
Kbuild provides scripts/Makefile.host to build host programs used for
building the kernel. Unfortunately, there are two exceptions that opt
out of Kbuild. The build system under tools/ is a cheesy replica, and
cause issues. I was recently poked about a problem in the tools build
system, which I do not maintain (and nobody maintains). [1]

Without a comment, people might believe this is the right location
because that is where objtool lives, even if a more robust Kbuild
syntax satisfies their needs. [2]

[1]: https://lore.kernel.org/linux-kbuild/ZnIYWBgrJ-IJtqK8@google.com/T/#m8ece130dd0e23c6f2395ed89070161948dee8457
[2]: https://lore.kernel.org/all/20240618200501.GA1611012@google.com/

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Nicolas Schier <nicolas@fjasle.eu>
Reviewed-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
Makefile

index 7372ea45ed3fca40187481d265cb12d6416288fa..c97d6404b891504cbbd70e35c167e7ed13a2a748 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1328,6 +1328,12 @@ prepare: tools/bpf/resolve_btfids
 endif
 endif
 
+# The tools build system is not a part of Kbuild and tends to introduce
+# its own unique issues. If you need to integrate a new tool into Kbuild,
+# please consider locating that tool outside the tools/ tree and using the
+# standard Kbuild "hostprogs" syntax instead of adding a new tools/* entry
+# here. See Documentation/kbuild/makefiles.rst for details.
+
 PHONY += resolve_btfids_clean
 
 resolve_btfids_O = $(abspath $(objtree))/tools/bpf/resolve_btfids