diff --git a/lib/c/2006/Makefile b/lib/c/2006/Makefile
index 6d751d3bc87cfa3828161a9243ef2181dbca5f03..e418fbc409d38f3535f4350d3570bf2d93a738a5 100644
--- a/lib/c/2006/Makefile
+++ b/lib/c/2006/Makefile
@@ -4,7 +4,7 @@ LIBVERSION=2006
 
 include ../os_compat.mk
 
-ALL_DEPS=../liblabcomm$(LIBVERSION).a ../liblabcomm$(LIBVERSION).so.1
+ALL_DEPS=../liblabcomm$(LIBVERSION).a ../liblabcomm$(LIBVERSION).so
 
 # TODO: Support for Codesourcery ARM toolchain.
 
@@ -62,8 +62,12 @@ distclean: clean
 	$(RM) ../liblabcomm$(LIBVERSION).a
 
 # rules invoked by 'all'
+../liblabcomm$(LIBVERSION).so: ../liblabcomm$(LIBVERSION).so.1
+	if [ -h $@ ] ; then rm $@ ; fi
+	ln -s $(<:../%=%) $@
+
 ../liblabcomm$(LIBVERSION).so.1: $(OBJS:%.o=%.pic.o)
-	$(call MAKESHARED,$@,$@,$^)
+	$(call MAKESHARED,$@,$(@:../%=%),$^)
 
 ../liblabcomm$(LIBVERSION).a: $(OBJS)
 	ar -r $@ $^
diff --git a/lib/c/2014/Makefile b/lib/c/2014/Makefile
index 3c27b654323fe4fd75d981644348d3b290413985..8e07aa737a1026de12779ba402dae43e716133a8 100644
--- a/lib/c/2014/Makefile
+++ b/lib/c/2014/Makefile
@@ -4,7 +4,7 @@ LIBVERSION=2014
 
 include ../os_compat.mk
 
-ALL_DEPS=../liblabcomm$(LIBVERSION).a ../liblabcomm$(LIBVERSION).so.1
+ALL_DEPS=../liblabcomm$(LIBVERSION).a ../liblabcomm$(LIBVERSION).so
 
 # TODO: Support for Codesourcery ARM toolchain.
 
@@ -73,8 +73,12 @@ distclean: clean
 	$(RM) ../liblabcomm$(LIBVERSION).a
 
 # rules invoked by 'all'
+../liblabcomm$(LIBVERSION).so: ../liblabcomm$(LIBVERSION).so.1
+	if [ -h $@ ] ; then rm $@ ; fi
+	ln -s $(<:../%=%) $@
+
 ../liblabcomm$(LIBVERSION).so.1: $(OBJS:%.o=%.pic.o)
-	$(call MAKESHARED,$@,$@,$^)
+	$(call MAKESHARED,$@,$(@:../%=%),$^)
 
 ../liblabcomm$(LIBVERSION).a: $(OBJS)
 	ar -r $@ $^