net/mlx5: refactor multi-process communication
[dpdk.git] / drivers / net / mlx5 / Makefile
1 #   SPDX-License-Identifier: BSD-3-Clause
2 #   Copyright 2015 6WIND S.A.
3 #   Copyright 2015 Mellanox Technologies, Ltd
4
5 include $(RTE_SDK)/mk/rte.vars.mk
6
7 # Library name.
8 LIB = librte_pmd_mlx5.a
9
10 # Sources.
11 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5.c
12 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxq.c
13 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_txq.c
14 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_txpp.c
15 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxtx.c
16 ifneq ($(filter y,$(CONFIG_RTE_ARCH_X86_64) \
17                         $(CONFIG_RTE_ARCH_PPC_64) \
18                   $(CONFIG_RTE_ARCH_ARM64)),)
19 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxtx_vec.c
20 endif
21 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_trigger.c
22 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_ethdev.c
23 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_mac.c
24 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxmode.c
25 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_vlan.c
26 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_stats.c
27 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rss.c
28 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_mr.c
29 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow.c
30 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_meter.c
31 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_dv.c
32 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_verbs.c
33 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_utils.c
34 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_socket.c
35 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_os.c
36 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_ethdev_os.c
37 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_verbs.c
38 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_mp_os.c
39
40 # Basic CFLAGS.
41 CFLAGS += -O3
42 CFLAGS += -std=c11 -Wall -Wextra
43 CFLAGS += -g
44 CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
45 CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
46 CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5
47 CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5/linux
48 CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
49 CFLAGS += -D_BSD_SOURCE
50 CFLAGS += -D_DEFAULT_SOURCE
51 CFLAGS += -D_XOPEN_SOURCE=600
52 CFLAGS += $(WERROR_FLAGS)
53 CFLAGS += -Wno-strict-prototypes
54 LDLIBS += -lrte_common_mlx5
55 LDLIBS += -lm
56 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
57 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
58 LDLIBS += -lrte_bus_pci
59
60 # A few warnings cannot be avoided in external headers.
61 CFLAGS += -Wno-error=cast-qual
62
63 EXPORT_MAP := rte_pmd_mlx5_version.map
64
65 # DEBUG which is usually provided on the command-line may enable
66 # CONFIG_RTE_LIBRTE_MLX5_DEBUG.
67 ifeq ($(DEBUG),1)
68 CONFIG_RTE_LIBRTE_MLX5_DEBUG := y
69 endif
70
71 # User-defined CFLAGS.
72 ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
73 CFLAGS += -pedantic
74 ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
75 CFLAGS += -DPEDANTIC
76 endif
77 AUTO_CONFIG_CFLAGS += -Wno-pedantic
78 else
79 CFLAGS += -UPEDANTIC
80 endif
81
82 include $(RTE_SDK)/mk/rte.lib.mk
83