1488570ebSJim Harris# SPDX-License-Identifier: BSD-3-Clause 2a6dbe372Spaul luse# Copyright (C) 2015 Intel Corporation. 3cf151d60SAlexey Marchuk# Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. 41010fb3aSDaniel Verkamp# All rights reserved. 51010fb3aSDaniel Verkamp# 61010fb3aSDaniel Verkamp 7cd48a01fSDaniel VerkampSPDK_ROOT_DIR := $(abspath $(CURDIR)/..) 81010fb3aSDaniel Verkampinclude $(SPDK_ROOT_DIR)/mk/spdk.common.mk 99d14641dSSeth Howellinclude $(SPDK_ROOT_DIR)/mk/spdk.lib_deps.mk 101010fb3aSDaniel Verkamp 114e527910SAlexey MarchukDIRS-y += bdev blob blobfs conf dma accel event json jsonrpc \ 12e1d06d99SBen Walker log lvol rpc sock thread trace util nvme vmd nvmf scsi \ 13cc662ec1SKonrad Sztyber ioat ut_mock iscsi notify init trace_parser keyring 14d29384bfSBen Walkerifeq ($(OS),Linux) 15e50ade31SChangpeng LiuDIRS-y += nbd ftl vfio_user 16ed2b53f3SYifan Bianifeq ($(CONFIG_UBLK),y) 17ed2b53f3SYifan BianDIRS-y += ublk 18ed2b53f3SYifan Bianendif 19d29384bfSBen Walkerendif 20d29384bfSBen Walker 213c6897d0SKonrad Sztyber# The ut library is used by unit tests and some functional tests, so build it only when either of 223c6897d0SKonrad Sztyber# these configs is enabled 233c6897d0SKonrad Sztyberifeq ($(filter $(CONFIG_TESTS) $(CONFIG_UNIT_TESTS),y),y) 243c6897d0SKonrad SztyberDIRS-y += ut 253c6897d0SKonrad Sztyberendif 263c6897d0SKonrad Sztyber 277463b0deSSeth HowellDIRS-$(CONFIG_OCF) += env_ocf 28e58e9fbdSpaul luseDIRS-$(CONFIG_IDXD) += idxd 2927b920a2SDarek StojaczykDIRS-$(CONFIG_VHOST) += vhost 3027b920a2SDarek StojaczykDIRS-$(CONFIG_VIRTIO) += virtio 3119e2dc38Spaul luseDIRS-$(CONFIG_VBDEV_COMPRESS) += reduce 32cf151d60SAlexey MarchukDIRS-$(CONFIG_RDMA) += rdma_provider 338a01b4d6SAlexey MarchukDIRS-$(CONFIG_RDMA) += rdma_utils 34e50ade31SChangpeng LiuDIRS-$(CONFIG_VFIO_USER) += vfu_tgt 35*a9eea50dSAnton NayshtutDIRS-$(CONFIG_FSDEV) += fsdev fuse_dispatcher 3697022803SJim Harris 37a1dfa7ecSAlexey Marchukifeq ($(CONFIG_RDMA_PROV),mlx5_dv) 38a1dfa7ecSAlexey MarchukDIRS-y += mlx5 39a1dfa7ecSAlexey Marchukendif 40bd2b1d37SDaniel Verkamp# If CONFIG_ENV is pointing at a directory in lib, build it. 41bd2b1d37SDaniel Verkamp# Out-of-tree env implementations must be built separately by the user. 42bd2b1d37SDaniel VerkampENV_NAME := $(notdir $(CONFIG_ENV)) 43bd2b1d37SDaniel Verkampifeq ($(abspath $(CONFIG_ENV)),$(SPDK_ROOT_DIR)/lib/$(ENV_NAME)) 44bd2b1d37SDaniel VerkampDIRS-y += $(ENV_NAME) 45bd2b1d37SDaniel Verkampendif 460f912a0eSDaniel Verkamp 471010fb3aSDaniel Verkamp.PHONY: all clean $(DIRS-y) 481010fb3aSDaniel Verkamp 491010fb3aSDaniel Verkampall: $(DIRS-y) 501010fb3aSDaniel Verkampclean: $(DIRS-y) 511010fb3aSDaniel Verkamp 521010fb3aSDaniel Verkampinclude $(SPDK_ROOT_DIR)/mk/spdk.subdirs.mk 53