OBJCOPY := objcopy
# libosl's versioning consists of three numbers. Let's call them x, y and z.
-# The way x, y and z are interpreted depends on the OS.
x := 0
y := 1
z := 3
LIBCFLAGS += -fPIC
LIBCFLAGS += -fvisibility=hidden
-uname_s := $(shell uname -s 2>/dev/null || echo "UNKNOWN_OS")
-
libname := osl
ifeq ($(uname_s),Linux)
# 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)