Skip to content

Commit ee5cc03

Browse files
committed
Merge branch 'kbuild/resolve_btfids: Invoke resolve_btfids'
Jiri Olsa says: ==================== hi, resolve_btfids tool is used during the kernel build, so we should clean it on kernel's make clean. v2 changes: - add Song's acks on patches 1 and 4 (others changed) [Song] - add missing / [Andrii] - change srctree variable initialization [Andrii] - shifted ifdef for clean target [Andrii] thanks, jirka ==================== Signed-off-by: Andrii Nakryiko <[email protected]>
2 parents 0a1b0fd + 50d3a3f commit ee5cc03

File tree

3 files changed

+28
-25
lines changed

3 files changed

+28
-25
lines changed

Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1086,6 +1086,11 @@ ifdef CONFIG_STACK_VALIDATION
10861086
endif
10871087
endif
10881088

1089+
PHONY += resolve_btfids_clean
1090+
1091+
resolve_btfids_clean:
1092+
$(Q)$(MAKE) -sC $(srctree)/tools/bpf/resolve_btfids O=$(abspath $(objtree))/tools/bpf/resolve_btfids clean
1093+
10891094
ifdef CONFIG_BPF
10901095
ifdef CONFIG_DEBUG_INFO_BTF
10911096
ifeq ($(has_libelf),1)
@@ -1495,7 +1500,7 @@ vmlinuxclean:
14951500
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean
14961501
$(Q)$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) clean)
14971502

1498-
clean: archclean vmlinuxclean
1503+
clean: archclean vmlinuxclean resolve_btfids_clean
14991504

15001505
# mrproper - Delete all generated files, including .config
15011506
#

tools/bpf/resolve_btfids/.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
/FEATURE-DUMP.libbpf
2-
/bpf_helper_defs.h
31
/fixdep
42
/resolve_btfids

tools/bpf/resolve_btfids/Makefile

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22
include ../../scripts/Makefile.include
33
include ../../scripts/Makefile.arch
44

5-
ifeq ($(srctree),)
6-
srctree := $(patsubst %/,%,$(dir $(CURDIR)))
7-
srctree := $(patsubst %/,%,$(dir $(srctree)))
8-
srctree := $(patsubst %/,%,$(dir $(srctree)))
9-
endif
5+
srctree := $(abspath $(CURDIR)/../../../)
106

117
ifeq ($(V),1)
128
Q =
@@ -22,28 +18,29 @@ AR = $(HOSTAR)
2218
CC = $(HOSTCC)
2319
LD = $(HOSTLD)
2420
ARCH = $(HOSTARCH)
21+
RM ?= rm
2522

2623
OUTPUT ?= $(srctree)/tools/bpf/resolve_btfids/
2724

2825
LIBBPF_SRC := $(srctree)/tools/lib/bpf/
2926
SUBCMD_SRC := $(srctree)/tools/lib/subcmd/
3027

31-
BPFOBJ := $(OUTPUT)/libbpf.a
32-
SUBCMDOBJ := $(OUTPUT)/libsubcmd.a
28+
BPFOBJ := $(OUTPUT)/libbpf/libbpf.a
29+
SUBCMDOBJ := $(OUTPUT)/libsubcmd/libsubcmd.a
3330

3431
BINARY := $(OUTPUT)/resolve_btfids
3532
BINARY_IN := $(BINARY)-in.o
3633

3734
all: $(BINARY)
3835

39-
$(OUTPUT):
36+
$(OUTPUT) $(OUTPUT)/libbpf $(OUTPUT)/libsubcmd:
4037
$(call msg,MKDIR,,$@)
41-
$(Q)mkdir -p $(OUTPUT)
38+
$(Q)mkdir -p $(@)
4239

43-
$(SUBCMDOBJ): fixdep FORCE
44-
$(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(OUTPUT)
40+
$(SUBCMDOBJ): fixdep FORCE | $(OUTPUT)/libsubcmd
41+
$(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(abspath $(dir $@))/ $(abspath $@)
4542

46-
$(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT)
43+
$(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT)/libbpf
4744
$(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) OUTPUT=$(abspath $(dir $@))/ $(abspath $@)
4845

4946
CFLAGS := -g \
@@ -57,24 +54,27 @@ LIBS = -lelf -lz
5754
export srctree OUTPUT CFLAGS Q
5855
include $(srctree)/tools/build/Makefile.include
5956

60-
$(BINARY_IN): fixdep FORCE
57+
$(BINARY_IN): fixdep FORCE | $(OUTPUT)
6158
$(Q)$(MAKE) $(build)=resolve_btfids
6259

6360
$(BINARY): $(BPFOBJ) $(SUBCMDOBJ) $(BINARY_IN)
6461
$(call msg,LINK,$@)
6562
$(Q)$(CC) $(BINARY_IN) $(LDFLAGS) -o $@ $(BPFOBJ) $(SUBCMDOBJ) $(LIBS)
6663

67-
libsubcmd-clean:
68-
$(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(OUTPUT) clean
69-
70-
libbpf-clean:
71-
$(Q)$(MAKE) -C $(LIBBPF_SRC) OUTPUT=$(OUTPUT) clean
64+
clean_objects := $(wildcard $(OUTPUT)/*.o \
65+
$(OUTPUT)/.*.o.cmd \
66+
$(OUTPUT)/.*.o.d \
67+
$(OUTPUT)/libbpf \
68+
$(OUTPUT)/libsubcmd \
69+
$(OUTPUT)/resolve_btfids)
7270

73-
clean: libsubcmd-clean libbpf-clean fixdep-clean
71+
ifneq ($(clean_objects),)
72+
clean: fixdep-clean
7473
$(call msg,CLEAN,$(BINARY))
75-
$(Q)$(RM) -f $(BINARY); \
76-
$(RM) -rf $(if $(OUTPUT),$(OUTPUT),.)/feature; \
77-
find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM)
74+
$(Q)$(RM) -rf $(clean_objects)
75+
else
76+
clean:
77+
endif
7878

7979
tags:
8080
$(call msg,GEN,,tags)

0 commit comments

Comments
 (0)