diff -Naur ntl-9.2.0.orig/src/DoConfig ntl-9.2.0/src/DoConfig
--- ntl-9.2.0.orig/src/DoConfig	2015-07-09 21:45:26.959930693 +1200
+++ ntl-9.2.0/src/DoConfig	2015-07-09 21:46:52.250122780 +1200
@@ -38,14 +38,16 @@
 
 'LDFLAGS'     => '',
 'LDLIBS'      => '-lm',
+'PICFLAG'     => '-fPIC',
 'CPPFLAGS'    => '',
 
-'DEF_PREFIX'  => '/usr/local',
+'DEF_PREFIX'  => '/usr',
 
 'PREFIX'      => '$(DEF_PREFIX)',
 'LIBDIR'      => '$(PREFIX)/lib',
 'INCLUDEDIR'  => '$(PREFIX)/include',
 'DOCDIR'      => '$(PREFIX)/share/doc',
+'SHMAKE'      => 'non-gld',
 
 'GMP_PREFIX'  => '$(DEF_PREFIX)',
 'GMP_INCDIR'  => '$(GMP_PREFIX)/include',
diff -Naur ntl-9.2.0.orig/src/mfile ntl-9.2.0/src/mfile
--- ntl-9.2.0.orig/src/mfile	2015-07-09 21:45:26.959930693 +1200
+++ ntl-9.2.0/src/mfile	2015-07-09 21:57:40.631583489 +1200
@@ -109,6 +109,16 @@
 WIZARD=@{WIZARD}
 # Set to off if you want to bypass the wizard; otherwise, set to on.
 
+###############################################################
+#
+# New addition for shared library building. With gcc you need to
+# choose the Position Indepent Code flag. You have a choice of 
+# -fpic better code but in rare case not available (ppc)
+# -fPIC slightly slower code but guaranted to work anywhere.
+#
+###############################################################
+
+PICFLAG=@{PICFLAG}
 
 #################################################################
 #
@@ -141,6 +151,8 @@
 
 OBJ=$(O19)
 
+SHOBJ=$(subst .o,.lo,$(OBJ))
+
 # library source files
 
 
@@ -314,6 +326,8 @@
 
 LINK = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
 
+.SUFFIXES: .lo
+
 
 
 # 'make all' does a complete make, including all setup.
@@ -322,11 +336,11 @@
 # again.
 
 all:
-	make setup1
-	make setup2
-	make setup3
-	make setup4
-	make ntl.a
+	${MAKE} setup1
+	${MAKE} setup2
+	${MAKE} setup3
+	${MAKE} setup4
+	${MAKE} ntl.a
 	touch all
 
 
@@ -373,22 +387,37 @@
 lip.o:	lip.c g_lip_impl.h c_lip_impl.h 
 	$(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
 
+lip.lo:	lip.c g_lip_impl.h c_lip_impl.h 
+	$(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_OPT_INCDIR) lip.c -o lip.lo
+
 ctools.o:	ctools.c
 	$(LCOMP) $(COMPILE) ctools.c
 
+ctools.lo:	ctools.c
+	$(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
+
 
 GetTime.o: GetTime.c 
 	$(LCOMP) $(COMPILE) GetTime.c
 
+GetTime.lo: GetTime.c 
+	$(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
+
 GetPID.o: GetPID.c 
 	$(LCOMP) $(COMPILE) GetPID.c
 
+GetPID.lo: GetPID.c 
+	$(LCOMP) $(COMPILE) $(PICFLAG) GetPID.c -o GetPID.lo
+
 CheckPCLMUL: CheckPCLMUL.c
 	$(LINK) -o  CheckPCLMUL CheckPCLMUL.c $(LDLIBS)
 
 .c.o: 
 	$(LCOMP) $(COMPILE) $(GF2X_OPT_INCDIR) $<
 
+.c.lo: 
+	$(LCOMP) $(COMPILE) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
+
 .c: 
 @{LSTAT}	$(LINK) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS) #LSTAT
 @{LSHAR}	$(LIBTOOL) --tag=CXX --mode=link $(LINK) -o $@ $< libntl.la #LSHAR
@@ -402,7 +431,7 @@
 
 check:
 	sh RemoveProg $(PROGS)
-	make QuickTest
+	${MAKE} QuickTest
 	./QuickTest
 	sh RemoveProg QuickTest
 	sh TestScript
@@ -459,21 +488,19 @@
 #
 #################################################################
 
-clobber:	
+clobber:	clean
 	rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h  GetTime.c GetPID.c
 	cp ../include/NTL/have_LL_no.h ../include/NTL/have_LL.h
 	cp ../include/NTL/have_builtin_clzl_no.h ../include/NTL/have_builtin_clzl.h
 	rm -f ../include/NTL/gmp_aux.h
-	sh RemoveProg $(PROGS) MakeDesc TestGetTime TestGetPID gen_gmp_aux
-	rm -f *.o
-	rm -rf small
+	sh RemoveProg $(PROGS)
 	rm -f cfileout mfileout
 	rm -rf .libs *.lo libntl.la
 	rm -f all
 
 clean:
 	sh RemoveProg MakeDesc TestGetTime TestGetPID gen_gmp_aux
-	rm -f *.o 
+	rm -f *.o *.lo
 	rm -rf small
 @{LSHAR}	- $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
 
@@ -558,4 +585,11 @@
 
 
 
+sharedso: DIRNAME $(SHOBJ)
+	  $(LINK) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
+	  ln -s lib`cat DIRNAME`.so libntl.so
+
+shareddylib: DIRNAME $(SHOBJ)
+	     $(LINK) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
+	     ln -s lib`cat DIRNAME`.dylib libntl.dylib
 
