-ifeq ($(uname_s),Linux)
- format := elf
- LDFLAGS += -Wl,-soname,$(soname)
- # disallow undefined symbols
- LDFLAGS += -Wl,-z,defs
-endif
-ifeq ($(uname_s),Darwin)
- # Darwin has its own idea on version numbers:
- realname := lib$(libname).$(x).dylib
- soname := $(realname)
- linkername := lib$(libname).dylib
- # The minor version number is an incremental number using the format
- # X[.Y[.Z]]. To set the minor version number of a dynamic library, use
- # the gcc -current_version option.
- LDFLAGS += -current_version $(y).$(z)
- #
- # The compatibility version number of a library release specifies the
- # earliest minor version of the clients linked against that release can
- # use.
- LDFLAGS += -compatibility_version $(y).0
- LDFLAGS += -dynamiclib
-endif
-ifeq ($(uname_s),SunOS)
- format := elf
- # Solaris needs another set of flags
- LDFLAGS += -z text
- LDFLAGS += -z defs
- CPPFLAGS += -I/opt/csw/include
- LDFLAGS += -lc
-endif
-
-ifeq ($(uname_s),NetBSD)
- format := elf
- LDFLAGS += -Wl,-soname,$(soname)
-endif
-
-ifeq ($(uname_s),FreeBSD)
- format := elf
- LDFLAGS += -Wl,-soname,$(soname)
-endif
+# The real name adds to the soname a period, a minor number, another
+# period, and the release number.
+realname := $(soname).$(y).$(z)