Index: makefiles/Makefile.top
--- makefiles/Makefile.top.orig
+++ makefiles/Makefile.top
@@ -197,8 +197,8 @@ ifeq ($(findstring lib,$(COMPONENT_TYPE)),lib)
       OUTPUT := $(BUILDDIR)/lib$(COMPONENT).$(COMPONENT_VERSION)$(LIBEXT)
     else
       SHAREDLIBNAME := lib$(COMPONENT)$(LIBEXT)
-      SONAME := $(SHAREDLIBNAME).$(major-version)
-      OUTPUT := $(BUILDDIR)/$(SHAREDLIBNAME).$(COMPONENT_VERSION)
+      SONAME := $(SHAREDLIBNAME).$(NS_LIB_VERSION)
+      OUTPUT := $(BUILDDIR)/$(SHAREDLIBNAME).$(NS_LIB_VERSION)
     endif
   else
     OUTPUT := $(BUILDDIR)/lib$(COMPONENT)$(LIBEXT)
@@ -226,8 +226,6 @@ test: all $(TEST_PREREQS) $(TEST_BINARIES) $(TEST_TARG
 	$(VQ)$(ECHO) $(ECHOFLAGS) "    TEST: Testing complete"
 
 __postshared:
-	$(Q)$(LN) $(LNFLAGS) -f -s $(notdir $(OUTPUT)) $(BUILDDIR)/$(SONAME)
-	$(Q)$(LN) $(LNFLAGS) -f -s $(notdir $(OUTPUT)) $(BUILDDIR)/$(SHAREDLIBNAME)
 
 # Compute coverage
 __precov: __partial_clean
@@ -303,7 +301,7 @@ __libraries = $(if $(REQUIRED_LIBS),-l$(subst $(__spac
 define install_pkgconfig
 	$(Q)$(ECHO) $(ECHOFLAGS) "sed -e... $1 >$(BUILDDIR)/$(1:.in=)"
 	$(Q)$(SED) \
-		-e 's#PREFIX#$(PREFIX)#' \
+		-e 's#PREFIX#$(TRUEPREFIX)#' \
 		-e 's#LIBDIR#$(LIBDIR)#' \
 		-e 's#MAJOR#$(major-version)#' \
 		-e 's#MINOR#$(minor-version)#' \
@@ -321,8 +319,6 @@ endef
 # TODO: Is this scheme portable?
 define install_shared_lib
   $(INSTALL) $(INSTALLFLAGS) -m 755 $1 $2/$(notdir $1)
-  $(LN) $(LNFLAGS) -f -s $(notdir $1) $2/$(SONAME)
-  $(LN) $(LNFLAGS) -f -s $(notdir $1) $2/$(SHAREDLIBNAME)
 
 endef
 
