1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2010-2016 Intel Corporation
4 include $(RTE_SDK
)/mk
/rte.vars.mk
9 LIB
= librte_pmd_ixgbe.a
11 CFLAGS
+= -DALLOW_EXPERIMENTAL_API
13 CFLAGS
+= $(WERROR_FLAGS
)
15 EXPORT_MAP
:= rte_pmd_ixgbe_version.map
19 ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC
),y
)
23 CFLAGS_BASE_DRIVER
= -diag-disable
174 -diag-disable
593 -diag-disable
869
24 CFLAGS_BASE_DRIVER
+= -diag-disable
981 -diag-disable
2259
26 CFLAGS_ixgbe_rxtx.o
+= -diag-disable
3656
28 else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG
),y
)
32 CFLAGS_BASE_DRIVER
= -Wno-unused-parameter
-Wno-unused-value
33 CFLAGS_BASE_DRIVER
+= -Wno-strict-aliasing
-Wno-format-extra-args
39 ifeq ($(shell test $(GCC_VERSION
) -ge
44 && echo
1), 1)
40 CFLAGS
+= -Wno-deprecated
41 CFLAGS_ixgbe_common.o
+= -Wno-unused-but-set-variable
42 CFLAGS_ixgbe_x550.o
+= -Wno-unused-but-set-variable
44 CFLAGS_BASE_DRIVER
= -Wno-unused-parameter
-Wno-unused-value
45 CFLAGS_BASE_DRIVER
+= -Wno-strict-aliasing
-Wno-format-extra-args
47 ifeq ($(shell test $(GCC_VERSION
) -ge
46 && echo
1), 1)
48 CFLAGS_ixgbe_x550.o
+= -Wno-maybe-uninitialized
51 ifeq ($(shell test $(GCC_VERSION
) -ge
50 && echo
1), 1)
52 CFLAGS_ixgbe_common.o
+= -Wno-logical-not-parentheses
53 ifeq ($(shell test $(GCC_VERSION
) -ge
70 && echo
1), 1)
54 CFLAGS_BASE_DRIVER
+= -Wno-implicit-fallthrough
59 LDLIBS
+= -lrte_eal
-lrte_mbuf
-lrte_mempool
-lrte_ring
60 LDLIBS
+= -lrte_ethdev
-lrte_net
-lrte_kvargs
-lrte_hash
61 LDLIBS
+= -lrte_bus_pci
64 # Add extra flags for base driver files (also known as shared code)
65 # to disable warnings in them
67 BASE_DRIVER_OBJS
=$(sort $(patsubst %.c
,%.o
,$(notdir $(wildcard $(SRCDIR
)/base
/*.c
))))
68 $(foreach obj
, $(BASE_DRIVER_OBJS
), $(eval CFLAGS_
$(obj
)+=$(CFLAGS_BASE_DRIVER
)))
70 VPATH
+= $(SRCDIR
)/base
73 # all source are stored in SRCS-y
75 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_common.c
76 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_82598.c
77 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_82599.c
78 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_x540.c
79 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_x550.c
80 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_phy.c
81 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_api.c
82 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_vf.c
83 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_hv_vf.c
84 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_dcb.c
85 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_dcb_82599.c
86 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_dcb_82598.c
87 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_mbx.c
88 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_rxtx.c
89 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_ethdev.c
90 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_fdir.c
91 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_pf.c
92 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_flow.c
93 ifeq ($(CONFIG_RTE_ARCH_ARM64
),y
)
94 SRCS-
$(CONFIG_RTE_IXGBE_INC_VECTOR
) += ixgbe_rxtx_vec_neon.c
96 SRCS-
$(CONFIG_RTE_IXGBE_INC_VECTOR
) += ixgbe_rxtx_vec_sse.c
98 ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_BYPASS
),y
)
99 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_bypass.c
100 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_82599_bypass.c
102 ifeq ($(CONFIG_RTE_LIBRTE_SECURITY
),y
)
103 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_ipsec.c
105 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += rte_pmd_ixgbe.c
106 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_tm.c
107 SRCS-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
) += ixgbe_vf_representor.c
109 # install this header file
110 SYMLINK-
$(CONFIG_RTE_LIBRTE_IXGBE_PMD
)-include := rte_pmd_ixgbe.h
112 include $(RTE_SDK
)/mk
/rte.lib.mk