1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for Mellanox 5th generation network adapters
4# (ConnectX series) core & netdev driver
5#
6
7subdir-ccflags-y += -I$(src)
8
9obj-$(CONFIG_MLX5_CORE) += mlx5_core.o
10
11#
12# mlx5 core basic
13#
14mlx5_core-y :=	main.o cmd.o debugfs.o fw.o eq.o uar.o pagealloc.o \
15		health.o mcg.o cq.o alloc.o qp.o port.o mr.o pd.o \
16		transobj.o vport.o sriov.o fs_cmd.o fs_core.o \
17		fs_counters.o rl.o lag.o dev.o events.o wq.o lib/gid.o \
18		lib/devcom.o diag/fs_tracepoint.o diag/fw_tracer.o
19
20#
21# Netdev basic
22#
23mlx5_core-$(CONFIG_MLX5_CORE_EN) += en_main.o en_common.o en_fs.o en_ethtool.o \
24		en_tx.o en_rx.o en_dim.o en_txrx.o en/xdp.o en_stats.o \
25		en_selftest.o en/port.o en/monitor_stats.o en/reporter_tx.o \
26		en/params.o
27
28#
29# Netdev extra
30#
31mlx5_core-$(CONFIG_MLX5_EN_ARFS)     += en_arfs.o
32mlx5_core-$(CONFIG_MLX5_EN_RXNFC)    += en_fs_ethtool.o
33mlx5_core-$(CONFIG_MLX5_CORE_EN_DCB) += en_dcbnl.o en/port_buffer.o
34mlx5_core-$(CONFIG_MLX5_ESWITCH)     += en_rep.o en_tc.o en/tc_tun.o lib/port_tun.o lag_mp.o
35
36#
37# Core extra
38#
39mlx5_core-$(CONFIG_MLX5_ESWITCH)   += eswitch.o eswitch_offloads.o ecpf.o rdma.o
40mlx5_core-$(CONFIG_MLX5_MPFS)      += lib/mpfs.o
41mlx5_core-$(CONFIG_VXLAN)          += lib/vxlan.o
42mlx5_core-$(CONFIG_PTP_1588_CLOCK) += lib/clock.o
43
44#
45# Ipoib netdev
46#
47mlx5_core-$(CONFIG_MLX5_CORE_IPOIB) += ipoib/ipoib.o ipoib/ethtool.o ipoib/ipoib_vlan.o
48
49#
50# Accelerations & FPGA
51#
52mlx5_core-$(CONFIG_MLX5_ACCEL) += accel/ipsec.o accel/tls.o
53
54mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o fpga/sdk.o \
55				 fpga/ipsec.o fpga/tls.o
56
57mlx5_core-$(CONFIG_MLX5_EN_IPSEC) += en_accel/ipsec.o en_accel/ipsec_rxtx.o \
58				     en_accel/ipsec_stats.o
59
60mlx5_core-$(CONFIG_MLX5_EN_TLS) += en_accel/tls.o en_accel/tls_rxtx.o en_accel/tls_stats.o
61