From fe8de462eb7edaccae54c31766dc5a2ffd254ab9 Mon Sep 17 00:00:00 2001 From: Ben Cressey Date: Mon, 19 Apr 2021 18:46:04 +0000 Subject: [PATCH] Makefile: add prepare target for external modules We need to ensure that native versions of programs like `objtool` are built before trying to build out-of-tree modules, or else the build will fail. Unlike other distributions, we cannot include these programs in our kernel-devel archive, because we rely on cross-compilation: these are "host" programs and may not match the architecture of the target. Ideally, out-of-tree builds would run `make prepare` first, so that these programs could be compiled in the normal fashion. We ship all the files needed for this to work. However, this requirement is specific to our use case, and DKMS does not support it. Adding a minimal prepare target to the dependency graph causes the programs to be built automatically and improves compatibility with existing solutions. Signed-off-by: Ben Cressey Signed-off-by: Arnaldo Garcia Rincon --- Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Makefile b/Makefile index 86b6ca862e39..fbe9b66f4f27 100644 --- a/Makefile +++ b/Makefile @@ -1766,6 +1766,15 @@ else # KBUILD_EXTMOD KBUILD_BUILTIN := KBUILD_MODULES := 1 +PHONY += modules_prepare +modules_prepare: tools/objtool + $(Q)$(MAKE) $(build)=scripts/basic + $(Q)$(MAKE) $(build)=scripts/dtc + $(Q)$(MAKE) $(build)=scripts/mod + $(Q)$(MAKE) $(build)=scripts + +prepare: modules_prepare + build-dirs := $(KBUILD_EXTMOD) $(MODORDER): descend @: -- 2.37.2