Index: srtp/Makefile.in |
diff --git a/srtp/Makefile.in b/srtp/Makefile.in |
index e88090a68ed819d951e37c9ca25e9bee78fcef13..5a7fc216dc1bcee873bbd1539eed2b71e8394193 100644 |
--- a/srtp/Makefile.in |
+++ b/srtp/Makefile.in |
@@ -9,10 +9,14 @@ |
# test builds test applications |
# libcrypt.a static library implementing crypto engine |
# libsrtp.a static library implementing srtp |
+# libsrtp.so shared library implementing srtp |
# clean removes objects, libs, and executables |
# distribution cleans and builds a .tgz |
# tags builds etags file from all .c and .h files |
+USE_OPENSSL = @USE_OPENSSL@ |
+HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@ |
+ |
.PHONY: all test build_table_apps |
all: test |
@@ -26,7 +30,11 @@ runtest: build_table_apps test |
test/roc_driver$(EXE) -v >/dev/null |
test/replay_driver$(EXE) -v >/dev/null |
test/dtls_srtp_driver$(EXE) >/dev/null |
+ crypto/test/rand_gen_soak$(EXE) -v >/dev/null |
cd test; $(abspath $(srcdir))/test/rtpw_test.sh >/dev/null |
+ifeq (1, $(USE_OPENSSL)) |
+ cd test; $(abspath $(srcdir))/test/rtpw_test_gcm.sh >/dev/null |
+endif |
@echo "libsrtp test applications passed." |
$(MAKE) -C crypto runtest |
@@ -48,11 +56,16 @@ INSTALL = @INSTALL@ |
# EXE defines the suffix on executables - it's .exe for Windows, and |
# null on linux, bsd, and OS X and other OSes. |
EXE = @EXE@ |
+ |
# gdoi is the group domain of interpretation for isakmp, a group key |
# management system which can provide keys for srtp |
gdoi = @GDOI_OBJS@ |
+ |
# Random source. |
RNG_OBJS = @RNG_OBJS@ |
+HMAC_OBJS = @HMAC_OBJS@ |
+RNG_EXTRA_OBJS = @RNG_EXTRA_OBJS@ |
+AES_ICM_OBJS = @AES_ICM_OBJS@ |
srcdir = @srcdir@ |
top_srcdir = @top_srcdir@ |
@@ -63,6 +76,10 @@ exec_prefix = @exec_prefix@ |
includedir = @includedir@ |
libdir = @libdir@ |
+ifeq (1, $(HAVE_PKG_CONFIG)) |
+pkgconfigdir = $(libdir)/pkgconfig |
+pkgconfig_DATA = libsrtp.pc |
+endif |
# implicit rules for object files and test apps |
@@ -75,11 +92,10 @@ libdir = @libdir@ |
# libcrypt.a (the crypto engine) |
ciphers = crypto/cipher/cipher.o crypto/cipher/null_cipher.o \ |
- crypto/cipher/aes.o crypto/cipher/aes_icm.o \ |
- crypto/cipher/aes_cbc.o |
+ $(AES_ICM_OBJS) |
-hashes = crypto/hash/null_auth.o crypto/hash/sha1.o \ |
- crypto/hash/hmac.o crypto/hash/auth.o # crypto/hash/tmmhv2.o |
+hashes = crypto/hash/null_auth.o crypto/hash/auth.o \ |
+ $(HMAC_OBJS) |
replay = crypto/replay/rdb.o crypto/replay/rdbx.o \ |
crypto/replay/ut_sim.o |
@@ -88,7 +104,7 @@ math = crypto/math/datatypes.o crypto/math/stat.o |
ust = crypto/ust/ust.o |
-rng = crypto/rng/$(RNG_OBJS) crypto/rng/prng.o crypto/rng/ctr_prng.o |
+rng = crypto/rng/$(RNG_OBJS) $(RNG_EXTRA_OBJS) |
err = crypto/kernel/err.o |
@@ -105,6 +121,10 @@ libsrtp.a: $(srtpobj) $(cryptobj) $(gdoi) |
ar cr libsrtp.a $^ |
$(RANLIB) libsrtp.a |
+libsrtp.so: $(srtpobj) $(cryptobj) $(gdoi) |
+ $(CC) -shared -Wl,-soname,libsrtp.so \ |
+ -o libsrtp.so $^ $(LDFLAGS) |
+ |
# libcryptomath.a contains general-purpose routines that are used to |
# generate tables and verify cryptoalgorithm implementations - this |
# library is not meant to be included in production code |
@@ -117,11 +137,14 @@ libcryptomath.a: $(cryptomath) |
# test applications |
+ifneq (1, $(USE_OPENSSL)) |
+AES_CALC = crypto/test/aes_calc$(EXE) |
+endif |
-crypto_testapp = crypto/test/aes_calc$(EXE) crypto/test/cipher_driver$(EXE) \ |
+crypto_testapp = $(AES_CALC) crypto/test/cipher_driver$(EXE) \ |
crypto/test/datatypes_driver$(EXE) crypto/test/kernel_driver$(EXE) \ |
crypto/test/rand_gen$(EXE) crypto/test/sha1_driver$(EXE) \ |
- crypto/test/stat_driver$(EXE) |
+ crypto/test/stat_driver$(EXE) crypto/test/rand_gen_soak$(EXE) |
testapp = $(crypto_testapp) test/srtp_driver$(EXE) test/replay_driver$(EXE) \ |
test/roc_driver$(EXE) test/rdbx_driver$(EXE) test/rtpw$(EXE) \ |
@@ -198,15 +221,24 @@ install: |
cp $(srcdir)/crypto/include/*.h $(DESTDIR)$(includedir)/srtp |
if [ "$(srcdir)" != "." ]; then cp crypto/include/*.h $(DESTDIR)$(includedir)/srtp; fi |
if [ -f libsrtp.a ]; then cp libsrtp.a $(DESTDIR)$(libdir)/; fi |
+ if [ -f libsrtp.so ]; then cp libsrtp.so $(DESTDIR)$(libdir)/; fi |
+ if [ "$(pkgconfig_DATA)" != "" ]; then \ |
+ $(INSTALL) -d $(DESTDIR)$(pkgconfigdir); \ |
+ cp $(srcdir)/$(pkgconfig_DATA) $(DESTDIR)$(pkgconfigdir)/; \ |
+ fi |
uninstall: |
rm -f $(DESTDIR)$(includedir)/srtp/*.h |
rm -f $(DESTDIR)$(libdir)/libsrtp.a |
+ rm -f $(DESTDIR)$(libdir)/libsrtp.so |
-rmdir $(DESTDIR)$(includedir)/srtp |
+ if [ "$(pkgconfig_DATA)" != "" ]; then \ |
+ rm -f $(DESTDIR)$(pkgconfigdir)/$(pkgconfig_DATA); \ |
+ fi |
clean: |
rm -rf $(cryptobj) $(srtpobj) $(cryptomath) TAGS \ |
- libcryptomath.a libsrtp.a core *.core test/core |
+ libcryptomath.a libsrtp.a libsrtp.so core *.core test/core |
for a in * */* */*/*; do \ |
if [ -f "$$a~" ] ; then rm -f $$a~; fi; \ |
done; |
@@ -225,13 +257,13 @@ superclean: clean |
distclean: superclean |
-distname = srtp-$(shell cat VERSION) |
+distname = libsrtp-$(shell cat VERSION) |
distribution: runtest superclean |
if ! [ -f VERSION ]; then exit 1; fi |
if [ -f ../$(distname).tgz ]; then \ |
mv ../$(distname).tgz ../$(distname).tgz.bak; \ |
fi |
- cd ..; tar cvzf $(distname).tgz srtp |
+ cd ..; tar cvzf $(distname).tgz libsrtp |
# EOF |