.include <bsd.own.mk>

OFED_INC_DIR = /usr/src/sys/ofed/include/
.PATH:	${.CURDIR}/CORE

KMOD=	irdma
SRCS=	icrdma.c
SRCS+=	icrdma_main.c hw.c verbs.c utils.c
SRCS+=	cm.c irdma_kcompat.c
SRCS+=  irdma_if.h irdma_di_if.h ice_rdma.h vnode_if.h device_if.h bus_if.h opt_inet.h pci_if.h opt_inet6.h

# Shared source
SRCS+=	ctrl.c hmc.c icrdma_hw.c pble.c puda.c uda.c uk.c ws.c
#SRCS+=	vf.c virtchnl.c

CFLAGS+= -I${ICE_DIR} -I${OFED_INC_DIR}
CFLAGS+= -DINET -DINET6 -DCONFIG_INFINIBAND_USER_MEM

# check FreeBSD version
KERNVER != uname -K
VERS_CHECK != test $(KERNVER) -ge 1100000 ; echo $$?
RDMA_49    != test $(KERNVER) -ge 1102000 ; echo $$?
VMG        != test $(KERNVER) -ge 1200000 ; echo $$?
F13        != test $(KERNVER) -ge 1300000 ; echo $$?

.if !$(RDMA_49)
CFLAGS += -I${OFED_INC_DIR}/uapi
.endif

.if !$(VMG)
CFLAGS += -DVIMAGE
.else
CFLAGS += -UVIMAGE
.endif

.if !$(VERS_CHECK)
CFLAGS += -I/usr/src/sys/compat/linuxkpi/common/include
.endif

.if !$(F13)
CFLAGS += -Wno-gnu-variable-sized-type-not-at-end
.endif

irdma_if.m:
	echo "$(ICE_DIR)/rdma_if.m"
	cp $(ICE_DIR)/irdma_if.m .

irdma_di_if.m:
	cp $(ICE_DIR)/irdma_di_if.m .

ice_rdma.h:
	cp $(ICE_DIR)/ice_rdma.h .

# Debug messages
CFLAGS += -ferror-limit=1000
LDFLAGS+= --error-unresolved-symbols
clean:
	rm -rf machine x86
	rm -f irdma_if.m irdma_di_if.m ice_rdma.h irdma_di_if.h irdma_if.h
	rm -f export_syms *.ko *.o irdma.kld opt_inet.h opt_inet6.h vnode_if.h vnode_if_newproto.h vnode_if_typedef.h device_if.h bus_if.h pci_if.h


.include <bsd.kmod.mk>
