diff -ru ./configure.in ./configure.in
--- ./configure.in	2008-03-11 03:09:43.000000000 +0100
+++ ./configure.in	2010-07-02 05:27:45.478055160 +0200
@@ -36,7 +36,7 @@
 AC_PROG_CXX
 AC_PROG_CXXCPP
 AC_PROG_INSTALL
-AC_PROG_RANLIB
+AC_PROG_LIBTOOL
 
 dnl Command line arguments
 
diff -ru ./src/fnt/Makefile.am ./src/fnt/Makefile.am
--- ./src/fnt/Makefile.am	2008-03-11 03:06:20.000000000 +0100
+++ ./src/fnt/Makefile.am	2010-07-02 06:17:35.838107988 +0200
@@ -1,10 +1,13 @@
 if BUILD_FNT
 
-lib_LIBRARIES = libplibfnt.a
+lib_LTLIBRARIES = libplibfnt.la
 
 include_HEADERS = fnt.h
 
-libplibfnt_a_SOURCES = fnt.cxx fntTXF.cxx fntLocal.h fntBitmap.cxx
+libplibfnt_la_LDFLAGS = -version-info 9:5:8
+libplibfnt_la_LIBADD = $(top_builddir)/src/util/libplibul.la
+
+libplibfnt_la_SOURCES = fnt.cxx fntTXF.cxx fntLocal.h fntBitmap.cxx
 
 INCLUDES = -I$(top_srcdir)/src/sg -I$(top_srcdir)/src/util
 
diff -ru ./src/js/Makefile.am ./src/js/Makefile.am
--- ./src/js/Makefile.am	2008-03-11 03:06:21.000000000 +0100
+++ ./src/js/Makefile.am	2010-07-02 06:12:40.559441988 +0200
@@ -1,10 +1,13 @@
 if BUILD_JS
 
-lib_LIBRARIES = libplibjs.a
+lib_LTLIBRARIES = libplibjs.la
 
 include_HEADERS = js.h
 
-libplibjs_a_SOURCES = js.cxx jsLinux.cxx jsLinuxOld.cxx jsMacOS.cxx \
+libplibjs_la_LDFLAGS = -version-info 9:5:8
+libplibjs_la_LIBADD = $(top_builddir)/src/util/libplibul.la
+
+libplibjs_la_SOURCES = js.cxx jsLinux.cxx jsLinuxOld.cxx jsMacOS.cxx \
                              jsMacOSX.cxx jsWindows.cxx jsBSD.cxx   \
                              jsNone.cxx
 
diff -ru ./src/Makefile.am ./src/Makefile.am
--- ./src/Makefile.am	2008-03-11 03:06:24.000000000 +0100
+++ ./src/Makefile.am	2010-07-02 06:38:53.486390426 +0200
@@ -1 +1 @@
-SUBDIRS = util js sl pui puAux sg ssg fnt ssgAux net psl pw
+SUBDIRS = util js sl fnt pui sg ssg puAux ssgAux net psl pw
diff -ru ./src/net/Makefile.am ./src/net/Makefile.am
--- ./src/net/Makefile.am	2008-03-11 03:06:20.000000000 +0100
+++ ./src/net/Makefile.am	2010-07-02 06:14:40.710350074 +0200
@@ -1,11 +1,14 @@
 if BUILD_NET
 
-lib_LIBRARIES = libplibnet.a
+lib_LTLIBRARIES = libplibnet.la
 
 include_HEADERS = netBuffer.h netChannel.h netChat.h netMessage.h \
 	netMonitor.h netSocket.h net.h
 
-libplibnet_a_SOURCES = netBuffer.cxx netChannel.cxx netChat.cxx \
+libplibnet_la_LDFLAGS = -version-info 9:5:8
+libplibnet_la_LIBADD = $(top_builddir)/src/util/libplibul.la
+
+libplibnet_la_SOURCES = netBuffer.cxx netChannel.cxx netChat.cxx \
 	netMessage.cxx netMonitor.cxx netSocket.cxx
 
 INCLUDES = -I$(top_srcdir)/src/util
diff -ru ./src/psl/Makefile.am ./src/psl/Makefile.am
--- ./src/psl/Makefile.am	2008-03-11 03:06:24.000000000 +0100
+++ ./src/psl/Makefile.am	2010-07-02 06:13:48.314158343 +0200
@@ -1,11 +1,14 @@
 
 if BUILD_PSL
 
-lib_LIBRARIES = libplibpsl.a
+lib_LTLIBRARIES = libplibpsl.la
 
 include_HEADERS = psl.h
 
-libplibpsl_a_SOURCES = psl.cxx pslCodeGen.cxx pslContext.cxx \
+libplibpsl_la_LDFLAGS = -version-info 9:5:8
+libplibpsl_la_LIBADD = $(top_builddir)/src/util/libplibul.la
+
+libplibpsl_la_SOURCES = psl.cxx pslCodeGen.cxx pslContext.cxx \
                        pslCompiler.cxx pslSymbols.cxx pslToken.cxx \
                        pslExpression.cxx pslProgram.cxx pslDump.cxx \
                        pslError.cxx pslFileIO.cxx pslCompiler.h \
diff -ru ./src/puAux/Makefile.am ./src/puAux/Makefile.am
--- ./src/puAux/Makefile.am	2008-03-11 03:06:20.000000000 +0100
+++ ./src/puAux/Makefile.am	2010-07-02 06:16:04.001410273 +0200
@@ -1,10 +1,13 @@
 if BUILD_PUAUX
 
-lib_LIBRARIES = libplibpuaux.a
+lib_LTLIBRARIES = libplibpuaux.la
 
 include_HEADERS = puAux.h puAuxLocal.h
 
-libplibpuaux_a_SOURCES = puAux.cxx                  \
+libplibpuaux_la_LDFLAGS = -version-info 9:5:8
+libplibpuaux_la_LIBADD = $(top_builddir)/src/util/libplibul.la $(top_builddir)/src/fnt/libplibfnt.la $(top_builddir)/src/pui/libplibpu.la $(top_builddir)/src/sg/libplibsg.la
+
+libplibpuaux_la_SOURCES = puAux.cxx                  \
                          puAuxBiSlider.cxx          \
                          puAuxBiSliderWithEnds.cxx  \
                          puAuxComboBox.cxx          \
diff -ru ./src/pui/Makefile.am ./src/pui/Makefile.am
--- ./src/pui/Makefile.am	2008-03-11 03:06:23.000000000 +0100
+++ ./src/pui/Makefile.am	2010-07-02 06:14:25.110128517 +0200
@@ -1,10 +1,13 @@
 if BUILD_PUI
 
-lib_LIBRARIES = libplibpu.a
+lib_LTLIBRARIES = libplibpu.la
 
 include_HEADERS = pu.h puGLUT.h puFLTK.h puSDL.h puNative.h puPW.h
 
-libplibpu_a_SOURCES = \
+libplibpu_la_LDFLAGS = -version-info 9:5:8
+libplibpu_la_LIBADD = $(top_builddir)/src/util/libplibul.la $(top_builddir)/src/fnt/libplibfnt.la
+
+libplibpu_la_SOURCES = \
         pu.cxx            puBox.cxx       puButton.cxx puButtonBox.cxx    \
         puArrowButton.cxx puDialogBox.cxx puFrame.cxx  puGroup.cxx        \
         puInput.cxx       puInterface.cxx puLocal.h    puMenuBar.cxx      \
diff -ru ./src/pw/Makefile.am ./src/pw/Makefile.am
--- ./src/pw/Makefile.am	2008-03-11 03:06:20.000000000 +0100
+++ ./src/pw/Makefile.am	2010-07-02 05:27:45.487123738 +0200
@@ -1,10 +1,11 @@
 if BUILD_PW
 
-lib_LIBRARIES = libplibpw.a
+lib_LTLIBRARIES = libplibpw.la
 
 include_HEADERS = pw.h
 
-libplibpw_a_SOURCES = pw.cxx pwX11.cxx pwWindows.cxx pwMacOSX.cxx
+libplibpw_la_LDFLAGS = -version-info 9:5:8
+libplibpw_la_SOURCES = pw.cxx pwX11.cxx pwWindows.cxx pwMacOSX.cxx
 
 INCLUDES = -I$(top_srcdir)/src/util
 
diff -ru ./src/sg/Makefile.am ./src/sg/Makefile.am
--- ./src/sg/Makefile.am	2008-03-11 03:06:20.000000000 +0100
+++ ./src/sg/Makefile.am	2010-07-02 06:16:21.526342543 +0200
@@ -1,10 +1,13 @@
 if BUILD_SG
 
-lib_LIBRARIES = libplibsg.a
+lib_LTLIBRARIES = libplibsg.la
 
 include_HEADERS = sg.h
 
-libplibsg_a_SOURCES = sg.cxx sgd.cxx \
+libplibsg_la_LDFLAGS = -version-info 9:5:8
+libplibsg_la_LIBADD = $(top_builddir)/src/util/libplibul.la
+
+libplibsg_la_SOURCES = sg.cxx sgd.cxx \
                       sgIsect.cxx sgdIsect.cxx \
                       sgPerlinNoise.cxx
 
diff -ru ./src/sl/Makefile.am ./src/sl/Makefile.am
--- ./src/sl/Makefile.am	2008-03-11 03:06:24.000000000 +0100
+++ ./src/sl/Makefile.am	2010-07-02 06:12:48.165324370 +0200
@@ -1,16 +1,20 @@
 if BUILD_SL
 
-lib_LIBRARIES = libplibsl.a libplibsm.a
+lib_LTLIBRARIES = libplibsl.la libplibsm.la
 
 include_HEADERS = sl.h slPortability.h sm.h
 
-libplibsl_a_SOURCES = \
+libplibsl_la_LDFLAGS = -version-info 9:5:8
+libplibsl_la_LIBADD = $(top_builddir)/src/util/libplibul.la
+
+libplibsl_la_SOURCES = \
 	slDSP.cxx slSample.cxx slEnvelope.cxx \
 	slPlayer.cxx slMODPlayer.cxx slSamplePlayer.cxx \
         slScheduler.cxx slMODdacio.cxx slMODfile.cxx \
         slMODinst.cxx slMODnote.cxx slMODPrivate.h slMODfile.h
 
-libplibsm_a_SOURCES = slPortability.h smMixer.cxx
+libplibsm_la_LDFLAGS = -version-info 9:5:8
+libplibsm_la_SOURCES = slPortability.h smMixer.cxx
 
 INCLUDES = -I$(top_srcdir)/src/util
 
diff -ru ./src/ssg/Makefile.am ./src/ssg/Makefile.am
--- ./src/ssg/Makefile.am	2008-03-11 03:06:23.000000000 +0100
+++ ./src/ssg/Makefile.am	2010-07-02 06:13:29.638301515 +0200
@@ -1,10 +1,13 @@
 if BUILD_SSG
 
-lib_LIBRARIES = libplibssg.a
+lib_LTLIBRARIES = libplibssg.la
 
 include_HEADERS = ssg.h ssgconf.h ssgMSFSPalette.h ssgKeyFlier.h pcx.h
 
-libplibssg_a_SOURCES = ssg.cxx ssgAnimation.cxx ssgBase.cxx \
+libplibssg_la_LDFLAGS = -version-info 9:5:8
+libplibssg_la_LIBADD = $(top_builddir)/src/util/libplibul.la $(top_builddir)/src/sg/libplibsg.la
+
+libplibssg_la_SOURCES = ssg.cxx ssgAnimation.cxx ssgBase.cxx \
 	ssgBaseTransform.cxx ssgBranch.cxx ssgContext.cxx ssgCutout.cxx \
 	ssgDList.cxx ssgEntity.cxx ssgIsect.cxx ssgLeaf.cxx ssgList.cxx \
 	ssgLoadDOF.cxx ssgLoadAC.cxx \
diff -ru ./src/ssgAux/Makefile.am ./src/ssgAux/Makefile.am
--- ./src/ssgAux/Makefile.am	2008-03-11 03:06:21.000000000 +0100
+++ ./src/ssgAux/Makefile.am	2010-07-02 06:17:02.592635791 +0200
@@ -1,6 +1,6 @@
 if BUILD_SSGAUX
 
-lib_LIBRARIES = libplibssgaux.a
+lib_LTLIBRARIES = libplibssgaux.la
 
 include_HEADERS = ssgAux.h             \
                   ssgaShapes.h         \
@@ -13,7 +13,10 @@
                   ssgaFire.h           \
                   ssgaBillboards.h
 
-libplibssgaux_a_SOURCES = ssgAux.cxx               \
+libplibssgaux_la_LDFLAGS = -version-info 9:5:8
+libplibssgaux_la_LIBADD = $(top_builddir)/src/util/libplibul.la $(top_builddir)/src/ssg/libplibssg.la $(top_builddir)/src/sg/libplibsg.la
+
+libplibssgaux_la_SOURCES = ssgAux.cxx               \
                           ssgaShapes.cxx           \
                           ssgaPatch.cxx            \
                           ssgaParticleSystem.cxx   \
diff -ru ./src/util/Makefile.am ./src/util/Makefile.am
--- ./src/util/Makefile.am	2008-03-11 03:06:23.000000000 +0100
+++ ./src/util/Makefile.am	2010-07-02 05:34:06.711150524 +0200
@@ -1,10 +1,11 @@
 if BUILD_UL
 
-lib_LIBRARIES = libplibul.a
+lib_LTLIBRARIES = libplibul.la
 
 include_HEADERS = ul.h ulRTTI.h
 
-libplibul_a_SOURCES = ul.cxx ulClock.cxx ulError.cxx ulLinkedList.cxx \
+libplibul_la_LDFLAGS = -version-info 9:5:8
+libplibul_la_SOURCES = ul.cxx ulClock.cxx ulError.cxx ulLinkedList.cxx \
         ulList.cxx ulLocal.h ulRTTI.cxx
 
 endif
