]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/spdk/mk/spdk.lib.mk
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / mk / spdk.lib.mk
index a9ad7b414ed3954c43c8a47675e5b903e6409094..926c82bcc286a03f3a137a0ee858cc589462e9c2 100644 (file)
 #
 
 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
+
+ifeq ($(SPDK_MAP_FILE),)
+$(error SPDK_MAP_FILE is not set for lib $(LIBNAME))
+endif
+
+ifeq ($(SO_VER),)
+$(error SO major version is not set for lib $(LIBNAME))
+endif
+
+ifeq ($(SO_MINOR),)
+$(error SO minor version is not set for lib $(LIBNAME))
+endif
+
+
+SO_SUFFIX := $(SO_VER).$(SO_MINOR)
 LIB := $(call spdk_lib_list_to_static_libs,$(LIBNAME))
-SHARED_LINKED_LIB := $(subst .a,.so,$(LIB))
-SHARED_REALNAME_LIB := $(subst .so,.so.$(SO_SUFFIX_ALL),$(SHARED_LINKED_LIB))
+SHARED_LINKED_LIB := $(LIB:.a=.so)
+SHARED_REALNAME_LIB := $(SHARED_LINKED_LIB:.so=.so.$(SO_SUFFIX))
 
 ifeq ($(CONFIG_SHARED),y)
 DEP := $(SHARED_LINKED_LIB)
@@ -50,11 +65,24 @@ else
 LOCAL_SYS_LIBS += -lrt
 endif
 
-SPDK_DEP_LIBS = $(call spdk_lib_list_to_shared_libs,$(SPDK_DEP_LIBNAMES))
+define subdirs_rule
+$(1): $(2)
+       @+$(Q)$(MAKE) -C $(1) S=$S$(S:%=/)$@ $(MAKECMDGOALS)
+endef
+
+$(foreach dir,$(DIRS-y),$(eval $(call subdirs_rule,$(dir),$(DEP))))
+
+ifneq ($(DIRS-y),)
+BUILD_DEP := $(DIRS-y)
+else
+BUILD_DEP := $(DEP)
+endif
+
+SPDK_DEP_LIBS = $(call spdk_lib_list_to_shared_libs,$(DEPDIRS-$(LIBNAME)))
 
 .PHONY: all clean $(DIRS-y)
 
-all: $(DEP) $(DIRS-y)
+all: $(BUILD_DEP)
        @:
 
 clean: $(DIRS-y)
@@ -76,12 +104,10 @@ ifeq ($(CONFIG_SHARED),y)
        $(INSTALL_SHARED_LIB)
 endif
 
-uninstall:
+uninstall: $(DIRS-y)
        $(UNINSTALL_LIB)
 ifeq ($(CONFIG_SHARED),y)
        $(UNINSTALL_SHARED_LIB)
 endif
 
 include $(SPDK_ROOT_DIR)/mk/spdk.deps.mk
-
-include $(SPDK_ROOT_DIR)/mk/spdk.subdirs.mk