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