summaryrefslogtreecommitdiff
path: root/project/version.mk
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-04-24 12:52:34 -0400
committermidipix <writeonce@midipix.org>2016-04-24 17:06:30 -0400
commit513c5c3ce6d8fd3878759398748638a1937f54d4 (patch)
treedfe0aa09efe308f0bca099398fb59a4729692ea0 /project/version.mk
parent71e74382b35dccf28d0beaac49bd15c837ba8949 (diff)
downloadslibtool-513c5c3ce6d8fd3878759398748638a1937f54d4.tar.bz2
slibtool-513c5c3ce6d8fd3878759398748638a1937f54d4.tar.xz
build system: added library version support.
Diffstat (limited to 'project/version.mk')
-rw-r--r--project/version.mk42
1 files changed, 42 insertions, 0 deletions
diff --git a/project/version.mk b/project/version.mk
new file mode 100644
index 0000000..1d58cf3
--- /dev/null
+++ b/project/version.mk
@@ -0,0 +1,42 @@
+include $(PROJECT_DIR)/project/tagver.mk
+
+CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MAJOR=$(VER_MAJOR)
+CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MINOR=$(VER_MINOR)
+CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_PATCH=$(VER_PATCH)
+
+VER_XYZ = .$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)
+VER_SONAME = .$(VER_MAJOR)
+
+# libfoo.so (common)
+install-solink: install-lib
+ rm -f $@.tmp
+ ln -s $(DSO_VER) $@.tmp
+ mv $@.tmp $(DESTDIR)$(LIBDIR)/$(DSO_SOLINK)
+
+$(SHARED_SOLINK): $(SHARED_LIB)
+ rm -f $@.tmp
+ ln -s $(DSO_VER) $@.tmp
+ mv $@.tmp $@
+
+# libfoo.so.x (symlink)
+ifeq ($(OS_SONAME),symlink)
+$(SHARED_SONAME): $(SHARED_LIB)
+ rm -f $@.tmp
+ ln -s $(DSO_VER) $@.tmp
+ mv $@.tmp $@
+
+install-soname: install-lib
+ rm -f $@.tmp
+ ln -s $(DSO_VER) $@.tmp
+ mv $@.tmp $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
+endif
+
+
+# libfoo.so.x (copy)
+ifeq ($(OS_SONAME),copy)
+install-soname: install-lib
+ cp $(SHARED_LIB) $(DESTDIR)$(LIBDIR)/$(DSO_SONAME)
+
+$(SHARED_SONAME): $(SHARED_LIB)
+ cp $(SHARED_LIB) $(SHARED_SONAME)
+endif