libbpf,selftests/bpf: Fix clean targets
authorAndrii Nakryiko <andriin@fb.com>
Fri, 10 Jan 2020 05:17:14 +0000 (21:17 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 10 Jan 2020 05:55:08 +0000 (21:55 -0800)
Libbpf's clean target should clean out generated files in $(OUTPUT) directory
and not make assumption that $(OUTPUT) directory is current working directory.

Selftest's Makefile should delegate cleaning of libbpf-generated files to
libbpf's Makefile. This ensures more robust clean up.

Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200110051716.1591485-2-andriin@fb.com
tools/lib/bpf/Makefile
tools/testing/selftests/bpf/Makefile

index d87830e..db2afcc 100644 (file)
@@ -273,10 +273,11 @@ config-clean:
        $(Q)$(MAKE) -C $(srctree)/tools/build/feature/ clean >/dev/null
 
 clean:
-       $(call QUIET_CLEAN, libbpf) $(RM) -rf $(CMD_TARGETS) \
-               *.o *~ *.a *.so *.so.$(LIBBPF_MAJOR_VERSION) .*.d .*.cmd \
-               *.pc LIBBPF-CFLAGS $(BPF_HELPER_DEFS) \
-               $(SHARED_OBJDIR) $(STATIC_OBJDIR)
+       $(call QUIET_CLEAN, libbpf) $(RM) -rf $(CMD_TARGETS)                 \
+               *~ .*.d .*.cmd LIBBPF-CFLAGS $(BPF_HELPER_DEFS)              \
+               $(SHARED_OBJDIR) $(STATIC_OBJDIR)                            \
+               $(addprefix $(OUTPUT),                                       \
+                           *.o *.a *.so *.so.$(LIBBPF_MAJOR_VERSION) *.pc)
        $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf
 
 
index f1f949c..cb9f18e 100644 (file)
@@ -93,6 +93,7 @@ OVERRIDE_TARGETS := 1
 override define CLEAN
        $(call msg,    CLEAN)
        $(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN)
+       $(MAKE) -C $(BPFDIR) OUTPUT=$(OUTPUT)/ clean
 endef
 
 include ../lib.mk
@@ -377,5 +378,5 @@ $(OUTPUT)/test_cpp: test_cpp.cpp $(OUTPUT)/test_core_extern.skel.h $(BPFOBJ)
 
 EXTRA_CLEAN := $(TEST_CUSTOM_PROGS)                                    \
        prog_tests/tests.h map_tests/tests.h verifier/tests.h           \
-       feature $(OUTPUT)/*.o $(OUTPUT)/no_alu32 $(OUTPUT)/bpf_gcc      \
-       tools *.skel.h
+       feature                                                         \
+       $(addprefix $(OUTPUT)/,*.o *.skel.h no_alu32 bpf_gcc tools)