From 9d14641dd52394da29c6c67b22b75d0afc8078cb Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Thu, 22 Aug 2019 10:26:08 -0700 Subject: [PATCH] mk: add a lib deps file. By adding this file and modifying the way we define a couple of variables in the makefiles, we can actually avoid having to redefine the library dependencies on a per file basis. Change-Id: Ieab4aa1021b0341fc21e3b65677a9ad7f70559c2 Signed-off-by: Seth Howell Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466063 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Ben Walker Reviewed-by: Broadcom SPDK FC-NVMe CI --- lib/Makefile | 4 +--- lib/iscsi/Makefile | 1 - mk/spdk.lib.mk | 3 ++- mk/spdk.lib_deps.mk | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 mk/spdk.lib_deps.mk diff --git a/lib/Makefile b/lib/Makefile index 36f18929108..aadf2fd2878 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -33,6 +33,7 @@ SPDK_ROOT_DIR := $(abspath $(CURDIR)/..) include $(SPDK_ROOT_DIR)/mk/spdk.common.mk +include $(SPDK_ROOT_DIR)/mk/spdk.lib_deps.mk DIRS-y += bdev blob blobfs conf copy event json jsonrpc \ log log_rpc lvol net rpc sock thread trace util nvme vmd nvmf scsi \ @@ -52,9 +53,6 @@ ifeq ($(abspath $(CONFIG_ENV)),$(SPDK_ROOT_DIR)/lib/$(ENV_NAME)) DIRS-y += $(ENV_NAME) endif -DEPDIRS-iscsi := scsi -DEPDIRS-bdev := notify - .PHONY: all clean $(DIRS-y) all: $(DIRS-y) diff --git a/lib/iscsi/Makefile b/lib/iscsi/Makefile index 23193d0cfa5..9cfb71c31d6 100644 --- a/lib/iscsi/Makefile +++ b/lib/iscsi/Makefile @@ -41,6 +41,5 @@ C_SRCS = conn.c \ iscsi_rpc.c task.c LIBNAME = iscsi LOCAL_SYS_LIBS = -lcrypto -SPDK_DEP_LIBNAMES = scsi include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk diff --git a/mk/spdk.lib.mk b/mk/spdk.lib.mk index 22ada3554f0..a710179d09e 100644 --- a/mk/spdk.lib.mk +++ b/mk/spdk.lib.mk @@ -32,6 +32,7 @@ # include $(SPDK_ROOT_DIR)/mk/spdk.common.mk +include $(SPDK_ROOT_DIR)/mk/spdk.lib_deps.mk SPDK_MAP_FILE = $(SPDK_ROOT_DIR)/shared_lib/spdk.map LIB := $(call spdk_lib_list_to_static_libs,$(LIBNAME)) @@ -63,7 +64,7 @@ else BUILD_DEP := $(DEP) endif -SPDK_DEP_LIBS = $(call spdk_lib_list_to_shared_libs,$(SPDK_DEP_LIBNAMES)) +SPDK_DEP_LIBS = $(call spdk_lib_list_to_shared_libs,$(DEPDIRS-$(LIBNAME))) .PHONY: all clean $(DIRS-y) diff --git a/mk/spdk.lib_deps.mk b/mk/spdk.lib_deps.mk new file mode 100644 index 00000000000..5637b13a7ab --- /dev/null +++ b/mk/spdk.lib_deps.mk @@ -0,0 +1,35 @@ +# +# BSD LICENSE +# +# Copyright (c) Intel Corporation. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +DEPDIRS-iscsi := scsi +DEPDIRS-bdev := notify