--- a/Makefile
+++ b/Makefile
@@ -894,8 +894,13 @@
 	$(RANLIB) $(prefix)/lib/libgenometools.a
 endif
 ifneq ($(sharedlib),no)
-	cp lib/libgenometools$(SHARED_OBJ_NAME_EXT)$(SONAME_VERSION) $(prefix)/lib
+	find src -name '*_api.h' | xargs egrep -ho '(gt_[0-9a-zA-Z_]+)(\[|\()' \
+	  | sort | uniq | sed s'/.$$//' > apisyms
+	objcopy --strip-all --keep-symbols apisyms \
+	  lib/libgenometools$(SHARED_OBJ_NAME_EXT)$(SONAME_VERSION) \
+	  $(prefix)/lib/libgenometools$(SHARED_OBJ_NAME_EXT)$(SONAME_VERSION)
 	ln -fs $(prefix)/lib/libgenometools$(SHARED_OBJ_NAME_EXT)$(SONAME_VERSION) $(prefix)/lib/libgenometools$(SHARED_OBJ_NAME_EXT)
+	rm apisyms
 endif
 	@echo '[build config script $(@F)]'
 	sed -e 's!@CC@!$(CC)!' -e 's!@CFLAGS@!$(EXP_CFLAGS)!' \
