xref: /spdk/lib/ftl/Makefile (revision 309682ca440b54ff500d4c51e4eebe21b01df887)
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
8
9SO_VER := 7
10SO_MINOR := 1
11
12ifdef SPDK_FTL_RETRY_ON_ERROR
13CFLAGS += -DSPDK_FTL_RETRY_ON_ERROR
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 upgrade
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 ftl_trace.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 mngt/ftl_mngt_upgrade.c
35C_SRCS += utils/ftl_conf.c utils/ftl_md.c utils/ftl_mempool.c utils/ftl_bitmap.c utils/ftl_property.c
36C_SRCS += upgrade/ftl_layout_upgrade.c upgrade/ftl_sb_upgrade.c upgrade/ftl_p2l_upgrade.c
37C_SRCS += upgrade/ftl_band_upgrade.c upgrade/ftl_chunk_upgrade.c
38C_SRCS += nvc/ftl_nvc_dev.c nvc/ftl_nvc_bdev_vss.c
39
40SPDK_MAP_FILE = $(abspath $(CURDIR)/spdk_ftl.map)
41
42LIBNAME = ftl
43
44include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk
45
46# TODO: This should be handled by spdk.subdirs.mk
47CLEAN_FTL_SUBDIRS = $(addprefix clean_ftl_, $(FTL_SUBDIRS))
48
49clean: $(CLEAN_FTL_SUBDIRS)
50
51.PHONY: $(CLEAN_FTL_SUBDIRS)
52$(CLEAN_FTL_SUBDIRS): _Q := $(Q)
53$(CLEAN_FTL_SUBDIRS): Q :=
54$(CLEAN_FTL_SUBDIRS): clean_ftl_%:%
55	$(_Q)cd $< && $(CLEAN_C)
56