]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | # SPDX-License-Identifier: BSD-3-Clause |
2 | # Copyright(c) 2018 Intel Corporation | |
3 | ||
4 | include $(RTE_SDK)/mk/rte.vars.mk | |
5 | ||
6 | # | |
7 | # library name | |
8 | # | |
9 | LIB = librte_pmd_ice.a | |
10 | ||
11 | CFLAGS += -O3 | |
12 | CFLAGS += $(WERROR_FLAGS) | |
f67539c2 | 13 | CFLAGS += -I$(RTE_SDK)/drivers/common/iavf |
9f95a23c TL |
14 | |
15 | LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_kvargs | |
f67539c2 TL |
16 | LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_hash |
17 | LDLIBS += -lrte_net -lrte_common_iavf | |
18 | LDLIBS += -lpthread | |
9f95a23c TL |
19 | |
20 | EXPORT_MAP := rte_pmd_ice_version.map | |
21 | ||
9f95a23c TL |
22 | # |
23 | # Add extra flags for base driver files (also known as shared code) | |
24 | # to disable warnings | |
25 | # | |
26 | ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) | |
27 | CFLAGS_BASE_DRIVER += | |
28 | else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) | |
29 | CFLAGS_BASE_DRIVER += -Wno-unused-parameter | |
30 | CFLAGS_BASE_DRIVER += -Wno-unused-variable | |
31 | else | |
32 | CFLAGS_BASE_DRIVER += -Wno-unused-parameter | |
33 | CFLAGS_BASE_DRIVER += -Wno-unused-variable | |
34 | ||
35 | ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1) | |
36 | CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable | |
37 | endif | |
38 | ||
39 | endif | |
40 | OBJS_BASE_DRIVER=$(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))) | |
41 | $(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER))) | |
42 | ||
43 | VPATH += $(SRCDIR)/base | |
44 | ||
45 | # | |
46 | # all source are stored in SRCS-y | |
47 | # | |
48 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_controlq.c | |
49 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_common.c | |
50 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_sched.c | |
51 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_switch.c | |
52 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_nvm.c | |
53 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_flex_pipe.c | |
54 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_flow.c | |
55 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcb.c | |
56 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_fdir.c | |
f67539c2 TL |
57 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_acl.c |
58 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_acl_ctrl.c | |
9f95a23c TL |
59 | |
60 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_ethdev.c | |
61 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx.c | |
62 | ifeq ($(CONFIG_RTE_ARCH_X86), y) | |
63 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx_vec_sse.c | |
64 | endif | |
65 | ||
f67539c2 TL |
66 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_switch_filter.c |
67 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_fdir_filter.c | |
68 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_hash.c | |
9f95a23c TL |
69 | ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2) |
70 | CC_AVX2_SUPPORT=1 | |
71 | else | |
72 | CC_AVX2_SUPPORT=\ | |
73 | $(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \ | |
74 | grep -q AVX2 && echo 1) | |
75 | ifeq ($(CC_AVX2_SUPPORT), 1) | |
76 | ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) | |
77 | CFLAGS_ice_rxtx_vec_avx2.o += -march=core-avx2 | |
78 | else | |
79 | CFLAGS_ice_rxtx_vec_avx2.o += -mavx2 | |
80 | endif | |
81 | endif | |
82 | endif | |
83 | ||
84 | ifeq ($(CC_AVX2_SUPPORT), 1) | |
85 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx_vec_avx2.c | |
86 | endif | |
f67539c2 TL |
87 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_generic_flow.c |
88 | ||
89 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf.c | |
90 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf_ethdev.c | |
91 | SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf_parent.c | |
92 | ||
93 | # install this header file | |
94 | SYMLINK-$(CONFIG_RTE_LIBRTE_ICE_PMD)-include := rte_pmd_ice.h | |
9f95a23c TL |
95 | |
96 | include $(RTE_SDK)/mk/rte.lib.mk |