vdpa/mlx5: introduce Mellanox vDPA driver
[dpdk.git] / drivers / vdpa / mlx5 / Makefile
1 #   SPDX-License-Identifier: BSD-3-Clause
2 #   Copyright 2019 Mellanox Technologies, Ltd
3
4 include $(RTE_SDK)/mk/rte.vars.mk
5
6 # Library name.
7 LIB = librte_pmd_mlx5_vdpa.a
8
9 # Sources.
10 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa.c
11
12 # Basic CFLAGS.
13 CFLAGS += -O3
14 CFLAGS += -std=c11 -Wall -Wextra
15 CFLAGS += -g
16 CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
17 CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5_vdpa
18 CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
19 CFLAGS += -D_BSD_SOURCE
20 CFLAGS += -D_DEFAULT_SOURCE
21 CFLAGS += -D_XOPEN_SOURCE=600
22 CFLAGS += $(WERROR_FLAGS)
23 CFLAGS += -Wno-strict-prototypes
24 LDLIBS += -lrte_common_mlx5
25 LDLIBS += -lrte_eal -lrte_vhost -lrte_kvargs -lrte_bus_pci
26
27 # A few warnings cannot be avoided in external headers.
28 CFLAGS += -Wno-error=cast-qual
29
30 EXPORT_MAP := rte_pmd_mlx5_vdpa_version.map
31 # memseg walk is not part of stable API
32 CFLAGS += -DALLOW_EXPERIMENTAL_API
33
34 # DEBUG which is usually provided on the command-line may enable
35 # CONFIG_RTE_LIBRTE_MLX5_DEBUG.
36 ifeq ($(DEBUG),1)
37 CONFIG_RTE_LIBRTE_MLX5_DEBUG := y
38 endif
39
40 # User-defined CFLAGS.
41 ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
42 CFLAGS += -pedantic
43 ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
44 CFLAGS += -DPEDANTIC
45 endif
46 AUTO_CONFIG_CFLAGS += -Wno-pedantic
47 else
48 CFLAGS += -UPEDANTIC
49 endif
50
51 include $(RTE_SDK)/mk/rte.lib.mk