--- a/Makefile
+++ b/Makefile
@@ -96,16 +96,14 @@
 #  Other tools
 
 SHELL		= /bin/sh
-LN		= ln
+LN		= ln -s
 BASENAME 	= basename
-AR		= ar
 ARFLAGS		= cr
 RMFLAGS		=
 FIND		= find
 COMPRESS 	= compress
 COMPRESSFLAGS 	= 
 # RANLIB 	= true
-RANLIB	 	= ranlib
 
 #
 #    You shouldn't have to configure below this line if you're porting.
@@ -140,6 +138,7 @@
 # Targets
 
 LIBGSM	= $(LIB)/libgsm.a
+LIBGSMSO= $(LIB)/libgsm.so
 
 TOAST	= $(BIN)/toast
 UNTOAST	= $(BIN)/untoast
@@ -203,24 +202,43 @@
 
 # Object files
 
-GSM_OBJECTS =	$(SRC)/add.o		\
-		$(SRC)/code.o		\
-		$(SRC)/debug.o		\
-		$(SRC)/decode.o		\
-		$(SRC)/long_term.o	\
-		$(SRC)/lpc.o		\
-		$(SRC)/preprocess.o	\
-		$(SRC)/rpe.o		\
-		$(SRC)/gsm_destroy.o	\
-		$(SRC)/gsm_decode.o	\
-		$(SRC)/gsm_encode.o	\
-		$(SRC)/gsm_explode.o	\
-		$(SRC)/gsm_implode.o	\
-		$(SRC)/gsm_create.o	\
-		$(SRC)/gsm_print.o	\
-		$(SRC)/gsm_option.o	\
-		$(SRC)/short_term.o	\
-		$(SRC)/table.o
+STATIC_GSM_OBJECTS =	$(SRC)/add.o		\
+			$(SRC)/code.o		\
+			$(SRC)/debug.o		\
+			$(SRC)/decode.o		\
+			$(SRC)/long_term.o	\
+			$(SRC)/lpc.o		\
+			$(SRC)/preprocess.o	\
+			$(SRC)/rpe.o		\
+			$(SRC)/gsm_destroy.o	\
+			$(SRC)/gsm_decode.o	\
+			$(SRC)/gsm_encode.o	\
+			$(SRC)/gsm_explode.o	\
+			$(SRC)/gsm_implode.o	\
+			$(SRC)/gsm_create.o	\
+			$(SRC)/gsm_print.o	\
+			$(SRC)/gsm_option.o	\
+			$(SRC)/short_term.o	\
+			$(SRC)/table.o
+
+SHARED_GSM_OBJECTS =	$(SRC)/add.lo		\
+			$(SRC)/code.lo		\
+			$(SRC)/debug.lo		\
+			$(SRC)/decode.lo	\
+			$(SRC)/long_term.lo	\
+			$(SRC)/lpc.lo		\
+			$(SRC)/preprocess.lo	\
+			$(SRC)/rpe.lo		\
+			$(SRC)/gsm_destroy.lo	\
+			$(SRC)/gsm_decode.lo	\
+			$(SRC)/gsm_encode.lo	\
+			$(SRC)/gsm_explode.lo	\
+			$(SRC)/gsm_implode.lo	\
+			$(SRC)/gsm_create.lo	\
+			$(SRC)/gsm_print.lo	\
+			$(SRC)/gsm_option.lo	\
+			$(SRC)/short_term.lo	\
+			$(SRC)/table.lo
 
 TOAST_OBJECTS =	$(SRC)/toast.o 		\
 		$(SRC)/toast_lin.o	\
@@ -228,7 +246,7 @@
 		$(SRC)/toast_alaw.o	\
 		$(SRC)/toast_audio.o
 
-OBJECTS =	 $(GSM_OBJECTS) $(TOAST_OBJECTS)
+OBJECTS =	$(STATIC_GSM_OBJECTS) $(SHARED_GSM_OBJECTS) $(TOAST_OBJECTS)
 
 # Manuals
 
@@ -277,9 +295,12 @@
 		$(CC) $(CFLAGS) $?
 		@-mv `$(BASENAME) $@` $@ > /dev/null 2>&1
 
+%.lo: %.c
+		$(CC) $(CFLAGS) -fPIC -c $< -o $@
+
 # Target rules
 
-all:		$(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
+all:		$(LIBGSM) $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
 		@-echo $(ROOT): Done.
 
 tst:		$(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
@@ -299,24 +320,29 @@
 
 # The basic API: libgsm
 
-$(LIBGSM):	$(LIB) $(GSM_OBJECTS)
+$(LIBGSMSO):	$(LIB) $(SHARED_GSM_OBJECTS)
+		$(LD) $(LFLAGS) -o $@.1.0.13 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(SHARED_GSM_OBJECTS) -lc
+		ln -fs libgsm.so.1.0.13 lib/libgsm.so.1
+		ln -fs libgsm.so.1.0.13 lib/libgsm.so
+
+$(LIBGSM):	$(LIB) $(STATIC_GSM_OBJECTS)
 		-rm $(RMFLAGS) $(LIBGSM)
-		$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
+		$(AR) $(ARFLAGS) $(LIBGSM) $(STATIC_GSM_OBJECTS)
 		$(RANLIB) $(LIBGSM)
 
 
 # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
 
 $(TOAST):	$(BIN) $(TOAST_OBJECTS) $(LIBGSM)
-		$(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
+		$(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
 
 $(UNTOAST):	$(BIN) $(TOAST)
 		-rm $(RMFLAGS) $(UNTOAST)
-		$(LN) $(TOAST) $(UNTOAST)
+		$(LN) toast $(UNTOAST)
 
 $(TCAT):	$(BIN) $(TOAST)
 		-rm $(RMFLAGS) $(TCAT)
-		$(LN) $(TOAST) $(TCAT)
+		$(LN) toast $(TCAT)
 
 
 # The local bin and lib directories
@@ -426,7 +452,9 @@
 
 clean:	semi-clean
 		-rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add		\
-			$(TOAST) $(TCAT) $(UNTOAST)	\
+			$(LIBGSMSO) $(LIB)/libgsm.so.1.0.13	\
+			$(LIB)libgsm.so.1			\
+			$(TOAST) $(TCAT) $(UNTOAST)		\
 			$(ROOT)/gsm-1.0.tar.Z
 
 
