From 494dc66ddb27fd11240d64bbd37754a014dd9cba Mon Sep 17 00:00:00 2001 From: Darek Stojaczyk Date: Thu, 16 Jul 2020 10:37:42 +0200 Subject: [PATCH] mk: don't link env if not needed Some SPDK apps were linked with env even though they didn't use it. Top-level makefiles can now specify SPDK_NO_LINK_ENV=1. Change-Id: I057baa5b620f20d829185025dc2e8efdcfa03fac Signed-off-by: Darek Stojaczyk Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3417 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Aleksey Marchuk Reviewed-by: Michael Haeuptle --- app/iscsi_top/Makefile | 2 +- app/trace/Makefile | 1 + mk/spdk.common.mk | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/iscsi_top/Makefile b/app/iscsi_top/Makefile index 0d66fcfb2..86fd73edf 100644 --- a/app/iscsi_top/Makefile +++ b/app/iscsi_top/Makefile @@ -36,8 +36,8 @@ include $(SPDK_ROOT_DIR)/mk/spdk.common.mk include $(SPDK_ROOT_DIR)/mk/spdk.modules.mk APP = iscsi_top +SPDK_NO_LINK_ENV = 1 -CXXFLAGS += $(ENV_CXXFLAGS) CXXFLAGS += -I$(SPDK_ROOT_DIR)/lib CXX_SRCS := iscsi_top.cpp diff --git a/app/trace/Makefile b/app/trace/Makefile index 92df0857f..92fb60cf6 100644 --- a/app/trace/Makefile +++ b/app/trace/Makefile @@ -36,6 +36,7 @@ include $(SPDK_ROOT_DIR)/mk/spdk.common.mk include $(SPDK_ROOT_DIR)/mk/spdk.modules.mk APP = spdk_trace +SPDK_NO_LINK_ENV = 1 CXX_SRCS := trace.cpp diff --git a/mk/spdk.common.mk b/mk/spdk.common.mk index bd341569c..500d2c69a 100644 --- a/mk/spdk.common.mk +++ b/mk/spdk.common.mk @@ -254,14 +254,16 @@ COMPILE_CXX=\ $(CXX) -o $@ $(DEPFLAGS) $(CXXFLAGS) -c $< && \ mv -f $*.d.tmp $*.d && touch -c $@ +ENV_LDFLAGS = $(if $(SPDK_NO_LINK_ENV),,$(ENV_LINKER_ARGS)) + # Link $(OBJS) and $(LIBS) into $@ (app) LINK_C=\ $(Q)echo " LINK $(notdir $@)"; \ - $(CC) -o $@ $(CPPFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) $(ENV_LINKER_ARGS) $(SYS_LIBS) + $(CC) -o $@ $(CPPFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) $(ENV_LDFLAGS) $(SYS_LIBS) LINK_CXX=\ $(Q)echo " LINK $(notdir $@)"; \ - $(CXX) -o $@ $(CPPFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) $(ENV_LINKER_ARGS) $(SYS_LIBS) + $(CXX) -o $@ $(CPPFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) $(ENV_LDFLAGS) $(SYS_LIBS) # Provide function to ease build of a shared lib define spdk_build_realname_shared_lib