xref: /spdk/lib/Makefile (revision a6dbe3721eb3b5990707fc3e378c95e505dd8ab5)
1#  SPDX-License-Identifier: BSD-3-Clause
2#  Copyright (C) 2015 Intel Corporation.
3#  All rights reserved.
4#
5
6SPDK_ROOT_DIR := $(abspath $(CURDIR)/..)
7include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
8include $(SPDK_ROOT_DIR)/mk/spdk.lib_deps.mk
9
10DIRS-y += bdev blob blobfs conf dma accel event json jsonrpc \
11          log lvol rpc sock thread trace util nvme vmd nvmf scsi \
12          ioat ut_mock iscsi notify init trace_parser
13ifeq ($(OS),Linux)
14DIRS-y += nbd ftl vfio_user
15endif
16
17DIRS-$(CONFIG_OCF) += env_ocf
18DIRS-$(CONFIG_IDXD) += idxd
19DIRS-$(CONFIG_VHOST) += vhost
20DIRS-$(CONFIG_VIRTIO) += virtio
21DIRS-$(CONFIG_REDUCE) += reduce
22DIRS-$(CONFIG_RDMA) += rdma
23DIRS-$(CONFIG_VFIO_USER) += vfu_tgt
24
25# If CONFIG_ENV is pointing at a directory in lib, build it.
26# Out-of-tree env implementations must be built separately by the user.
27ENV_NAME := $(notdir $(CONFIG_ENV))
28ifeq ($(abspath $(CONFIG_ENV)),$(SPDK_ROOT_DIR)/lib/$(ENV_NAME))
29DIRS-y += $(ENV_NAME)
30endif
31
32.PHONY: all clean $(DIRS-y)
33
34all: $(DIRS-y)
35clean: $(DIRS-y)
36
37include $(SPDK_ROOT_DIR)/mk/spdk.subdirs.mk
38