3b00338ff7256a15e632e653b0a34baa40794da0
[dpdk.git] / drivers / net / qede / Makefile
1 #    SPDX-License-Identifier: BSD-3-Clause
2 #    Copyright (c) 2016 - 2018 Cavium Inc.
3 #    All rights reserved.
4 #    www.cavium.com
5
6 include $(RTE_SDK)/mk/rte.vars.mk
7
8 #
9 # library name
10 #
11 LIB = librte_pmd_qede.a
12
13 CFLAGS += -O3
14 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
15 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
16 LDLIBS += -lrte_bus_pci
17
18 EXPORT_MAP := rte_pmd_qede_version.map
19
20 #
21 # OS
22 #
23 OS_TYPE := $(shell uname -s)
24
25 #
26 # CFLAGS
27 #
28 CFLAGS_BASE_DRIVER = -Wno-unused-parameter
29 CFLAGS_BASE_DRIVER += -Wno-sign-compare
30 CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
31 CFLAGS_BASE_DRIVER += -Wno-cast-qual
32 CFLAGS_BASE_DRIVER += -Wno-unused-function
33 CFLAGS_BASE_DRIVER += -Wno-unused-variable
34 CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
35 CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
36
37 ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
38 CFLAGS_BASE_DRIVER += -Wno-unused-value
39 ifeq ($(OS_TYPE),Linux)
40 ifeq ($(shell clang -Wno-shift-negative-value -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
41 CFLAGS_BASE_DRIVER += -Wno-shift-negative-value
42 endif
43 endif
44 endif
45
46 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
47 ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
48 CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
49 CFLAGS += -Wno-format-nonliteral
50 endif
51 CFLAGS_BASE_DRIVER += -Wno-missing-declarations
52 ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
53 CFLAGS_BASE_DRIVER += -Wno-maybe-uninitialized
54 endif
55 CFLAGS_BASE_DRIVER += -Wno-strict-prototypes
56 ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1)
57 CFLAGS_BASE_DRIVER += -Wno-shift-negative-value
58 ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
59 CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
60 endif
61 endif
62 else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
63 CFLAGS_BASE_DRIVER += -Wno-format-extra-args
64 CFLAGS_BASE_DRIVER += -Wno-visibility
65 CFLAGS_BASE_DRIVER += -Wno-empty-body
66 CFLAGS_BASE_DRIVER += -Wno-invalid-source-encoding
67 CFLAGS_BASE_DRIVER += -Wno-sometimes-uninitialized
68 ifeq ($(shell clang -Wno-pointer-bool-conversion -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
69 CFLAGS_BASE_DRIVER += -Wno-pointer-bool-conversion
70 endif
71 else #ICC
72 CFLAGS_qede_ethdev.o += -diag-disable 279 #279: controlling expression is constant
73 endif
74
75 #
76 # Add extra flags for base ecore driver files
77 # to disable warnings in them
78 #
79 #
80 BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
81 $(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
82
83 VPATH += $(SRCDIR)/base
84
85 #
86 # all source are stored in SRCS-y
87 #
88 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_dev.c
89 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_hw.c
90 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_cxt.c
91 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_l2.c
92 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_sp_commands.c
93 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_init_fw_funcs.c
94 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_spq.c
95 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_init_ops.c
96 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_mcp.c
97 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_int.c
98 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_dcbx.c
99 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += bcm_osal.c
100 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_sriov.c
101 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_vf.c
102 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_ethdev.c
103 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_main.c
104 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_rxtx.c
105 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_filter.c
106 SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_debug.c
107
108 include $(RTE_SDK)/mk/rte.lib.mk