summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2024-04-16 21:06:37 +0200
committerAlejandro Colomar <alx@kernel.org>2024-04-16 21:32:27 +0200
commit6de59383c46a2518ca4723008f10a65cb6fc149a (patch)
treeaec9d58a2fa1d87f8e066b745b7f981ca85663fc
parentab3be6ad3d93ae00a8c901cbe31f4604d7b0a05d (diff)
share/mk/: build-lib-shared: Build a linkername and soname
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r--share/mk/build/lib/shared.mk16
-rw-r--r--share/mk/check/lib.mk4
2 files changed, 16 insertions, 4 deletions
diff --git a/share/mk/build/lib/shared.mk b/share/mk/build/lib/shared.mk
index b1b21af..e872645 100644
--- a/share/mk/build/lib/shared.mk
+++ b/share/mk/build/lib/shared.mk
@@ -14,7 +14,9 @@ include $(MAKEFILEDIR)/configure/version.mk
include $(MAKEFILEDIR)/src/tu.mk
-_REALNAME := $(builddir)/$(REALNAME)
+_REALNAME := $(builddir)/$(REALNAME)
+_SONAME := $(builddir)/$(SONAME)
+_LINKERNAME := $(builddir)/$(LINKERNAME)
$(_REALNAME): %.so.$(DISTVERSION): $(TU_h) $(TU_c) $(MK) $(LIB_pc) | $$(@D)/
@@ -25,8 +27,18 @@ $(_REALNAME): %.so.$(DISTVERSION): $(TU_h) $(TU_c) $(MK) $(LIB_pc) | $$(@D)/
$(LD) $(LDFLAGS) -o $@ $(TU_c) $(LDLIBS)
+$(_SONAME): $(_REALNAME) $(MK) | $$(@D)/
+ $(info $(INFO_)LN $@)
+ $(LN) -sfT $(REALNAME) $@
+
+
+$(_LINKERNAME): $(_SONAME) $(MK) | $$(@D)/
+ $(info $(INFO_)LN $@)
+ $(LN) -sfT $(SONAME) $@
+
+
.PHONY: build-lib-shared
-build-lib-shared: $(_REALNAME);
+build-lib-shared: $(_LINKERNAME);
endif # include guard
diff --git a/share/mk/check/lib.mk b/share/mk/check/lib.mk
index a207a5f..dca5c0f 100644
--- a/share/mk/check/lib.mk
+++ b/share/mk/check/lib.mk
@@ -29,12 +29,12 @@ _tests_c := $(patsubst $(srcdir)/share/%, $(builddir)/%.installcheck, $(TESTS_c
_tests_sh := $(patsubst $(srcdir)/share/%, $(builddir)/%.installcheck.touch, $(TESTS_sh))
-$(_TESTS_c): $(builddir)/%.check: $(srcdir)/share/% $(MK) $(TU_h) $(_LIB_a) $(_REALNAME) | $$(@D)/
+$(_TESTS_c): $(builddir)/%.check: $(srcdir)/share/% $(MK) $(TU_h) $(_LIB_a) $(_LINKERNAME) | $$(@D)/
$(info CHECK $@)
$(CC) $(CFLAGS) -o $@ $< $$(PKG_CONFIG_LIBDIR=$(PCDIR) $(PKGCONF) --cflags --libs liba2i)
$@
-$(_TESTS_sh): $(builddir)/%.check.touch: $(srcdir)/share/% $(MK) $(TU_h) $(_LIB_a) $(_REALNAME) | $$(@D)/
+$(_TESTS_sh): $(builddir)/%.check.touch: $(srcdir)/share/% $(MK) $(TU_h) $(_LIB_a) $(_LINKERNAME) | $$(@D)/
$(info CHECK $@)
PKG_CONFIG_LIBDIR=$(PCDIR) $<
$(TOUCH) $@