summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2024-07-18 03:28:19 +0900
committerMasahiro Yamada <masahiroy@kernel.org>2024-07-20 16:33:45 +0900
commit6e6ef2da3a28f3e02fd204b4f8821030b61f8cd4 (patch)
treebfd2b21c506c4ffedb2a5d35b08869917a9a3c37 /Makefile
parent44ad2814ca58fc43ab473d8fbb3b46a2b39a0392 (diff)
downloadlwn-6e6ef2da3a28f3e02fd204b4f8821030b61f8cd4.tar.gz
lwn-6e6ef2da3a28f3e02fd204b4f8821030b61f8cd4.zip
Makefile: add comment to discourage tools/* addition for kernel builds
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>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile6
1 files changed, 6 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 7372ea45ed3f..c97d6404b891 100644
--- 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