diff --git a/app/iscsi_tgt/Makefile b/app/iscsi_tgt/Makefile index d38e73d98..97711393b 100644 --- a/app/iscsi_tgt/Makefile +++ b/app/iscsi_tgt/Makefile @@ -44,7 +44,8 @@ CFLAGS += -I$(SPDK_ROOT_DIR)/lib C_SRCS := iscsi_tgt.c -SPDK_LIB_LIST = event_bdev event_copy event_iscsi event_net event_scsi event +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy event_iscsi event_net event_scsi event SPDK_LIB_LIST += jsonrpc json rpc bdev_rpc bdev iscsi scsi copy trace conf SPDK_LIB_LIST += thread util log log_rpc app_rpc net sock @@ -52,13 +53,12 @@ ifeq ($(OS),Linux) SPDK_LIB_LIST += event_nbd nbd endif -LIBS += $(ALL_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(ALL_MODULES_FILES) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/app/nvmf_tgt/Makefile b/app/nvmf_tgt/Makefile index cacf9690b..0f5905749 100644 --- a/app/nvmf_tgt/Makefile +++ b/app/nvmf_tgt/Makefile @@ -40,7 +40,8 @@ APP = nvmf_tgt C_SRCS := nvmf_main.c -SPDK_LIB_LIST = event_bdev event_copy event_nvmf +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy event_nvmf SPDK_LIB_LIST += nvmf event log trace conf thread util bdev copy rpc jsonrpc json sock SPDK_LIB_LIST += app_rpc log_rpc bdev_rpc @@ -48,13 +49,12 @@ ifeq ($(OS),Linux) SPDK_LIB_LIST += event_nbd nbd endif -LIBS += $(ALL_MODULES_LINKER_ARGS) \ - $(SPDK_LIB_LINKER_ARGS) +LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/app/spdk_tgt/Makefile b/app/spdk_tgt/Makefile index 58e564325..054dbf5a9 100644 --- a/app/spdk_tgt/Makefile +++ b/app/spdk_tgt/Makefile @@ -40,7 +40,7 @@ APP = spdk_tgt C_SRCS := spdk_tgt.c -SPDK_LIB_LIST = +SPDK_LIB_LIST = $(ALL_MODULES_LIST) ifeq ($(OS),Linux) ifeq ($(CONFIG_VHOST),y) @@ -56,13 +56,12 @@ ifeq ($(OS),Linux) SPDK_LIB_LIST += event_nbd nbd endif -LIBS += $(ALL_MODULES_LINKER_ARGS) \ - $(SPDK_LIB_LINKER_ARGS) +LIBS += $(SPDK_LIB_LINKER_ARGS) all: $(APP) @: -$(APP): $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP): $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean: diff --git a/app/vhost/Makefile b/app/vhost/Makefile index b0ca7d85e..83bba65ab 100644 --- a/app/vhost/Makefile +++ b/app/vhost/Makefile @@ -40,19 +40,19 @@ APP = vhost C_SRCS := vhost.c -SPDK_LIB_LIST = vhost rte_vhost event_vhost +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += vhost rte_vhost event_vhost SPDK_LIB_LIST += event_bdev event_copy event_net event_scsi event SPDK_LIB_LIST += jsonrpc json rpc bdev_rpc bdev scsi copy trace conf SPDK_LIB_LIST += thread util log log_rpc app_rpc SPDK_LIB_LIST += event_nbd nbd net sock -LIBS += $(ALL_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(ALL_MODULES_FILES) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/examples/bdev/fio_plugin/Makefile b/examples/bdev/fio_plugin/Makefile index 7c571e1d1..c3bda5523 100644 --- a/examples/bdev/fio_plugin/Makefile +++ b/examples/bdev/fio_plugin/Makefile @@ -43,15 +43,15 @@ C_SRCS = fio_plugin.c CFLAGS += -I$(CONFIG_FIO_SOURCE_DIR) LDFLAGS += -shared -rdynamic +SPDK_LIB_LIST = $(ALL_MODULES_LIST) SPDK_LIB_LIST += thread util bdev conf copy rpc jsonrpc json log sock trace -LIBS += $(ALL_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) all: $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(ALL_MODULES_FILES) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean: diff --git a/examples/bdev/hello_world/Makefile b/examples/bdev/hello_world/Makefile index 4c4c584d6..7a7f7816c 100644 --- a/examples/bdev/hello_world/Makefile +++ b/examples/bdev/hello_world/Makefile @@ -38,16 +38,16 @@ APP = hello_bdev C_SRCS := hello_bdev.c -SPDK_LIB_LIST = event_bdev event_copy +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy SPDK_LIB_LIST += bdev copy event thread util conf trace log jsonrpc json rpc sock -LIBS += $(ALL_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/examples/blob/cli/Makefile b/examples/blob/cli/Makefile index 5a01aa26e..d64f9417b 100644 --- a/examples/blob/cli/Makefile +++ b/examples/blob/cli/Makefile @@ -38,20 +38,18 @@ APP = blobcli C_SRCS := blobcli.c -SPDK_LIB_LIST = event_bdev event_copy +# Don't link bdev_lvol in blobcli - otherwise this utility cannot operate on an lvolstore +SPDK_LIB_LIST = $(filter-out bdev_lvol,$(ALL_MODULES_LIST)) +SPDK_LIB_LIST += event_bdev event_copy SPDK_LIB_LIST += bdev copy event thread util conf trace \ log jsonrpc json rpc sock -# Don't link bdev_lvol in blobcli - otherwise this utility cannot operate on an lvolstore -ALL_MODULES_LIST := $(filter-out bdev_lvol,$(ALL_MODULES_LIST)) - -LIBS += $(ALL_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/examples/blob/hello_world/Makefile b/examples/blob/hello_world/Makefile index 8618ffe05..b1f4d4924 100644 --- a/examples/blob/hello_world/Makefile +++ b/examples/blob/hello_world/Makefile @@ -38,17 +38,17 @@ APP = hello_blob C_SRCS := hello_blob.c -SPDK_LIB_LIST = event_bdev event_copy +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy SPDK_LIB_LIST += bdev copy event thread util conf trace \ log jsonrpc json rpc sock -LIBS += $(ALL_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/examples/sock/hello_world/Makefile b/examples/sock/hello_world/Makefile index b04d2c15d..b7989f2d6 100644 --- a/examples/sock/hello_world/Makefile +++ b/examples/sock/hello_world/Makefile @@ -38,14 +38,15 @@ APP = hello_sock C_SRCS := hello_sock.c +SPDK_LIB_LIST = $(SOCK_MODULES_LIST) SPDK_LIB_LIST += event thread util conf trace log jsonrpc json rpc sock -LIBS += $(SOCK_MODULES_LINKER_ARGS) $(SPDK_LIB_LINKER_ARGS) +LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(SOCK_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/lib/rocksdb/spdk.rocksdb.mk b/lib/rocksdb/spdk.rocksdb.mk index b5eb9f356..83c4886ed 100644 --- a/lib/rocksdb/spdk.rocksdb.mk +++ b/lib/rocksdb/spdk.rocksdb.mk @@ -53,10 +53,10 @@ ifeq ($(CONFIG_ASAN),y) CXXFLAGS += -fno-sanitize=address endif -SPDK_LIB_LIST = event_bdev event_copy +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy SPDK_LIB_LIST += bdev copy event util conf trace log jsonrpc json rpc sock thread -AM_LINK += $(ALL_MODULES_LINKER_ARGS) AM_LINK += $(SPDK_LIB_LINKER_ARGS) $(ENV_LINKER_ARGS) AM_LINK += $(SYS_LIBS) diff --git a/mk/nvme.libtest.mk b/mk/nvme.libtest.mk index 43d9d2aec..8c40f46de 100644 --- a/mk/nvme.libtest.mk +++ b/mk/nvme.libtest.mk @@ -39,9 +39,9 @@ include $(SPDK_ROOT_DIR)/mk/spdk.modules.mk C_SRCS = $(APP:%=%.c) -SPDK_LIB_LIST = nvme thread util log sock +SPDK_LIB_LIST = $(SOCK_MODULES_LIST) +SPDK_LIB_LIST += nvme thread util log sock -LIBS += $(SOCK_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) ifeq ($(CONFIG_RDMA),y) @@ -51,7 +51,7 @@ endif all: $(APP) @: -$(APP) : $(OBJS) $(SOCK_MODULES_FILES) $(SPDK_LIB_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean: diff --git a/mk/spdk.modules.mk b/mk/spdk.modules.mk index c6949629f..dd16a0123 100644 --- a/mk/spdk.modules.mk +++ b/mk/spdk.modules.mk @@ -82,28 +82,4 @@ endif COPY_MODULES_LIST = copy_ioat ioat -BLOCKDEV_MODULES_LINKER_ARGS = -Wl,--whole-archive \ - $(BLOCKDEV_MODULES_LIST:%=-lspdk_%) \ - -Wl,--no-whole-archive - -BLOCKDEV_MODULES_FILES = $(call spdk_lib_list_to_static_libs,$(BLOCKDEV_MODULES_LIST)) - -COPY_MODULES_LINKER_ARGS = -Wl,--whole-archive \ - $(COPY_MODULES_LIST:%=-lspdk_%) \ - -Wl,--no-whole-archive - -COPY_MODULES_FILES = $(call spdk_lib_list_to_static_libs,$(COPY_MODULES_LIST)) - -SOCK_MODULES_LINKER_ARGS = -Wl,--whole-archive \ - $(SOCK_MODULES_LIST:%=-lspdk_%) \ - -Wl,--no-whole-archive - -SOCK_MODULES_FILES = $(call spdk_lib_list_to_static_libs,$(SOCK_MODULES_LIST)) - ALL_MODULES_LIST = $(BLOCKDEV_MODULES_LIST) $(COPY_MODULES_LIST) $(SOCK_MODULES_LIST) - -ALL_MODULES_LINKER_ARGS = -Wl,--whole-archive \ - $(ALL_MODULES_LIST:%=-lspdk_%) \ - -Wl,--no-whole-archive - -ALL_MODULES_FILES = $(call spdk_lib_list_to_static_libs,$(ALL_MODULES_LIST)) diff --git a/test/app/bdev_svc/Makefile b/test/app/bdev_svc/Makefile index 963ec7aec..cbe7bf307 100644 --- a/test/app/bdev_svc/Makefile +++ b/test/app/bdev_svc/Makefile @@ -40,7 +40,8 @@ APP = bdev_svc C_SRCS := bdev_svc.c -SPDK_LIB_LIST = event_bdev event_copy +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy SPDK_LIB_LIST += nvmf event log trace conf thread util bdev copy rpc jsonrpc json sock SPDK_LIB_LIST += app_rpc log_rpc bdev_rpc @@ -48,13 +49,12 @@ ifeq ($(OS),Linux) SPDK_LIB_LIST += event_nbd nbd endif -LIBS += $(ALL_MODULES_LINKER_ARGS) \ - $(SPDK_LIB_LINKER_ARGS) +LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/test/app/stub/Makefile b/test/app/stub/Makefile index e84d19454..bf4f16874 100644 --- a/test/app/stub/Makefile +++ b/test/app/stub/Makefile @@ -40,15 +40,15 @@ APP = stub C_SRCS := stub.c -SPDK_LIB_LIST = event conf nvme log trace rpc jsonrpc json thread util sock +SPDK_LIB_LIST = $(SOCK_MODULES_LIST) +SPDK_LIB_LIST += event conf nvme log trace rpc jsonrpc json thread util sock -LIBS += $(SOCK_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SOCK_MODULES_FILES) $(SPDK_LIB_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/test/bdev/bdevio/Makefile b/test/bdev/bdevio/Makefile index fe304d574..1314fe107 100644 --- a/test/bdev/bdevio/Makefile +++ b/test/bdev/bdevio/Makefile @@ -40,17 +40,16 @@ APP = bdevio C_SRCS := bdevio.c -SPDK_LIB_LIST = event_bdev event_copy +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy SPDK_LIB_LIST += bdev copy event trace log conf thread util rpc jsonrpc json sock -LIBS += $(ALL_MODULES_LINKER_ARGS) - LIBS += $(SPDK_LIB_LINKER_ARGS) -lcunit all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/test/bdev/bdevperf/Makefile b/test/bdev/bdevperf/Makefile index f161e7223..08691e9c7 100644 --- a/test/bdev/bdevperf/Makefile +++ b/test/bdev/bdevperf/Makefile @@ -40,16 +40,16 @@ APP = bdevperf C_SRCS := bdevperf.c -SPDK_LIB_LIST = event_bdev event_copy +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy SPDK_LIB_LIST += bdev copy event trace log conf thread util rpc jsonrpc json sock -LIBS += $(ALL_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/test/blobfs/fuse/Makefile b/test/blobfs/fuse/Makefile index b052150bf..62137f2fe 100644 --- a/test/blobfs/fuse/Makefile +++ b/test/blobfs/fuse/Makefile @@ -40,18 +40,18 @@ APP = fuse C_SRCS := fuse.c -SPDK_LIB_LIST = event_bdev event_copy +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy SPDK_LIB_LIST += bdev copy event thread util conf trace \ log jsonrpc json rpc sock -LIBS += $(ALL_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) LIBS+= -L/usr/local/lib -lfuse3 all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/test/blobfs/mkfs/Makefile b/test/blobfs/mkfs/Makefile index 7785d829a..542740301 100644 --- a/test/blobfs/mkfs/Makefile +++ b/test/blobfs/mkfs/Makefile @@ -40,17 +40,17 @@ APP = mkfs C_SRCS := mkfs.c -SPDK_LIB_LIST = event_bdev event_copy +SPDK_LIB_LIST = $(ALL_MODULES_LIST) +SPDK_LIB_LIST += event_bdev event_copy SPDK_LIB_LIST += bdev copy event thread util conf trace \ log jsonrpc json rpc sock -LIBS += $(ALL_MODULES_LINKER_ARGS) LIBS += $(SPDK_LIB_LINKER_ARGS) all : $(APP) @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ALL_MODULES_FILES) $(ENV_LIBS) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean :