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

tools/resolve_btfids: Build libbpf and libsubcmd in separate directories

Setting up separate build directories for libbpf and libpsubcmd,
so it's separated from other objects and we don't get them mixed
in the future.

It also simplifies cleaning, which is now simple rm -rf.

Also there's no need for FEATURE-DUMP.libbpf and bpf_helper_defs.h
files in .gitignore anymore.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Song Liu <songliubraving@fb.com>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210205124020.683286-2-jolsa@kernel.org

authored by

Jiri Olsa and committed by
Andrii Nakryiko
fc6b48f6 0a1b0fd9

+11 -17
-2
tools/bpf/resolve_btfids/.gitignore
··· 1 - /FEATURE-DUMP.libbpf 2 - /bpf_helper_defs.h 3 1 /fixdep 4 2 /resolve_btfids
+11 -15
tools/bpf/resolve_btfids/Makefile
··· 28 28 LIBBPF_SRC := $(srctree)/tools/lib/bpf/ 29 29 SUBCMD_SRC := $(srctree)/tools/lib/subcmd/ 30 30 31 - BPFOBJ := $(OUTPUT)/libbpf.a 32 - SUBCMDOBJ := $(OUTPUT)/libsubcmd.a 31 + BPFOBJ := $(OUTPUT)/libbpf/libbpf.a 32 + SUBCMDOBJ := $(OUTPUT)/libsubcmd/libsubcmd.a 33 33 34 34 BINARY := $(OUTPUT)/resolve_btfids 35 35 BINARY_IN := $(BINARY)-in.o 36 36 37 37 all: $(BINARY) 38 38 39 - $(OUTPUT): 39 + $(OUTPUT) $(OUTPUT)/libbpf $(OUTPUT)/libsubcmd: 40 40 $(call msg,MKDIR,,$@) 41 - $(Q)mkdir -p $(OUTPUT) 41 + $(Q)mkdir -p $(@) 42 42 43 - $(SUBCMDOBJ): fixdep FORCE 44 - $(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(OUTPUT) 43 + $(SUBCMDOBJ): fixdep FORCE | $(OUTPUT)/libsubcmd 44 + $(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(abspath $(dir $@))/ $(abspath $@) 45 45 46 - $(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT) 46 + $(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT)/libbpf 47 47 $(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) OUTPUT=$(abspath $(dir $@))/ $(abspath $@) 48 48 49 49 CFLAGS := -g \ ··· 57 57 export srctree OUTPUT CFLAGS Q 58 58 include $(srctree)/tools/build/Makefile.include 59 59 60 - $(BINARY_IN): fixdep FORCE 60 + $(BINARY_IN): fixdep FORCE | $(OUTPUT) 61 61 $(Q)$(MAKE) $(build)=resolve_btfids 62 62 63 63 $(BINARY): $(BPFOBJ) $(SUBCMDOBJ) $(BINARY_IN) 64 64 $(call msg,LINK,$@) 65 65 $(Q)$(CC) $(BINARY_IN) $(LDFLAGS) -o $@ $(BPFOBJ) $(SUBCMDOBJ) $(LIBS) 66 66 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 72 - 73 - clean: libsubcmd-clean libbpf-clean fixdep-clean 67 + clean: fixdep-clean 74 68 $(call msg,CLEAN,$(BINARY)) 75 69 $(Q)$(RM) -f $(BINARY); \ 76 70 $(RM) -rf $(if $(OUTPUT),$(OUTPUT),.)/feature; \ 71 + $(RM) -rf $(OUTPUT)/libbpf; \ 72 + $(RM) -rf $(OUTPUT)/libsubcmd; \ 77 73 find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM) 78 74 79 75 tags: