# $FreeBSD$
.PATH:	${SRCTOP}/sys/dev/bnxt/bnxt_re

KMOD=bnxt_re
SRCS+=	${LINUXKPI_GENSRCS}
SRCS+= 	opt_inet.h opt_inet6.h opt_ratelimit.h
SRCS	+= ib_verbs.c ib_verbs.h
SRCS	+= qplib_fp.c qplib_fp.h
SRCS	+= qplib_sp.c qplib_sp.h
SRCS	+= qplib_res.c qplib_res.h
SRCS	+= qplib_rcfw.c qplib_rcfw.h
SRCS	+= stats.c
SRCS	+= main.c
SRCS	+= compat.c

.OFA_KERNEL_PATH: ${SRCTOP}/sys/ofed/

CFLAGS+= -I../bnxt_en
CFLAGS+= -I${SRCTOP}/sys/dev/bnxt/bnxt_en
CFLAGS+= -I${SRCTOP}/sys/ofed/include
CFLAGS+= -I${SRCTOP}/sys/ofed/include/uapi
CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
CFLAGS+= -DCONFIG_INFINIBAND_USER_MEM
CFLAGS+= -DHAVE_IB_MW_TYPE
CFLAGS+= -DHAVE_DMA_ZALLOC_COHERENT
CFLAGS+= -DHAVE_IB_UMEM_NUM_PAGES
CFLAGS+= -DHAVE_ETHER_ADDR_COPY
CFLAGS+= -DHAVE_PCI_NUM_VF
CFLAGS+= -DHAVE_IB_RDMA_WR
CFLAGS+= -DHAVE_IB_UD_WR
CFLAGS+= -DHAVE_DMA_BLOCK_ITERATOR
CFLAGS+= -DHAVE_IB_UMEM_FIND_BEST_PGSZ
CFLAGS+= -DHAVE_ALLOW_MW_WITH_UDATA
CFLAGS+= -DHAVE_DISASSOCIATE_UCNTX
CFLAGS+= -DHAVE_IB_ACCESS_ON_DEMAND
CFLAGS+= -DHAVE_IB_ADD_DEL_GID
CFLAGS+= -DHAVE_IB_ALLOC_MR
CFLAGS+= -DHAVE_IB_GID_ATTR
CFLAGS+= -DHAVE_IB_CQ_INIT_ATTR
CFLAGS+= -DHAVE_IB_CREATE_AH_UDATA
CFLAGS+= -DHAVE_IB_GET_DEV_FW_STR
CFLAGS+= -DHAVE_IB_GET_PORT_IMMUTABLE
CFLAGS+= -DHAVE_IB_MAD_HDR
CFLAGS+= -DHAVE_IB_MAP_MR_SG
CFLAGS+= -DHAVE_IB_MAP_MR_SG_OFFSET
CFLAGS+= -DHAVE_IB_MAP_MR_SG_PAGE_SIZE
#CFLAGS+= -DHAVE_IB_MODIFY_GID
CFLAGS+= -DHAVE_IB_ODP_CAPS
CFLAGS+= -DHAVE_IB_QUERY_DEVICE_UDATA
CFLAGS+= -DHAVE_IB_REG_MR_WR
CFLAGS+= -DHAVE_IB_UMEM_PAGE_SHIFT
CFLAGS+= -DHAVE_IB_WC_SMAC
CFLAGS+= -DHAVE_IB_WC_VLAN_ID
CFLAGS+= -DHAVE_IB_ZERO_BASED
#CFLAGS+= -DHAVE_QP_ALLOC_IN_IB_CORE
CFLAGS+= -DHAVE_SIMPLER_ADD_GID
CFLAGS+= -DPOST_QP1_DUMMY_WQE
CFLAGS+= -DUSE_PROCESS_MAD
CFLAGS+= -DUSE_SIGNATURE_HANDOVER
CFLAGS+= -DHAVE_IB_UMEM_SG_TABLE
CFLAGS+= -DHAVE_IB_GET_CACHED_GID
#CFLAGS+= -DHAVE_LL_IN_IB_MODIFY_QP_IS_OK
CFLAGS+= -DHAVE_IB_RESOLVE_ETH_DMAC
CFLAGS+= -DHAVE_IB_GET_NETDEV
CFLAGS+= -DHAVE_IB_AH_DMAC
CFLAGS+= -DHAVE_IB_UVERBS_CMD_MASK_IN_DRIVER

CFLAGS+= -DHAVE_IB_ARG_CONST_CHANGE
#CFLAGS+= -DHAVE_ALLOC_MW_RET_INT

FREEBSD_VERSION != uname -r | cut -d '.' -f 1

.if ${FREEBSD_VERSION} == "13"
CFLAGS+= -DHAVE_UCONTEXT_IN_ALLOC_PD
CFLAGS+= -DHAVE_CREATE_CQ_UCONTEXT
.else
CFLAGS+= -DHAVE_RDMA_USER_MMAP_IO
CFLAGS+= -DHAVE_RDMA_USER_MMAP_IO_USE_MMAP_ENTRY
CFLAGS+= -DHAVE_PD_ALLOC_IN_IB_CORE
CFLAGS+= -DHAVE_RDMA_UDATA_TO_DRV_CONTEXT
CFLAGS+= -DHAVE_DEALLOC_PD_UDATA
CFLAGS+= -DHAVE_DEALLOC_PD_RET_VOID
CFLAGS+= -DHAVE_AH_ALLOC_IN_IB_CORE
CFLAGS+= -DHAVE_SLEEPABLE_AH
CFLAGS+= -DHAVE_DESTROY_AH_RET_VOID
CFLAGS+= -DHAVE_SRQ_CREATE_IN_IB_CORE
CFLAGS+= -DHAVE_DESTROY_SRQ_UDATA
CFLAGS+= -DHAVE_DESTROY_SRQ_RET_VOID
CFLAGS+= -DHAVE_DESTROY_QP_UDATA
CFLAGS+= -DHAVE_CQ_ALLOC_IN_IB_CORE
CFLAGS+= -DHAVE_DESTROY_CQ_UDATA
CFLAGS+= -DHAVE_DESTROY_CQ_RET_VOID
CFLAGS+= -DHAVE_DEREG_MR_UDATA
CFLAGS+= -DHAVE_ALLOC_MR_UDATA
CFLAGS+= -DHAVE_UCONTEXT_ALLOC_IN_IB_CORE
CFLAGS+= -DHAVE_IB_USER_VERBS_EX_CMD_MODIFY_QP
.endif

DEBUG_FLAGS= -g

.include <bsd.kmod.mk>

CFLAGS+= -Wno-cast-qual -Wno-pointer-arith ${GCC_MS_EXTENSIONS}
