xref: /linux/tools/testing/selftests/bpf/Makefile (revision 6882804c916beaa945bae90dfd3295e635f6b78f)
1d498f871SMickaël SalaünLIBDIR := ../../../lib
2e8f1f34aSZi Shen LimBPFDIR := $(LIBDIR)/bpf
3d498f871SMickaël Salaün
4*6882804cSAlexei StarovoitovCFLAGS += -Wall -O2 -I../../../include/uapi -I$(LIBDIR) -I../../../include
5*6882804cSAlexei StarovoitovLDLIBS += -lcap -lelf
65aa5bd14SDaniel Borkmann
7*6882804cSAlexei StarovoitovTEST_GEN_PROGS = test_verifier test_tag test_maps test_lru_map test_lpm_map test_progs
8*6882804cSAlexei Starovoitov
9*6882804cSAlexei StarovoitovTEST_GEN_FILES = test_pkt_access.o
105aa5bd14SDaniel Borkmann
1188baa78dSbamvor.zhangjian@huawei.comTEST_PROGS := test_kmod.sh
125aa5bd14SDaniel Borkmann
13e8f1f34aSZi Shen Liminclude ../lib.mk
141da8ac7cSAlexei Starovoitov
15*6882804cSAlexei StarovoitovBPFOBJ := $(OUTPUT)/libbpf.a
16e8f1f34aSZi Shen Lim
17e8f1f34aSZi Shen Lim$(TEST_GEN_PROGS): $(BPFOBJ)
18e8f1f34aSZi Shen Lim
19e8f1f34aSZi Shen Lim.PHONY: force
20d498f871SMickaël Salaün
21d498f871SMickaël Salaün# force a rebuild of BPFOBJ when its dependencies are updated
22d498f871SMickaël Salaünforce:
23d498f871SMickaël Salaün
24d498f871SMickaël Salaün$(BPFOBJ): force
25e8f1f34aSZi Shen Lim	$(MAKE) -C $(BPFDIR) OUTPUT=$(OUTPUT)/
26*6882804cSAlexei Starovoitov
27*6882804cSAlexei StarovoitovCLANG ?= clang
28*6882804cSAlexei Starovoitov
29*6882804cSAlexei Starovoitov%.o: %.c
30*6882804cSAlexei Starovoitov	$(CLANG) -I../../../include/uapi -I../../../../samples/bpf/ \
31*6882804cSAlexei Starovoitov		-D__x86_64__ -Wno-compare-distinct-pointer-types \
32*6882804cSAlexei Starovoitov		-O2 -target bpf -c $< -o $@
33