xref: /spdk/lib/ftl/Makefile (revision f869197b76ff6981e901b6d9a05789e1b993494a)
1#  SPDX-License-Identifier: BSD-3-Clause
2#  Copyright (c) Intel Corporation.
3#  All rights reserved.
4#
5
6SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
7include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
8
9SO_VER := 5
10SO_MINOR := 0
11
12ifdef SPDK_FTL_VSS_EMU
13CFLAGS += -DSPDK_FTL_VSS_EMU
14endif
15
16ifdef SPDK_FTL_L2P_FLAT
17CFLAGS += -DSPDK_FTL_L2P_FLAT
18endif
19
20ifneq ($(strip $(SPDK_FTL_ZONE_EMU_BLOCKS)),)
21CFLAGS += -DSPDK_FTL_ZONE_EMU_BLOCKS=$(SPDK_FTL_ZONE_EMU_BLOCKS)
22endif
23
24CFLAGS += -I.
25
26FTL_SUBDIRS := mngt utils
27
28C_SRCS = ftl_core.c ftl_init.c ftl_layout.c ftl_debug.c ftl_io.c ftl_sb.c ftl_l2p.c ftl_l2p_flat.c
29C_SRCS += ftl_nv_cache.c ftl_band.c ftl_band_ops.c ftl_writer.c ftl_rq.c ftl_reloc.c ftl_l2p_cache.c
30C_SRCS += ftl_p2l.c
31C_SRCS += mngt/ftl_mngt.c mngt/ftl_mngt_bdev.c mngt/ftl_mngt_shutdown.c mngt/ftl_mngt_startup.c
32C_SRCS += mngt/ftl_mngt_md.c mngt/ftl_mngt_misc.c mngt/ftl_mngt_ioch.c mngt/ftl_mngt_l2p.c
33C_SRCS += mngt/ftl_mngt_band.c mngt/ftl_mngt_self_test.c mngt/ftl_mngt_p2l.c
34C_SRCS += mngt/ftl_mngt_recovery.c
35C_SRCS += utils/ftl_conf.c utils/ftl_md.c utils/ftl_mempool.c utils/ftl_bitmap.c
36
37SPDK_MAP_FILE = $(abspath $(CURDIR)/spdk_ftl.map)
38
39LIBNAME = ftl
40
41include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk
42
43# TODO: This should be handled by spdk.subdirs.mk
44CLEAN_FTL_SUBDIRS = $(addprefix clean_ftl_, $(FTL_SUBDIRS))
45
46clean: $(CLEAN_FTL_SUBDIRS)
47
48.PHONY: $(CLEAN_FTL_SUBDIRS)
49$(CLEAN_FTL_SUBDIRS): _Q := $(Q)
50$(CLEAN_FTL_SUBDIRS): Q :=
51$(CLEAN_FTL_SUBDIRS): clean_ftl_%:%
52	$(_Q)cd $< && $(CLEAN_C)
53