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 34BLOCKDEV_MODULES_LIST = bdev_malloc bdev_null bdev_nvme bdev_passthru bdev_lvol 35BLOCKDEV_MODULES_LIST += bdev_raid bdev_error bdev_gpt bdev_split bdev_delay 36BLOCKDEV_MODULES_LIST += blobfs blob_bdev blob lvol vmd nvme 37 38ifeq ($(CONFIG_CRYPTO),y) 39BLOCKDEV_MODULES_LIST += bdev_crypto 40endif 41 42ifeq ($(CONFIG_OCF),y) 43BLOCKDEV_MODULES_LIST += bdev_ocf 44BLOCKDEV_MODULES_LIST += ocfenv 45endif 46 47ifeq ($(CONFIG_REDUCE),y) 48BLOCKDEV_MODULES_LIST += bdev_compress reduce 49SYS_LIBS += -lpmem 50endif 51 52ifeq ($(CONFIG_RDMA),y) 53SYS_LIBS += -libverbs -lrdmacm 54endif 55 56ifeq ($(OS),Linux) 57BLOCKDEV_MODULES_LIST += ftl 58BLOCKDEV_MODULES_LIST += bdev_aio 59SYS_LIBS += -laio 60ifeq ($(CONFIG_VIRTIO),y) 61BLOCKDEV_MODULES_LIST += bdev_virtio virtio 62endif 63ifeq ($(CONFIG_ISCSI_INITIATOR),y) 64BLOCKDEV_MODULES_LIST += bdev_iscsi 65# Fedora installs libiscsi to /usr/lib64/iscsi for some reason. 66SYS_LIBS += -L/usr/lib64/iscsi -liscsi 67endif 68endif 69 70ifeq ($(CONFIG_URING),y) 71BLOCKDEV_MODULES_LIST += bdev_uring 72SYS_LIBS += -luring 73ifneq ($(strip $(CONFIG_URING_PATH)),) 74CFLAGS += -I$(CONFIG_URING_PATH) 75LDFLAGS += -L$(CONFIG_URING_PATH) 76endif 77endif 78 79ifeq ($(CONFIG_RBD),y) 80BLOCKDEV_MODULES_LIST += bdev_rbd 81SYS_LIBS += -lrados -lrbd 82endif 83 84ifeq ($(CONFIG_PMDK),y) 85BLOCKDEV_MODULES_LIST += bdev_pmem 86SYS_LIBS += -lpmemblk 87endif 88 89SOCK_MODULES_LIST = sock_posix 90 91ifeq ($(CONFIG_VPP),y) 92SYS_LIBS += -Wl,--whole-archive 93ifneq ($(CONFIG_VPP_DIR),) 94SYS_LIBS += -L$(CONFIG_VPP_DIR)/lib 95endif 96SYS_LIBS += -lvppinfra -lsvm -lvlibmemoryclient 97SYS_LIBS += -Wl,--no-whole-archive 98SOCK_MODULES_LIST += sock_vpp 99endif 100 101COPY_MODULES_LIST = copy_ioat ioat 102 103ALL_MODULES_LIST = $(BLOCKDEV_MODULES_LIST) $(COPY_MODULES_LIST) $(SOCK_MODULES_LIST) 104