3d77a95
diff -up srtp/Makefile.in.shared srtp/Makefile.in
3d77a95
--- srtp/Makefile.in.shared	2010-05-21 13:45:35.000000000 -0400
3d77a95
+++ srtp/Makefile.in	2010-10-04 15:53:29.132116130 -0400
3d77a95
@@ -8,7 +8,7 @@
3d77a95
 # runtest       runs test applications 
3d77a95
 # test		builds test applications
3d77a95
 # libcrypt.a	static library implementing crypto engine
3d77a95
-# libsrtp.a	static library implementing srtp
3d77a95
+# libsrtp.so	shared library implementing srtp
3d77a95
 # clean		removes objects, libs, and executables
3d77a95
 # distribution  cleans and builds a .tgz
3d77a95
 # tags          builds etags file from all .c and .h files
3d77a95
@@ -97,13 +97,13 @@ kernel  = crypto/kernel/crypto_kernel.o 
3d77a95
 
3d77a95
 cryptobj =  $(ciphers) $(hashes) $(math) $(stat) $(kernel) $(replay)
3d77a95
 
3d77a95
-# libsrtp.a (implements srtp processing)
3d77a95
+# libsrtp (implements srtp processing)
3d77a95
 
3d77a95
 srtpobj = srtp/srtp.o srtp/ekt.o
3d77a95
 
3d77a95
-libsrtp.a: $(srtpobj) $(cryptobj) $(gdoi)
3d77a95
-	ar cr libsrtp.a $^
3d77a95
-	$(RANLIB) libsrtp.a
3d77a95
+libsrtp.so: $(srtpobj) $(cryptobj) $(gdoi)
3d77a95
+	$(COMPILE) -shared -pthread -lm -Wl,--no-undefined -Wl,-soname,$@.0 -z noexecstack -o $@.0.0.0 $^
3d77a95
+	ln -s $@.0.0.0 $@	
3d77a95
 
3d77a95
 # libcryptomath.a contains general-purpose routines that are used to
3d77a95
 # generate tables and verify cryptoalgorithm implementations - this
3d77a95
@@ -127,19 +127,19 @@ testapp = $(crypto_testapp) test/srtp_dr
3d77a95
 	  test/roc_driver$(EXE) test/rdbx_driver$(EXE) test/rtpw$(EXE) \
3d77a95
 	  test/dtls_srtp_driver$(EXE)
3d77a95
 
3d77a95
-$(testapp): libsrtp.a
3d77a95
+$(testapp): libsrtp.so
3d77a95
 
3d77a95
 test/rtpw$(EXE): test/rtpw.c test/rtp.c test/getopt_s.c
3d77a95
-	$(COMPILE) $(LDFLAGS) -o $@ $^ $(LIBS) $(SRTPLIB)
3d77a95
+	$(COMPILE) $(LDFLAGS) -o $@ test/rtpw.c test/rtp.c test/getopt_s.c $(LIBS) $(SRTPLIB)
3d77a95
 
3d77a95
 test/srtp_driver$(EXE): test/srtp_driver.c test/getopt_s.c
3d77a95
-	$(COMPILE) $(LDFLAGS) -o $@ $^ $(LIBS) $(SRTPLIB)
3d77a95
+	$(COMPILE) $(LDFLAGS) -o $@ test/srtp_driver.c test/getopt_s.c $(LIBS) $(SRTPLIB)
3d77a95
 
3d77a95
 test/rdbx_driver$(EXE): test/rdbx_driver.c test/getopt_s.c
3d77a95
-	$(COMPILE) $(LDFLAGS) -o $@ $^ $(LIBS) $(SRTPLIB)
3d77a95
+	$(COMPILE) $(LDFLAGS) -o $@ test/rdbx_driver.c test/getopt_s.c $(LIBS) $(SRTPLIB)
3d77a95
 
3d77a95
 test/dtls_srtp_driver$(EXE): test/dtls_srtp_driver.c test/getopt_s.c
3d77a95
-	$(COMPILE) $(LDFLAGS) -o $@ $^ $(LIBS) $(SRTPLIB)
3d77a95
+	$(COMPILE) $(LDFLAGS) -o $@ test/dtls_srtp_driver.c test/getopt_s.c $(LIBS) $(SRTPLIB)
3d77a95
 
3d77a95
 test: $(testapp)
3d77a95
 	@echo "Build done. Please run '$(MAKE) runtest' to run self tests."
3d77a95
@@ -197,16 +197,16 @@ install:
3d77a95
 	cp $(srcdir)/include/*.h $(DESTDIR)$(includedir)/srtp  
3d77a95
 	cp $(srcdir)/crypto/include/*.h $(DESTDIR)$(includedir)/srtp
3d77a95
 	if [ "$(srcdir)" != "." ]; then cp crypto/include/*.h $(DESTDIR)$(includedir)/srtp; fi
3d77a95
-	if [ -f libsrtp.a ]; then cp libsrtp.a $(DESTDIR)$(libdir)/; fi
3d77a95
+	if [ -f libsrtp.so.0.0.0 ]; then cp libsrtp.so.0.0.0 $(DESTDIR)$(libdir)/; fi
3d77a95
 
3d77a95
 uninstall:
3d77a95
 	rm -f $(DESTDIR)$(includedir)/srtp/*.h
3d77a95
-	rm -f $(DESTDIR)$(libdir)/libsrtp.a
3d77a95
+	rm -f $(DESTDIR)$(libdir)/libsrtp.so*
3d77a95
 	-rmdir $(DESTDIR)$(includedir)/srtp
3d77a95
 
3d77a95
 clean:
3d77a95
 	rm -rf $(cryptobj) $(srtpobj) $(cryptomath) TAGS \
3d77a95
-        libcryptomath.a libsrtp.a core *.core test/core
3d77a95
+        libcryptomath.a libsrtp.so* core *.core test/core
3d77a95
 	for a in * */* */*/*; do			\
3d77a95
               if [ -f "$$a~" ] ; then rm -f $$a~; fi;	\
3d77a95
         done;