xref: /freebsd/sys/modules/qlnx/qlnxr/Makefile (revision 8ddb146abcdf061be9f2c0db7e391697dafad85c)
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:  ${.CURDIR}
36#OFEDDIR= /usr/src/sys
37#ETHDRVR=${.CURDIR}/../qlnxe
38
39.PATH: ${SRCTOP}/sys/dev/qlnx/qlnxr
40OFEDDIR=${SRCTOP}/sys
41ETHDRVR=${SRCTOP}/sys/dev/qlnx/qlnxe
42
43KMOD=   qlnxr
44SRCS=   \
45        qlnxr_os.c\
46	qlnxr_cm.c\
47	qlnxr_verbs.c
48SRCS+=	${LINUXKPI_GENSRCS}
49SRCS+=	opt_inet.h opt_inet6.h
50
51.include <bsd.kmod.mk>
52
53CFLAGS+= -I${.CURDIR}
54CFLAGS+= -I${ETHDRVR}
55CFLAGS+= -I${OFEDDIR}/ofed/include
56CFLAGS+= -I${OFEDDIR}/ofed/include/uapi
57CFLAGS+= -I${OFEDDIR}/compat/linuxkpi/common/include
58
59CFLAGS+= -DLINUX_TYPES_DEFINED
60CFLAGS+= -DCONFIG_INFINIBAND_USER_MEM
61CFLAGS+= -DINET6 -DINET
62#CFLAGS+= -DDEFINE_NO_IP_BASED_GIDS
63
64CWARNEXTRA += -Wno-cast-qual
65CWARNEXTRA += -Wno-unused-function
66.if ${COMPILER_TYPE} == "clang"
67CWARNEXTRA += -Wno-gnu-variable-sized-type-not-at-end
68.endif
69CWARNEXTRA += -Wno-missing-prototypes
70CWARNEXTRA += ${NO_WCONSTANT_CONVERSION}
71CWARNEXTRA += -Wno-format
72
73CWARNEXTRA += ${NO_WSHIFT_COUNT_OVERFLOW}
74CWARNEXTRA += -Wno-empty-body
75
76CFLAGS += -DQLNX_DEBUG
77CFLAGS += -DECORE_PACKAGE
78CFLAGS += -DCONFIG_ECORE_L2
79CFLAGS += -DCONFIG_ECORE_LL2
80CFLAGS += -DCONFIG_ECORE_ROCE
81CFLAGS += -DCONFIG_ECORE_IWARP
82CFLAGS += -DCONFIG_ECORE_RDMA
83CFLAGS += -DECORE_CONFIG_DIRECT_HWFN
84CFLAGS += -g -fno-inline
85CFLAGS += -DQLNX_RDMA
86
87CFLAGS+= -Wno-cast-qual -Wno-pointer-arith
88
89