--- include/Make/Shlib.make.orig	2005-10-17 17:55:37.000000000 +0200
+++ include/Make/Shlib.make	2005-10-17 17:54:18.000000000 +0200
@@ -1,6 +1,11 @@
 # common dependencies and rules for building shared libraries
 
-SHLIB = $(ARCH_LIBDIR)/$(SHLIB_PREFIX)$(SHLIB_NAME).$(GRASS_VERSION_NUMBER)$(SHLIB_SUFFIX)
+SHLIB_VERSION=1
+SHLIB_MINORVERSION=0
+SHLIB_RELEASE=1
+SHLIB_FULLVERSION=$(SHLIB_VERSION).$(SHLIB_MINORVERSION).$(SHLIB_RELEASE)
+SONAME = $(SHLIB_PREFIX)$(SHLIB_NAME)$(SHLIB_SUFFIX).$(SHLIB_VERSION)
+SHLIB = $(ARCH_LIBDIR)/$(SONAME).$(SHLIB_MINORVERSION).$(SHLIB_RELEASE)
 
 #for i18N support
 PACKAGE ="grasslibs"
@@ -8,9 +13,9 @@
 NLS_CFLAGS=$(GETHOSTNAME) $(ZLIBINCPATH) $(PICFLAGS) $(DEFS)
 
 CFLAGS += $(SHLIB_CFLAGS) $(NLS_CFLAGS)
-LDFLAGS += $(SHLIB_LDFLAGS)
+LDFLAGS += $(SHLIB_LDFLAGS) -Wl,-soname,$(SONAME)
 
 $(SHLIB): $(SHLIB_OBJS)
-	$(SHLIB_LD) -o $@ $(LDFLAGS) $^ $(EXTRA_LIBS) && ln -f -s $(notdir $@) $(patsubst %.$(GRASS_VERSION_NUMBER)$(SHLIB_SUFFIX),%$(SHLIB_SUFFIX),$@)
+	$(SHLIB_LD) -o $@ $(LDFLAGS) $^ $(EXTRA_LIBS) && ln -f -s $(notdir $@) $(patsubst %.$(SHLIB_FULLVERSION),%,$@)
 
 shlib: $(SHLIB)
