diff --git a/mk/spdk.lib.mk b/mk/spdk.lib.mk index a9ad7b414..22ada3554 100644 --- a/mk/spdk.lib.mk +++ b/mk/spdk.lib.mk @@ -50,11 +50,24 @@ else LOCAL_SYS_LIBS += -lrt endif +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,$(SPDK_DEP_LIBNAMES)) .PHONY: all clean $(DIRS-y) -all: $(DEP) $(DIRS-y) +all: $(BUILD_DEP) @: clean: $(DIRS-y) @@ -76,12 +89,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