1# 2# BSD LICENSE 3# 4# Copyright (c) Intel Corporation. 5# All rights reserved. 6# 7# Redistribution and use in source and binary forms, with or without 8# modification, are permitted provided that the following conditions 9# are met: 10# 11# * Redistributions of source code must retain the above copyright 12# notice, this list of conditions and the following disclaimer. 13# * Redistributions in binary form must reproduce the above copyright 14# notice, this list of conditions and the following disclaimer in 15# the documentation and/or other materials provided with the 16# distribution. 17# * Neither the name of Intel Corporation nor the names of its 18# contributors may be used to endorse or promote products derived 19# from this software without specific prior written permission. 20# 21# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32# 33 34SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..) 35include $(SPDK_ROOT_DIR)/mk/spdk.common.mk 36 37SO_VER := 5 38SO_MINOR := 0 39 40C_SRCS = nvme_ctrlr_cmd.c nvme_ctrlr.c nvme_fabric.c nvme_ns_cmd.c nvme_ns.c nvme_pcie_common.c nvme_pcie.c nvme_qpair.c nvme.c nvme_quirks.c nvme_transport.c nvme_uevent.c \ 41 nvme_ctrlr_ocssd_cmd.c nvme_ns_ocssd_cmd.c nvme_tcp.c nvme_opal.c nvme_io_msg.c nvme_poll_group.c nvme_zns.c 42C_SRCS-$(CONFIG_VFIO_USER) += nvme_vfio_user.c 43C_SRCS-$(CONFIG_RDMA) += nvme_rdma.c 44C_SRCS-$(CONFIG_NVME_CUSE) += nvme_cuse.c 45 46LIBNAME = nvme 47LOCAL_SYS_LIBS = 48ifeq ($(CONFIG_RDMA),y) 49LOCAL_SYS_LIBS += -libverbs -lrdmacm 50#Attach only if FreeBSD and RDMA is specified with configure 51ifeq ($(OS),FreeBSD) 52# Mellanox - MLX4 HBA Userspace Library 53ifneq ("$(wildcard /usr/lib/libmlx4.*)","") 54LOCAL_SYS_LIBS += -lmlx4 55endif 56# Mellanox - MLX5 HBA Userspace Library 57ifneq ("$(wildcard /usr/lib/libmlx5.*)","") 58LOCAL_SYS_LIBS += -lmlx5 59endif 60# Chelsio HBA Userspace Library 61ifneq ("$(wildcard /usr/lib/libcxgb4.*)","") 62LOCAL_SYS_LIBS += -lcxgb4 63endif 64endif 65endif 66 67ifeq ($(CONFIG_NVME_CUSE),y) 68# fuse requires to set _FILE_OFFSET_BITS to 64 bits even for 64 bit machines 69CFLAGS += -D_FILE_OFFSET_BITS=64 70endif 71 72SPDK_MAP_FILE = $(abspath $(CURDIR)/spdk_nvme.map) 73 74include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk 75