Re: [PATCH] tools/sched_ext: Fix errors when running make mrproper
From: Andrea Righi
Date: Mon May 05 2025 - 03:22:50 EST
Hi Bing,
On Wed, Apr 30, 2025 at 10:48:33AM +0800, Bing Huang wrote:
> If the system environment used to compile the kernel code does not
> have the BTF feature enabled, running make mrproper will result in
> errors similar to the following:
>
> Makefile:84: *** Cannot find a vmlinux for VMLINUX_BTF at any of " ../../vmlinux /sys/kernel/btf/vmlinux /boot/vmlinux-4.4.131-20190505.kylin.server-generic". Stop.
> make[2]: *** [Makefile:192: sched_ext_clean] Error 2
> make[1]: *** [/home/huangbing/klinux/Makefile:1374: sched_ext] Error 2
> make: *** [Makefile:236: __sub-make] Error 2
>
> Signed-off-by: Bing Huang <huangbing@xxxxxxxxxx>
> ---
> tools/sched_ext/Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/sched_ext/Makefile b/tools/sched_ext/Makefile
> index ca3815e572d8..5329cae284c6 100644
> --- a/tools/sched_ext/Makefile
> +++ b/tools/sched_ext/Makefile
> @@ -79,9 +79,11 @@ VMLINUX_BTF_PATHS ?= $(if $(O),$(O)/vmlinux) \
> /sys/kernel/btf/vmlinux \
> /boot/vmlinux-$(shell uname -r)
> VMLINUX_BTF ?= $(abspath $(firstword $(wildcard $(VMLINUX_BTF_PATHS))))
> +ifeq ($(findstring $(MAKECMDGOALS),clean),)
Looks good, just a minor nit, can we do something like this instead?
ifneq ($(sort $(MAKECMDGOALS)),clean)
Since we only support "clean", we can simply check if "clean" is the only
target specified.
This also handles odd cases like `make clean clean`, where we still skip
the check as expected. WDYT?
Thanks,
-Andrea
> ifeq ($(VMLINUX_BTF),)
> $(error Cannot find a vmlinux for VMLINUX_BTF at any of "$(VMLINUX_BTF_PATHS)")
> endif
> +endif
>
> BPFTOOL ?= $(DEFAULT_BPFTOOL)
>
> --
> 2.25.1
>