bpf: add JIT compilation for x86_64 ISA
[dpdk.git] / lib / librte_bpf / Makefile
1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2018 Intel Corporation
3
4 include $(RTE_SDK)/mk/rte.vars.mk
5
6 # library name
7 LIB = librte_bpf.a
8
9 CFLAGS += -O3
10 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
11 CFLAGS += -DALLOW_EXPERIMENTAL_API
12 LDLIBS += -lrte_net -lrte_eal
13 LDLIBS += -lrte_mempool -lrte_ring
14 LDLIBS += -lrte_mbuf -lrte_ethdev
15 ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
16 LDLIBS += -lelf
17 endif
18
19 EXPORT_MAP := rte_bpf_version.map
20
21 LIBABIVER := 1
22
23 # all source are stored in SRCS-y
24 SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf.c
25 SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_exec.c
26 SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_load.c
27 SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_validate.c
28 ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
29 SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_load_elf.c
30 endif
31 ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
32 SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_x86.c
33 endif
34
35 # install header files
36 SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += bpf_def.h
37 SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += rte_bpf.h
38
39 include $(RTE_SDK)/mk/rte.lib.mk