Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'fixes for bpftool's Makefile'

Quentin Monnet says:

====================

This set contains one fix for bpftool's Makefile, to make sure that the
headers internal to libbpf are installed properly even if we add more
headers to the relevant Makefile variable in the future (although we'd like
to avoid that if possible).

The other patches aim at cleaning up the output from the Makefile, in
particular when running the command "make" another time after bpftool is
built.
====================

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>

+14 -14
+14 -14
tools/bpf/bpftool/Makefile
··· 14 14 Q = @ 15 15 endif 16 16 17 - BPF_DIR = $(srctree)/tools/lib/bpf/ 17 + BPF_DIR = $(srctree)/tools/lib/bpf 18 18 19 19 ifneq ($(OUTPUT),) 20 20 _OUTPUT := $(OUTPUT) ··· 25 25 LIBBPF_OUTPUT := $(_OUTPUT)/libbpf/ 26 26 LIBBPF_DESTDIR := $(LIBBPF_OUTPUT) 27 27 LIBBPF_INCLUDE := $(LIBBPF_DESTDIR)/include 28 + LIBBPF_HDRS_DIR := $(LIBBPF_INCLUDE)/bpf 28 29 29 30 LIBBPF = $(LIBBPF_OUTPUT)libbpf.a 30 31 LIBBPF_BOOTSTRAP_OUTPUT = $(BOOTSTRAP_OUTPUT)libbpf/ ··· 33 32 34 33 # We need to copy nlattr.h which is not otherwise exported by libbpf, but still 35 34 # required by bpftool. 36 - LIBBPF_INTERNAL_HDRS := nlattr.h 35 + LIBBPF_INTERNAL_HDRS := $(addprefix $(LIBBPF_HDRS_DIR)/,nlattr.h) 37 36 38 37 ifeq ($(BPFTOOL_VERSION),) 39 38 BPFTOOL_VERSION := $(shell make -rR --no-print-directory -sC ../../.. kernelversion) ··· 42 41 $(LIBBPF_OUTPUT) $(BOOTSTRAP_OUTPUT) $(LIBBPF_BOOTSTRAP_OUTPUT): 43 42 $(QUIET_MKDIR)mkdir -p $@ 44 43 45 - $(LIBBPF): FORCE | $(LIBBPF_OUTPUT) 44 + $(LIBBPF): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_OUTPUT) 46 45 $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_OUTPUT) \ 47 46 DESTDIR=$(LIBBPF_DESTDIR) prefix= $(LIBBPF) install_headers 48 47 49 - $(LIBBPF_INCLUDE)/bpf/$(LIBBPF_INTERNAL_HDRS): \ 50 - $(addprefix $(BPF_DIR),$(LIBBPF_INTERNAL_HDRS)) $(LIBBPF) 51 - $(call QUIET_INSTALL, bpf/$(notdir $@)) 52 - $(Q)install -m 644 -t $(LIBBPF_INCLUDE)/bpf/ $(BPF_DIR)$(notdir $@) 48 + $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.h: $(BPF_DIR)/%.h $(LIBBPF) 49 + $(call QUIET_INSTALL, $@) 50 + $(Q)install -m 644 -t $(LIBBPF_HDRS_DIR) $< 53 51 54 - $(LIBBPF_BOOTSTRAP): FORCE | $(LIBBPF_BOOTSTRAP_OUTPUT) 52 + $(LIBBPF_BOOTSTRAP): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_BOOTSTRAP_OUTPUT) 55 53 $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_BOOTSTRAP_OUTPUT) \ 56 54 ARCH= CC=$(HOSTCC) LD=$(HOSTLD) $@ 57 55 ··· 150 150 $(BOOTSTRAP_OBJS): $(LIBBPF_BOOTSTRAP) 151 151 152 152 OBJS = $(patsubst %.c,$(OUTPUT)%.o,$(SRCS)) $(OUTPUT)disasm.o 153 - $(OBJS): $(LIBBPF) $(LIBBPF_INCLUDE)/bpf/$(LIBBPF_INTERNAL_HDRS) 153 + $(OBJS): $(LIBBPF) $(LIBBPF_INTERNAL_HDRS) 154 154 155 155 VMLINUX_BTF_PATHS ?= $(if $(O),$(O)/vmlinux) \ 156 156 $(if $(KBUILD_OUTPUT),$(KBUILD_OUTPUT)/vmlinux) \ ··· 198 198 $(OUTPUT)disasm.o: $(srctree)/kernel/bpf/disasm.c 199 199 $(QUIET_CC)$(CC) $(CFLAGS) -c -MMD -o $@ $< 200 200 201 - $(OUTPUT)feature.o: | zdep 201 + $(OUTPUT)feature.o: 202 + ifneq ($(feature-zlib), 1) 203 + $(error "No zlib found") 204 + endif 202 205 203 206 $(BPFTOOL_BOOTSTRAP): $(BOOTSTRAP_OBJS) $(LIBBPF_BOOTSTRAP) 204 207 $(QUIET_LINK)$(HOSTCC) $(CFLAGS) $(LDFLAGS) -o $@ $(BOOTSTRAP_OBJS) \ ··· 257 254 258 255 FORCE: 259 256 260 - zdep: 261 - @if [ "$(feature-zlib)" != "1" ]; then echo "No zlib found"; exit 1 ; fi 262 - 263 257 .SECONDARY: 264 - .PHONY: all FORCE clean install-bin install uninstall zdep 258 + .PHONY: all FORCE clean install-bin install uninstall 265 259 .PHONY: doc doc-clean doc-install doc-uninstall 266 260 .DEFAULT_GOAL := all