Move and assignment to LDFLAGS up to have the settings of all three
sets of flags at one location. Move libname down to where it is
needed.
CFLAGS += -fPIC
CFLAGS += -fvisibility=hidden
CFLAGS += -fPIC
CFLAGS += -fvisibility=hidden
LDFLAGS += -Wl,-soname,$(soname)
LDFLAGS += -Wl,-soname,$(soname)
-# disallow undefined symbols
# On ELf-based systems, the following conventions apply (see dhweeler's
# Program Library HOWTO):
# On ELf-based systems, the following conventions apply (see dhweeler's
# Program Library HOWTO):
# The soname has the prefix ``lib'', the name of the library, the
# phrase ``.so'', followed by a period and a version number that is
# incremented whenever the interface changes.
# The soname has the prefix ``lib'', the name of the library, the
# phrase ``.so'', followed by a period and a version number that is
# incremented whenever the interface changes.
soname := lib$(libname).so.$(x)
# The real name adds to the soname a period, a minor number, another
soname := lib$(libname).so.$(x)
# The real name adds to the soname a period, a minor number, another
# a library, (I'll call it the ``linker name''), which is simply the
# soname without any version number.
linkername := lib$(libname).so
# a library, (I'll call it the ``linker name''), which is simply the
# soname without any version number.
linkername := lib$(libname).so
all: $(realname) $(executables) $(man_pages)
shared: $(realname)
all: $(realname) $(executables) $(man_pages)
shared: $(realname)