xref: /spdk/shared_lib/Makefile (revision 355312bfcd3751f9af17fbefc90373fb8a269614)
1488570ebSJim Harris#  SPDX-License-Identifier: BSD-3-Clause
2a6dbe372Spaul luse#  Copyright (C) 2018 Intel Corporation.
36f46e272SDaniel Verkamp#  All rights reserved.
46f46e272SDaniel Verkamp#
56f46e272SDaniel Verkamp
66f46e272SDaniel VerkampSPDK_ROOT_DIR := $(abspath $(CURDIR)/..)
76f46e272SDaniel Verkampinclude $(SPDK_ROOT_DIR)/mk/spdk.common.mk
86f46e272SDaniel Verkampinclude $(SPDK_ROOT_DIR)/mk/spdk.app.mk
96f46e272SDaniel Verkampinclude $(SPDK_ROOT_DIR)/mk/spdk.modules.mk
106f46e272SDaniel Verkamp
11*355312bfSTomasz ZawadzkiSO_VER := 6
1219392783SSeth HowellSO_MINOR := 0
13d37a5797SJim HarrisSO_SUFFIX := $(SO_VER).$(SO_MINOR)
1419392783SSeth Howell
156f46e272SDaniel Verkamp# Build combined libspdk.so shared library
16c7792988SSeth HowellSHARED_LINKED_LIB := $(SPDK_ROOT_DIR)/build/lib/libspdk.so
1719392783SSeth HowellSHARED_REALNAME_LIB := $(SHARED_LINKED_LIB).$(SO_SUFFIX)
18c7792988SSeth HowellIGNORED_LIBS := libspdk.so
19f425b985SJim HarrisIGNORED_LIBS += libspdk_ut_mock.so
20c7792988SSeth HowellIGNORED_LIBS += libspdk_env_dpdk.so
216f46e272SDaniel Verkamp
22c7792988SSeth HowellSPDK_SHARED_LIBS := $(filter-out $(IGNORED_LIBS), $(sort $(notdir $(wildcard $(SPDK_ROOT_DIR)/build/lib/*.so))))
236f46e272SDaniel Verkamp
24c7792988SSeth Howell$(SHARED_REALNAME_LIB):
256f46e272SDaniel Verkamp	$(Q)echo "  SO $(notdir $@)"; \
26266ca940SSeth Howell	echo "GROUP ( $(SPDK_SHARED_LIBS) )" > $(SHARED_REALNAME_LIB)
273f6f5698SLance Hartmann
28c7792988SSeth Howell$(SHARED_LINKED_LIB) : $(SHARED_REALNAME_LIB)
29cc5fedc6SJim Harris	$(Q)echo "  SYMLINK $(notdir $@)"; $(BUILD_LINKERNAME_LIB)
30e9424c7eSLance Hartmann
31a39c8420SJim Harris.PHONY: all clean $(DIRS-y) install uninstall
326f46e272SDaniel Verkamp
33c7792988SSeth Howellall: $(SHARED_LINKED_LIB)
346f46e272SDaniel Verkamp
3514e443bdSJim HarrisCLEAN_FILES += $(SHARED_REALNAME_LIB) $(SHARED_LINKED_LIB)
366f46e272SDaniel Verkamp
376f46e272SDaniel Verkampinstall:
38c7792988SSeth Howell	$(INSTALL_SHARED_LIB)
396f46e272SDaniel Verkamp
40c4d9daebSPiotr Pelplinskiuninstall:
41c4d9daebSPiotr Pelplinski	$(UNINSTALL_SHARED_LIB)
42c4d9daebSPiotr Pelplinski
436f46e272SDaniel Verkampinclude $(SPDK_ROOT_DIR)/mk/spdk.subdirs.mk
44