1#/* 2# * Copyright (c) 2017-2018 Cavium, Inc. 3# * All rights reserved. 4# * 5# * Redistribution and use in source and binary forms, with or without 6# * modification, are permitted provided that the following conditions 7# * are met: 8# * 9# * 1. Redistributions of source code must retain the above copyright 10# * notice, this list of conditions and the following disclaimer. 11# * 2. Redistributions in binary form must reproduce the above copyright 12# * notice, this list of conditions and the following disclaimer in the 13# * documentation and/or other materials provided with the distribution. 14# * 15# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16# * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17# * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18# * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 19# * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20# * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21# * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22# * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23# * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24# * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25# * POSSIBILITY OF SUCH DAMAGE. 26# */ 27#/* 28# * File : Makefile 29# * Author : David C Somayajulu, Cavium, Inc., San Jose, CA 95131. 30# */ 31# 32# $FreeBSD$ 33# 34 35.PATH: ${SRCTOP}/sys/dev/qlnx/qlnxe 36 37#.PATH: ${.CURDIR} 38 39KMOD=if_qlnxe 40 41SRCS=ecore_cxt.c ecore_dcbx.c ecore_dev.c ecore_hw.c 42SRCS+=ecore_init_fw_funcs.c ecore_int.c ecore_mcp.c 43SRCS+=ecore_sp_commands.c ecore_spq.c ecore_l2.c 44SRCS+=ecore_init_ops.c ecore_dbg_fw_funcs.c 45SRCS+=ecore_mng_tlv.c 46 47SRCS+=ecore_sriov.c 48SRCS+=ecore_vf.c 49 50#roce/iwarp files. Compilation can be turned off roce/iwarp are not required. 51# In other words if you don't need RDMA please comment out SRCS adds for 52# ecore_rdma.c ecore_roce.c ecore_iwarp.c ecore_ooo.c ecore_ll2.c qlnx_rdma.c 53SRCS+=ecore_rdma.c 54SRCS+=ecore_roce.c 55SRCS+=ecore_iwarp.c 56SRCS+=ecore_ooo.c 57SRCS+=ecore_ll2.c 58SRCS+=qlnx_rdma.c 59 60SRCS+=qlnx_ioctl.c 61SRCS+=qlnx_os.c 62 63SRCS+= ${LINUXKPI_GENSRCS} 64 65.include <bsd.kmod.mk> 66 67#CFLAGS += -DQLNX_DEBUG 68CFLAGS += -DECORE_PACKAGE 69CFLAGS += -DCONFIG_ECORE_L2 70CFLAGS += -DECORE_CONFIG_DIRECT_HWFN 71 72CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include 73 74#CFLAGS += -g 75#CFLAGS += -fno-inline 76 77#CFLAGS += -DQLNX_SOFT_LRO 78#CFLAGS += -DQLNX_QSORT_LRO 79#CFLAGS += -DQLNX_MAX_COALESCE 80#CFLAGS += -DQLNX_USER_LLDP 81 82CFLAGS += -DCONFIG_ECORE_SRIOV 83 84# For roce/iwarp files. Compilation can be turned off if roce/iwarp are not required. 85# In other words if you don't need RDMA please comment out the CFLAGS which define 86# CONFIG_ECORE_LL2 CONFIG_ECORE_ROCE CONFIG_ECORE_IWARP QLNX_ENABLE_IWARP 87CFLAGS += -DCONFIG_ECORE_LL2 88CFLAGS += -DCONFIG_ECORE_ROCE 89CFLAGS += -DCONFIG_ECORE_IWARP 90CFLAGS += -DCONFIG_ECORE_RDMA 91CFLAGS += -DQLNX_ENABLE_IWARP 92 93CWARNFLAGS+= -Wno-cast-qual 94CWARNFLAGS.ecore_ll2.c+= ${NO_WUNUSED_BUT_SET_VARIABLE} 95