Message ID | 20210205124020.683286-1-jolsa@kernel.org |
---|---|
Headers | show |
Series | kbuild/resolve_btfids: Invoke resolve_btfids clean in root Makefile | expand |
On Fri, Feb 5, 2021 at 4:46 AM Jiri Olsa <jolsa@kernel.org> wrote: > > 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. > > Acked-by: Song Liu <songliubraving@fb.com> > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > --- Acked-by: Andrii Nakryiko <andrii@kernel.org> > tools/bpf/resolve_btfids/.gitignore | 2 -- > tools/bpf/resolve_btfids/Makefile | 26 +++++++++++--------------- > 2 files changed, 11 insertions(+), 17 deletions(-) > > diff --git a/tools/bpf/resolve_btfids/.gitignore b/tools/bpf/resolve_btfids/.gitignore > index a026df7dc280..25f308c933cc 100644 > --- a/tools/bpf/resolve_btfids/.gitignore > +++ b/tools/bpf/resolve_btfids/.gitignore > @@ -1,4 +1,2 @@ > -/FEATURE-DUMP.libbpf > -/bpf_helper_defs.h > /fixdep > /resolve_btfids > diff --git a/tools/bpf/resolve_btfids/Makefile b/tools/bpf/resolve_btfids/Makefile > index bf656432ad73..1d46a247ec95 100644 > --- a/tools/bpf/resolve_btfids/Makefile > +++ b/tools/bpf/resolve_btfids/Makefile > @@ -28,22 +28,22 @@ OUTPUT ?= $(srctree)/tools/bpf/resolve_btfids/ > LIBBPF_SRC := $(srctree)/tools/lib/bpf/ > SUBCMD_SRC := $(srctree)/tools/lib/subcmd/ > > -BPFOBJ := $(OUTPUT)/libbpf.a > -SUBCMDOBJ := $(OUTPUT)/libsubcmd.a > +BPFOBJ := $(OUTPUT)/libbpf/libbpf.a > +SUBCMDOBJ := $(OUTPUT)/libsubcmd/libsubcmd.a > > BINARY := $(OUTPUT)/resolve_btfids > BINARY_IN := $(BINARY)-in.o > > all: $(BINARY) > > -$(OUTPUT): > +$(OUTPUT) $(OUTPUT)/libbpf $(OUTPUT)/libsubcmd: > $(call msg,MKDIR,,$@) > - $(Q)mkdir -p $(OUTPUT) > + $(Q)mkdir -p $(@) > > -$(SUBCMDOBJ): fixdep FORCE > - $(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(OUTPUT) > +$(SUBCMDOBJ): fixdep FORCE | $(OUTPUT)/libsubcmd > + $(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(abspath $(dir $@))/ $(abspath $@) > > -$(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT) > +$(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT)/libbpf > $(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) OUTPUT=$(abspath $(dir $@))/ $(abspath $@) > > CFLAGS := -g \ > @@ -57,23 +57,19 @@ LIBS = -lelf -lz > export srctree OUTPUT CFLAGS Q > include $(srctree)/tools/build/Makefile.include > > -$(BINARY_IN): fixdep FORCE > +$(BINARY_IN): fixdep FORCE | $(OUTPUT) > $(Q)$(MAKE) $(build)=resolve_btfids > > $(BINARY): $(BPFOBJ) $(SUBCMDOBJ) $(BINARY_IN) > $(call msg,LINK,$@) > $(Q)$(CC) $(BINARY_IN) $(LDFLAGS) -o $@ $(BPFOBJ) $(SUBCMDOBJ) $(LIBS) > > -libsubcmd-clean: > - $(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(OUTPUT) clean > - > -libbpf-clean: > - $(Q)$(MAKE) -C $(LIBBPF_SRC) OUTPUT=$(OUTPUT) clean > - > -clean: libsubcmd-clean libbpf-clean fixdep-clean > +clean: fixdep-clean > $(call msg,CLEAN,$(BINARY)) > $(Q)$(RM) -f $(BINARY); \ > $(RM) -rf $(if $(OUTPUT),$(OUTPUT),.)/feature; \ > + $(RM) -rf $(OUTPUT)/libbpf; \ > + $(RM) -rf $(OUTPUT)/libsubcmd; \ > find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM) > > tags: > -- > 2.26.2 >
On Fri, Feb 5, 2021 at 4:46 AM Jiri Olsa <jolsa@kernel.org> wrote: > > We want this clean to be called from tree's root Makefile, > which defines same srctree variable and that will screw > the make setup. > > We actually do not use srctree being passed from outside, > so we can solve this by setting current srctree value > directly. > > Also changing the way how srctree is initialized as suggested > by Andrri. > > Also root Makefile does not define the implicit RM variable, > so adding RM initialization. > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > --- Acked-by: Andrii Nakryiko <andrii@kernel.org> > tools/bpf/resolve_btfids/Makefile | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/tools/bpf/resolve_btfids/Makefile b/tools/bpf/resolve_btfids/Makefile > index be09ec4f03ff..bb9fa8de7e62 100644 > --- a/tools/bpf/resolve_btfids/Makefile > +++ b/tools/bpf/resolve_btfids/Makefile > @@ -2,11 +2,7 @@ > include ../../scripts/Makefile.include > include ../../scripts/Makefile.arch > > -ifeq ($(srctree),) > -srctree := $(patsubst %/,%,$(dir $(CURDIR))) > -srctree := $(patsubst %/,%,$(dir $(srctree))) > -srctree := $(patsubst %/,%,$(dir $(srctree))) > -endif > +srctree := $(abspath $(CURDIR)/../../../) > > ifeq ($(V),1) > Q = > @@ -22,6 +18,7 @@ AR = $(HOSTAR) > CC = $(HOSTCC) > LD = $(HOSTLD) > ARCH = $(HOSTARCH) > +RM ?= rm > > OUTPUT ?= $(srctree)/tools/bpf/resolve_btfids/ > > -- > 2.26.2 >
On Fri, Feb 5, 2021 at 4:45 AM Jiri Olsa <jolsa@kernel.org> wrote: > > 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 > > FYI, your patch #2 didn't make it into the mailing list (see [0]). So maybe wait for a bit and if it doesn't arrive, re-submit? [0] https://patchwork.kernel.org/user/todo/netdevbpf/?series=428711&delegate=121173&state=* > --- > Jiri Olsa (4): > tools/resolve_btfids: Build libbpf and libsubcmd in separate directories > tools/resolve_btfids: Check objects before removing > tools/resolve_btfids: Set srctree variable unconditionally > kbuild: Add resolve_btfids clean to root clean target > > Makefile | 7 ++++++- > tools/bpf/resolve_btfids/.gitignore | 2 -- > tools/bpf/resolve_btfids/Makefile | 44 ++++++++++++++++++++++---------------------- > 3 files changed, 28 insertions(+), 25 deletions(-) >
On Fri, Feb 05, 2021 at 02:27:08PM -0800, Andrii Nakryiko wrote: > On Fri, Feb 5, 2021 at 4:45 AM Jiri Olsa <jolsa@kernel.org> wrote: > > > > 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 > > > > > > FYI, your patch #2 didn't make it into the mailing list (see [0]). So > maybe wait for a bit and if it doesn't arrive, re-submit? > > [0] https://patchwork.kernel.org/user/todo/netdevbpf/?series=428711&delegate=121173&state=* hum and lore shows just 1 and 4 https://lore.kernel.org/bpf/20210205124020.683286-1-jolsa@kernel.org/ I'll check and resent later thanks, jirka > > > --- > > Jiri Olsa (4): > > tools/resolve_btfids: Build libbpf and libsubcmd in separate directories > > tools/resolve_btfids: Check objects before removing > > tools/resolve_btfids: Set srctree variable unconditionally > > kbuild: Add resolve_btfids clean to root clean target > > > > Makefile | 7 ++++++- > > tools/bpf/resolve_btfids/.gitignore | 2 -- > > tools/bpf/resolve_btfids/Makefile | 44 ++++++++++++++++++++++---------------------- > > 3 files changed, 28 insertions(+), 25 deletions(-) > > >
On Fri, Feb 5, 2021 at 2:59 PM Jiri Olsa <jolsa@kernel.org> wrote: > > We want this clean to be called from tree's root clean > and that one is silent if there's nothing to clean. > > Adding check for all object to clean and display CLEAN > messages only if there are objects to remove. > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > --- Acked-by: Andrii Nakryiko <andrii@kernel.org> > tools/bpf/resolve_btfids/Makefile | 17 ++++++++++++----- > 1 file changed, 12 insertions(+), 5 deletions(-) > > diff --git a/tools/bpf/resolve_btfids/Makefile b/tools/bpf/resolve_btfids/Makefile > index 1d46a247ec95..be09ec4f03ff 100644 > --- a/tools/bpf/resolve_btfids/Makefile > +++ b/tools/bpf/resolve_btfids/Makefile > @@ -64,13 +64,20 @@ $(BINARY): $(BPFOBJ) $(SUBCMDOBJ) $(BINARY_IN) > $(call msg,LINK,$@) > $(Q)$(CC) $(BINARY_IN) $(LDFLAGS) -o $@ $(BPFOBJ) $(SUBCMDOBJ) $(LIBS) > > +clean_objects := $(wildcard $(OUTPUT)/*.o \ > + $(OUTPUT)/.*.o.cmd \ > + $(OUTPUT)/.*.o.d \ > + $(OUTPUT)/libbpf \ > + $(OUTPUT)/libsubcmd \ > + $(OUTPUT)/resolve_btfids) > + > +ifneq ($(clean_objects),) > clean: fixdep-clean > $(call msg,CLEAN,$(BINARY)) > - $(Q)$(RM) -f $(BINARY); \ > - $(RM) -rf $(if $(OUTPUT),$(OUTPUT),.)/feature; \ > - $(RM) -rf $(OUTPUT)/libbpf; \ > - $(RM) -rf $(OUTPUT)/libsubcmd; \ > - find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM) > + $(Q)$(RM) -rf $(clean_objects) > +else > +clean: > +endif > > tags: > $(call msg,GEN,,tags) > -- > 2.26.2 >
On Fri, Feb 05, 2021 at 11:32:57PM +0100, Jiri Olsa wrote: > On Fri, Feb 05, 2021 at 02:27:08PM -0800, Andrii Nakryiko wrote: > > On Fri, Feb 5, 2021 at 4:45 AM Jiri Olsa <jolsa@kernel.org> wrote: > > > > > > 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 > > > > > > > > > > FYI, your patch #2 didn't make it into the mailing list (see [0]). So > > maybe wait for a bit and if it doesn't arrive, re-submit? > > > > [0] https://patchwork.kernel.org/user/todo/netdevbpf/?series=428711&delegate=121173&state=* > > hum and lore shows just 1 and 4 > https://lore.kernel.org/bpf/20210205124020.683286-1-jolsa@kernel.org/ > > I'll check and resent later it arrived jirka
On Fri, Feb 5, 2021 at 4:45 AM Jiri Olsa <jolsa@kernel.org> wrote: > > 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 > > > --- > Jiri Olsa (4): > tools/resolve_btfids: Build libbpf and libsubcmd in separate directories > tools/resolve_btfids: Check objects before removing > tools/resolve_btfids: Set srctree variable unconditionally > kbuild: Add resolve_btfids clean to root clean target > > Makefile | 7 ++++++- > tools/bpf/resolve_btfids/.gitignore | 2 -- > tools/bpf/resolve_btfids/Makefile | 44 ++++++++++++++++++++++---------------------- > 3 files changed, 28 insertions(+), 25 deletions(-) > I've applied the changes to the bpf-next tree. Thanks. Next time please make sure that each patch in the series has a v2 tag in [PATCH] section, it was a bit confusing to figure out which one is the actual v2 version. Our tooling (CI) also expects the format [PATCH v2 bpf-next], so try not to merge v2 with PATCH.
On Mon, Feb 08, 2021 at 09:36:40PM -0800, Andrii Nakryiko wrote: > On Fri, Feb 5, 2021 at 4:45 AM Jiri Olsa <jolsa@kernel.org> wrote: > > > > 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 > > > > > > --- > > Jiri Olsa (4): > > tools/resolve_btfids: Build libbpf and libsubcmd in separate directories > > tools/resolve_btfids: Check objects before removing > > tools/resolve_btfids: Set srctree variable unconditionally > > kbuild: Add resolve_btfids clean to root clean target > > > > Makefile | 7 ++++++- > > tools/bpf/resolve_btfids/.gitignore | 2 -- > > tools/bpf/resolve_btfids/Makefile | 44 ++++++++++++++++++++++---------------------- > > 3 files changed, 28 insertions(+), 25 deletions(-) > > > > I've applied the changes to the bpf-next tree. Thanks. > > Next time please make sure that each patch in the series has a v2 tag > in [PATCH] section, it was a bit confusing to figure out which one is > the actual v2 version. Our tooling (CI) also expects the format [PATCH > v2 bpf-next], so try not to merge v2 with PATCH. > will do, thanks jirka
Hi, > 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. > > Acked-by: Song Liu <songliubraving@fb.com> > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > --- when I invoke 'git status' on the master branch of my local git repository (cloned from stable/linux.git), which I have used to compile several kernels, it lists two untracked files: tools/bpf/resolve_btfids/FEATURE-DUMP.libbpf tools/bpf/resolve_btfids/bpf_helper_defs.h 'git status' doesn't complain about these files with v5.11, and I can't get rid of them by 'make clean' with v5.11 or v5.12-rc1/rc2. So I used 'git bisect' and found that this is caused by commit fc6b48f692f89cc48bfb7fd1aa65454dfe9b2d77, which links to this thread. Looking at the diff it's obvious because of the change in the .gitignore file, but I don't know why these files are there and I have never touched anything in the 'tools' directory. Can I savely delete the files? Do I even have to delete them before I compile v5.12-rcX? Thanks, Viktor > tools/bpf/resolve_btfids/.gitignore | 2 -- > tools/bpf/resolve_btfids/Makefile | 26 +++++++++++--------------- > 2 files changed, 11 insertions(+), 17 deletions(-) > > diff --git a/tools/bpf/resolve_btfids/.gitignore b/tools/bpf/resolve_btfids/.gitignore > index a026df7dc280..25f308c933cc 100644 > --- a/tools/bpf/resolve_btfids/.gitignore > +++ b/tools/bpf/resolve_btfids/.gitignore > @@ -1,4 +1,2 @@ > -/FEATURE-DUMP.libbpf > -/bpf_helper_defs.h > /fixdep > /resolve_btfids > diff --git a/tools/bpf/resolve_btfids/Makefile b/tools/bpf/resolve_btfids/Makefile > index bf656432ad73..1d46a247ec95 100644 > --- a/tools/bpf/resolve_btfids/Makefile > +++ b/tools/bpf/resolve_btfids/Makefile > @@ -28,22 +28,22 @@ OUTPUT ?= $(srctree)/tools/bpf/resolve_btfids/ > LIBBPF_SRC := $(srctree)/tools/lib/bpf/ > SUBCMD_SRC := $(srctree)/tools/lib/subcmd/ > > -BPFOBJ := $(OUTPUT)/libbpf.a > -SUBCMDOBJ := $(OUTPUT)/libsubcmd.a > +BPFOBJ := $(OUTPUT)/libbpf/libbpf.a > +SUBCMDOBJ := $(OUTPUT)/libsubcmd/libsubcmd.a > > BINARY := $(OUTPUT)/resolve_btfids > BINARY_IN := $(BINARY)-in.o > > all: $(BINARY) > > -$(OUTPUT): > +$(OUTPUT) $(OUTPUT)/libbpf $(OUTPUT)/libsubcmd: > $(call msg,MKDIR,,$@) > - $(Q)mkdir -p $(OUTPUT) > + $(Q)mkdir -p $(@) > > -$(SUBCMDOBJ): fixdep FORCE > - $(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(OUTPUT) > +$(SUBCMDOBJ): fixdep FORCE | $(OUTPUT)/libsubcmd > + $(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(abspath $(dir $@))/ $(abspath $@) > > -$(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT) > +$(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT)/libbpf > $(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) OUTPUT=$(abspath $(dir $@))/ $(abspath $@) > > CFLAGS := -g \ > @@ -57,23 +57,19 @@ LIBS = -lelf -lz > export srctree OUTPUT CFLAGS Q > include $(srctree)/tools/build/Makefile.include > > -$(BINARY_IN): fixdep FORCE > +$(BINARY_IN): fixdep FORCE | $(OUTPUT) > $(Q)$(MAKE) $(build)=resolve_btfids > > $(BINARY): $(BPFOBJ) $(SUBCMDOBJ) $(BINARY_IN) > $(call msg,LINK,$@) > $(Q)$(CC) $(BINARY_IN) $(LDFLAGS) -o $@ $(BPFOBJ) $(SUBCMDOBJ) $(LIBS) > > -libsubcmd-clean: > - $(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(OUTPUT) clean > - > -libbpf-clean: > - $(Q)$(MAKE) -C $(LIBBPF_SRC) OUTPUT=$(OUTPUT) clean > - > -clean: libsubcmd-clean libbpf-clean fixdep-clean > +clean: fixdep-clean > $(call msg,CLEAN,$(BINARY)) > $(Q)$(RM) -f $(BINARY); \ > $(RM) -rf $(if $(OUTPUT),$(OUTPUT),.)/feature; \ > + $(RM) -rf $(OUTPUT)/libbpf; \ > + $(RM) -rf $(OUTPUT)/libsubcmd; \ > find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM) > > tags: >
On Wed, Mar 10, 2021 at 9:35 AM Viktor Jägersküpper <viktor_jaegerskuepper@freenet.de> wrote: > > Hi, > > > 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. > > > > Acked-by: Song Liu <songliubraving@fb.com> > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > > --- > > when I invoke 'git status' on the master branch of my local git repository > (cloned from stable/linux.git), which I have used to compile several kernels, > it lists two untracked files: > > tools/bpf/resolve_btfids/FEATURE-DUMP.libbpf > tools/bpf/resolve_btfids/bpf_helper_defs.h > > 'git status' doesn't complain about these files with v5.11, and I can't get rid > of them by 'make clean' with v5.11 or v5.12-rc1/rc2. So I used 'git bisect' and > found that this is caused by commit fc6b48f692f89cc48bfb7fd1aa65454dfe9b2d77, > which links to this thread. > > Looking at the diff it's obvious because of the change in the .gitignore file, > but I don't know why these files are there and I have never touched anything in > the 'tools' directory. > > Can I savely delete the files? Do I even have to delete them before I compile > v5.12-rcX? yes, those were auto-generated files. You can safely remove them. > > Thanks, > Viktor > [...]
On Wed, Mar 10, 2021 at 11:27:19AM -0800, Andrii Nakryiko wrote: > On Wed, Mar 10, 2021 at 9:35 AM Viktor Jägersküpper > <viktor_jaegerskuepper@freenet.de> wrote: > > > > Hi, > > > > > 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. > > > > > > Acked-by: Song Liu <songliubraving@fb.com> > > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > > > --- > > > > when I invoke 'git status' on the master branch of my local git repository > > (cloned from stable/linux.git), which I have used to compile several kernels, > > it lists two untracked files: > > > > tools/bpf/resolve_btfids/FEATURE-DUMP.libbpf > > tools/bpf/resolve_btfids/bpf_helper_defs.h > > > > 'git status' doesn't complain about these files with v5.11, and I can't get rid > > of them by 'make clean' with v5.11 or v5.12-rc1/rc2. So I used 'git bisect' and > > found that this is caused by commit fc6b48f692f89cc48bfb7fd1aa65454dfe9b2d77, > > which links to this thread. > > > > Looking at the diff it's obvious because of the change in the .gitignore file, > > but I don't know why these files are there and I have never touched anything in > > the 'tools' directory. > > > > Can I savely delete the files? Do I even have to delete them before I compile > > v5.12-rcX? > > yes, those were auto-generated files. You can safely remove them. hm, I answered this email, but for some reason I can't see it on lore.. FWIW, trying once more ;-) hi, yes, you can delete them, this patch moved libbpf and libsubcmd into their own build directories, so those 2 files stayed there from your last build without the patch jirka