]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
618e165b | 2 | |
d498f871 | 3 | LIBDIR := ../../../lib |
e8f1f34a | 4 | BPFDIR := $(LIBDIR)/bpf |
02ea80b1 DB |
5 | APIDIR := ../../../include/uapi |
6 | GENDIR := ../../../../include/generated | |
7 | GENHDR := $(GENDIR)/autoconf.h | |
d498f871 | 8 | |
02ea80b1 DB |
9 | ifneq ($(wildcard $(GENHDR)),) |
10 | GENFLAGS := -DHAVE_GENHDR | |
11 | endif | |
12 | ||
720f228e | 13 | CFLAGS += -Wall -O2 -I$(APIDIR) -I$(LIBDIR) -I$(GENDIR) $(GENFLAGS) -I../../../include |
6882804c | 14 | LDLIBS += -lcap -lelf |
5aa5bd14 | 15 | |
18b3ad90 | 16 | TEST_GEN_PROGS = test_verifier test_tag test_maps test_lru_map test_lpm_map test_progs \ |
37f1ba09 | 17 | test_align test_verifier_log test_dev_cgroup |
6882804c | 18 | |
18f3d6be | 19 | TEST_GEN_FILES = test_pkt_access.o test_xdp.o test_l4lb.o test_tcp_estats.o test_obj_id.o \ |
22c88526 | 20 | test_pkt_md_access.o test_xdp_redirect.o test_xdp_meta.o sockmap_parse_prog.o \ |
37f1ba09 | 21 | sockmap_verdict_prog.o dev_cgroup.o |
5aa5bd14 | 22 | |
22c88526 | 23 | TEST_PROGS := test_kmod.sh test_xdp_redirect.sh test_xdp_meta.sh |
5aa5bd14 | 24 | |
e8f1f34a ZSL |
25 | include ../lib.mk |
26 | ||
9d1f1594 | 27 | BPFOBJ := $(OUTPUT)/libbpf.a $(OUTPUT)/cgroup_helpers.c |
e8f1f34a ZSL |
28 | |
29 | $(TEST_GEN_PROGS): $(BPFOBJ) | |
1da8ac7c | 30 | |
e8f1f34a | 31 | .PHONY: force |
d498f871 | 32 | |
d498f871 MS |
33 | # force a rebuild of BPFOBJ when its dependencies are updated |
34 | force: | |
35 | ||
36 | $(BPFOBJ): force | |
e8f1f34a | 37 | $(MAKE) -C $(BPFDIR) OUTPUT=$(OUTPUT)/ |
6882804c AS |
38 | |
39 | CLANG ?= clang | |
22c88526 DB |
40 | LLC ?= llc |
41 | ||
42 | PROBE := $(shell llc -march=bpf -mcpu=probe -filetype=null /dev/null 2>&1) | |
43 | ||
44 | # Let newer LLVM versions transparently probe the kernel for availability | |
45 | # of full BPF instruction set. | |
46 | ifeq ($(PROBE),) | |
47 | CPU ?= probe | |
48 | else | |
49 | CPU ?= generic | |
50 | endif | |
6882804c AS |
51 | |
52 | %.o: %.c | |
0a5539f6 | 53 | $(CLANG) -I. -I./include/uapi -I../../../include/uapi \ |
22c88526 DB |
54 | -Wno-compare-distinct-pointer-types \ |
55 | -O2 -target bpf -emit-llvm -c $< -o - | \ | |
56 | $(LLC) -march=bpf -mcpu=$(CPU) -filetype=obj -o $@ |