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 := 8 10SO_MINOR := 0 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 39C_SRCS += base/ftl_base_dev.c base/ftl_base_bdev.c 40 41SPDK_MAP_FILE = $(abspath $(CURDIR)/spdk_ftl.map) 42 43LIBNAME = ftl 44 45include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk 46 47# TODO: This should be handled by spdk.subdirs.mk 48CLEAN_FTL_SUBDIRS = $(addprefix clean_ftl_, $(FTL_SUBDIRS)) 49 50clean: $(CLEAN_FTL_SUBDIRS) 51 52.PHONY: $(CLEAN_FTL_SUBDIRS) 53$(CLEAN_FTL_SUBDIRS): _Q := $(Q) 54$(CLEAN_FTL_SUBDIRS): Q := 55$(CLEAN_FTL_SUBDIRS): clean_ftl_%:% 56 $(_Q)cd $< && $(CLEAN_C) 57