mirror of https://github.com/OISF/suricata
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
821 B
Makefile
32 lines
821 B
Makefile
EXTRA_DIST= include bypass_filter.c filter.c lb.c vlan_filter.c xdp_filter.c \
|
|
xdp_lb.c hash_func01.h llvm_bpfload.h
|
|
|
|
if BUILD_EBPF
|
|
|
|
# Maintaining a local copy of UAPI linux/bpf.h
|
|
BPF_CFLAGS = -Iinclude
|
|
|
|
BPF_TARGETS = lb.bpf
|
|
BPF_TARGETS += filter.bpf
|
|
BPF_TARGETS += bypass_filter.bpf
|
|
BPF_TARGETS += xdp_filter.bpf
|
|
BPF_TARGETS += xdp_lb.bpf
|
|
BPF_TARGETS += vlan_filter.bpf
|
|
|
|
all: $(BPF_TARGETS)
|
|
|
|
|
|
$(BPF_TARGETS): %.bpf: %.c
|
|
# From C-code to LLVM-IR format suffix .ll (clang -S -emit-llvm)
|
|
${CLANG} -Wall $(BPF_CFLAGS) -O2 -g \
|
|
-I/usr/include/$(build_cpu)-$(build_os)/ \
|
|
-D__KERNEL__ -D__ASM_SYSREG_H \
|
|
-target bpf -S -emit-llvm $< -o ${@:.bpf=.ll}
|
|
# From LLVM-IR to BPF-bytecode in ELF-obj file
|
|
${LLC} -march=bpf -filetype=obj ${@:.bpf=.ll} -o $@
|
|
${RM} ${@:.bpf=.ll}
|
|
|
|
CLEANFILES = *.bpf *.ll
|
|
|
|
endif
|