Makefile (407da561244b9d51e6a794d6305ba38ec2c9d907) Makefile (f0a249df1b071d6f7177cc615d688a3a5d48423a)
1# SPDX-License-Identifier: GPL-2.0
2include ../../../build/Build.include
3include ../../../scripts/Makefile.arch
4include ../../../scripts/Makefile.include
5
6CXX ?= $(CROSS_COMPILE)g++
7
8CURDIR := $(abspath .)

--- 226 unchanged lines hidden (view full) ---

235$(OUTPUT)/test_sysctl: $(CGROUP_HELPERS) $(TESTING_HELPERS)
236$(OUTPUT)/test_tag: $(TESTING_HELPERS)
237$(OUTPUT)/test_lirc_mode2_user: $(TESTING_HELPERS)
238$(OUTPUT)/xdping: $(TESTING_HELPERS)
239$(OUTPUT)/flow_dissector_load: $(TESTING_HELPERS)
240$(OUTPUT)/test_maps: $(TESTING_HELPERS)
241$(OUTPUT)/test_verifier: $(TESTING_HELPERS) $(CAP_HELPERS)
242$(OUTPUT)/xsk.o: $(BPFOBJ)
1# SPDX-License-Identifier: GPL-2.0
2include ../../../build/Build.include
3include ../../../scripts/Makefile.arch
4include ../../../scripts/Makefile.include
5
6CXX ?= $(CROSS_COMPILE)g++
7
8CURDIR := $(abspath .)

--- 226 unchanged lines hidden (view full) ---

235$(OUTPUT)/test_sysctl: $(CGROUP_HELPERS) $(TESTING_HELPERS)
236$(OUTPUT)/test_tag: $(TESTING_HELPERS)
237$(OUTPUT)/test_lirc_mode2_user: $(TESTING_HELPERS)
238$(OUTPUT)/xdping: $(TESTING_HELPERS)
239$(OUTPUT)/flow_dissector_load: $(TESTING_HELPERS)
240$(OUTPUT)/test_maps: $(TESTING_HELPERS)
241$(OUTPUT)/test_verifier: $(TESTING_HELPERS) $(CAP_HELPERS)
242$(OUTPUT)/xsk.o: $(BPFOBJ)
243$(OUTPUT)/xskxceiver: $(OUTPUT)/xsk.o
244
245BPFTOOL ?= $(DEFAULT_BPFTOOL)
246$(DEFAULT_BPFTOOL): $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) \
247 $(HOST_BPFOBJ) | $(HOST_BUILD_DIR)/bpftool
248 $(Q)$(MAKE) $(submake_extras) -C $(BPFTOOLDIR) \
249 ARCH= CROSS_COMPILE= CC=$(HOSTCC) LD=$(HOSTLD) \
250 EXTRA_CFLAGS='-g -O0' \
251 OUTPUT=$(HOST_BUILD_DIR)/bpftool/ \

--- 126 unchanged lines hidden (view full) ---

378linked_funcs.skel.h-deps := linked_funcs1.bpf.o linked_funcs2.bpf.o
379linked_vars.skel.h-deps := linked_vars1.bpf.o linked_vars2.bpf.o
380linked_maps.skel.h-deps := linked_maps1.bpf.o linked_maps2.bpf.o
381# In the subskeleton case, we want the test_subskeleton_lib.subskel.h file
382# but that's created as a side-effect of the skel.h generation.
383test_subskeleton.skel.h-deps := test_subskeleton_lib2.bpf.o test_subskeleton_lib.bpf.o test_subskeleton.bpf.o
384test_subskeleton_lib.skel.h-deps := test_subskeleton_lib2.bpf.o test_subskeleton_lib.bpf.o
385test_usdt.skel.h-deps := test_usdt.bpf.o test_usdt_multispec.bpf.o
243
244BPFTOOL ?= $(DEFAULT_BPFTOOL)
245$(DEFAULT_BPFTOOL): $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) \
246 $(HOST_BPFOBJ) | $(HOST_BUILD_DIR)/bpftool
247 $(Q)$(MAKE) $(submake_extras) -C $(BPFTOOLDIR) \
248 ARCH= CROSS_COMPILE= CC=$(HOSTCC) LD=$(HOSTLD) \
249 EXTRA_CFLAGS='-g -O0' \
250 OUTPUT=$(HOST_BUILD_DIR)/bpftool/ \

--- 126 unchanged lines hidden (view full) ---

377linked_funcs.skel.h-deps := linked_funcs1.bpf.o linked_funcs2.bpf.o
378linked_vars.skel.h-deps := linked_vars1.bpf.o linked_vars2.bpf.o
379linked_maps.skel.h-deps := linked_maps1.bpf.o linked_maps2.bpf.o
380# In the subskeleton case, we want the test_subskeleton_lib.subskel.h file
381# but that's created as a side-effect of the skel.h generation.
382test_subskeleton.skel.h-deps := test_subskeleton_lib2.bpf.o test_subskeleton_lib.bpf.o test_subskeleton.bpf.o
383test_subskeleton_lib.skel.h-deps := test_subskeleton_lib2.bpf.o test_subskeleton_lib.bpf.o
384test_usdt.skel.h-deps := test_usdt.bpf.o test_usdt_multispec.bpf.o
385xsk_xdp_progs.skel.h-deps := xsk_xdp_progs.bpf.o
386
387LINKED_BPF_SRCS := $(patsubst %.bpf.o,%.c,$(foreach skel,$(LINKED_SKELS),$($(skel)-deps)))
388
389# Set up extra TRUNNER_XXX "temporary" variables in the environment (relies on
390# $eval()) and pass control to DEFINE_TEST_RUNNER_RULES.
391# Parameters:
392# $1 - test runner base binary name (e.g., test_progs)
393# $2 - test runner extra "flavor" (e.g., no_alu32, gcc-bpf, etc)

--- 177 unchanged lines hidden (view full) ---

571 echo '#ifdef FILL_ARRAY'; \
572 ls *.c 2> /dev/null | sed -e 's@\(.*\)@#include \"\1\"@'; \
573 echo '#endif' \
574 ) > verifier/tests.h)
575$(OUTPUT)/test_verifier: test_verifier.c verifier/tests.h $(BPFOBJ) | $(OUTPUT)
576 $(call msg,BINARY,,$@)
577 $(Q)$(CC) $(CFLAGS) $(filter %.a %.o %.c,$^) $(LDLIBS) -o $@
578
386
387LINKED_BPF_SRCS := $(patsubst %.bpf.o,%.c,$(foreach skel,$(LINKED_SKELS),$($(skel)-deps)))
388
389# Set up extra TRUNNER_XXX "temporary" variables in the environment (relies on
390# $eval()) and pass control to DEFINE_TEST_RUNNER_RULES.
391# Parameters:
392# $1 - test runner base binary name (e.g., test_progs)
393# $2 - test runner extra "flavor" (e.g., no_alu32, gcc-bpf, etc)

--- 177 unchanged lines hidden (view full) ---

571 echo '#ifdef FILL_ARRAY'; \
572 ls *.c 2> /dev/null | sed -e 's@\(.*\)@#include \"\1\"@'; \
573 echo '#endif' \
574 ) > verifier/tests.h)
575$(OUTPUT)/test_verifier: test_verifier.c verifier/tests.h $(BPFOBJ) | $(OUTPUT)
576 $(call msg,BINARY,,$@)
577 $(Q)$(CC) $(CFLAGS) $(filter %.a %.o %.c,$^) $(LDLIBS) -o $@
578
579$(OUTPUT)/xskxceiver: xskxceiver.c $(OUTPUT)/xsk.o $(OUTPUT)/xsk_xdp_progs.skel.h $(BPFOBJ) | $(OUTPUT)
580 $(call msg,BINARY,,$@)
581 $(Q)$(CC) $(CFLAGS) $(filter %.a %.o %.c,$^) $(LDLIBS) -o $@
582
579# Make sure we are able to include and link libbpf against c++.
580$(OUTPUT)/test_cpp: test_cpp.cpp $(OUTPUT)/test_core_extern.skel.h $(BPFOBJ)
581 $(call msg,CXX,,$@)
582 $(Q)$(CXX) $(CFLAGS) $(filter %.a %.o %.cpp,$^) $(LDLIBS) -o $@
583
584# Benchmark runner
585$(OUTPUT)/bench_%.o: benchs/bench_%.c bench.h $(BPFOBJ)
586 $(call msg,CC,,$@)

--- 34 unchanged lines hidden (view full) ---

621EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(SCRATCH_DIR) $(HOST_SCRATCH_DIR) \
622 prog_tests/tests.h map_tests/tests.h verifier/tests.h \
623 feature bpftool \
624 $(addprefix $(OUTPUT)/,*.o *.skel.h *.lskel.h *.subskel.h \
625 no_alu32 bpf_gcc bpf_testmod.ko \
626 liburandom_read.so)
627
628.PHONY: docs docs-clean
583# Make sure we are able to include and link libbpf against c++.
584$(OUTPUT)/test_cpp: test_cpp.cpp $(OUTPUT)/test_core_extern.skel.h $(BPFOBJ)
585 $(call msg,CXX,,$@)
586 $(Q)$(CXX) $(CFLAGS) $(filter %.a %.o %.cpp,$^) $(LDLIBS) -o $@
587
588# Benchmark runner
589$(OUTPUT)/bench_%.o: benchs/bench_%.c bench.h $(BPFOBJ)
590 $(call msg,CC,,$@)

--- 34 unchanged lines hidden (view full) ---

625EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(SCRATCH_DIR) $(HOST_SCRATCH_DIR) \
626 prog_tests/tests.h map_tests/tests.h verifier/tests.h \
627 feature bpftool \
628 $(addprefix $(OUTPUT)/,*.o *.skel.h *.lskel.h *.subskel.h \
629 no_alu32 bpf_gcc bpf_testmod.ko \
630 liburandom_read.so)
631
632.PHONY: docs docs-clean
633
634# Delete partially updated (corrupted) files on error
635.DELETE_ON_ERROR: