| Index: srtp/Makefile.in
|
| diff --git a/srtp/Makefile.in b/srtp/Makefile.in
|
| index e88090a68ed819d951e37c9ca25e9bee78fcef13..002d25df8fd54a1294b332c0f8ba1a1516977f96 100644
|
| --- a/srtp/Makefile.in
|
| +++ b/srtp/Makefile.in
|
| @@ -9,11 +9,16 @@
|
| # 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
|
|
|
| -.PHONY: all test build_table_apps
|
| +USE_OPENSSL = @USE_OPENSSL@
|
| +HAVE_PCAP = @HAVE_PCAP@
|
| +HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
|
| +
|
| +.PHONY: all shared_library test build_table_apps
|
|
|
| all: test
|
|
|
| @@ -26,7 +31,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
|
|
|
| @@ -35,10 +44,10 @@ runtest: build_table_apps test
|
| CC = @CC@
|
| INCDIR = -Icrypto/include -I$(srcdir)/include -I$(srcdir)/crypto/include
|
| DEFS = @DEFS@
|
| -CPPFLAGS= @CPPFLAGS@
|
| +CPPFLAGS= -fPIC @CPPFLAGS@
|
| CFLAGS = @CFLAGS@
|
| LIBS = @LIBS@
|
| -LDFLAGS = @LDFLAGS@ -L.
|
| +LDFLAGS = -L. @LDFLAGS@
|
| COMPILE = $(CC) $(DEFS) $(INCDIR) $(CPPFLAGS) $(CFLAGS)
|
| SRTPLIB = -lsrtp
|
|
|
| @@ -48,11 +57,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@
|
| @@ -62,7 +76,32 @@ prefix = @prefix@
|
| exec_prefix = @exec_prefix@
|
| includedir = @includedir@
|
| libdir = @libdir@
|
| -
|
| +bindir = @bindir@
|
| +
|
| +ifeq (1, $(HAVE_PKG_CONFIG))
|
| +pkgconfigdir = $(libdir)/pkgconfig
|
| +pkgconfig_DATA = libsrtp.pc
|
| +endif
|
| +
|
| +SHAREDLIBVERSION = 1
|
| +ifeq (linux,$(findstring linux,@host@))
|
| +SHAREDLIB_DIR = $(libdir)
|
| +SHAREDLIB_LDFLAGS = -shared -Wl,-soname,$@
|
| +SHAREDLIBSUFFIXNOVER = so
|
| +SHAREDLIBSUFFIX = $(SHAREDLIBSUFFIXNOVER).$(SHAREDLIBVERSION)
|
| +else ifeq (mingw,$(findstring mingw,@host@))
|
| +SHAREDLIB_DIR = $(bindir)
|
| +SHAREDLIB_LDFLAGS = -shared -Wl,--out-implib,libsrtp.dll.a
|
| +SHAREDLIBVERSION =
|
| +SHAREDLIBSUFFIXNOVER = dll
|
| +SHAREDLIBSUFFIX = $(SHAREDLIBSUFFIXNOVER)
|
| +else ifeq (darwin,$(findstring darwin,@host@))
|
| +SHAREDLIB_DIR = $(libdir)
|
| +SHAREDLIB_LDFLAGS = -dynamiclib -twolevel_namespace -undefined dynamic_lookup \
|
| + -fno-common -headerpad_max_install_names -install_name $(libdir)/$@
|
| +SHAREDLIBSUFFIXNOVER = dylib
|
| +SHAREDLIBSUFFIX = $(SHAREDLIBVERSION).$(SHAREDLIBSUFFIXNOVER)
|
| +endif
|
|
|
| # implicit rules for object files and test apps
|
|
|
| @@ -75,11 +114,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 +126,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 +143,15 @@ libsrtp.a: $(srtpobj) $(cryptobj) $(gdoi)
|
| ar cr libsrtp.a $^
|
| $(RANLIB) libsrtp.a
|
|
|
| +libsrtp.$(SHAREDLIBSUFFIX): $(srtpobj) $(cryptobj) $(gdoi)
|
| + $(CC) -shared -o $@ $(SHAREDLIB_LDFLAGS) \
|
| + $^ $(LDFLAGS) $(LIBS)
|
| + if [ -n "$(SHAREDLIBVERSION)" ]; then \
|
| + ln -sfn $@ libsrtp.$(SHAREDLIBSUFFIXNOVER); \
|
| + fi
|
| +
|
| +shared_library: libsrtp.$(SHAREDLIBSUFFIX)
|
| +
|
| # 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,20 +164,34 @@ 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) \
|
| test/dtls_srtp_driver$(EXE)
|
|
|
| +ifeq (1, $(HAVE_PCAP))
|
| +testapp += test/rtp_decoder$(EXE)
|
| +endif
|
| +
|
| $(testapp): libsrtp.a
|
|
|
| -test/rtpw$(EXE): test/rtpw.c test/rtp.c test/getopt_s.c
|
| - $(COMPILE) $(LDFLAGS) -o $@ $^ $(LIBS) $(SRTPLIB)
|
| +test/rtpw$(EXE): test/rtpw.c test/rtp.c test/getopt_s.c \
|
| + crypto/math/datatypes.c
|
| + $(COMPILE) -DTESTAPP_SOURCE=1 $(LDFLAGS) -o $@ $^ $(LIBS) $(SRTPLIB)
|
| +
|
| +ifeq (1, $(HAVE_PCAP))
|
| +test/rtp_decoder$(EXE): test/rtp_decoder.c test/rtp.c test/getopt_s.c \
|
| + crypto/math/datatypes.c
|
| + $(COMPILE) -DTESTAPP_SOURCE=1 $(LDFLAGS) -o $@ $^ $(LIBS) $(SRTPLIB)
|
| +endif
|
|
|
| test/srtp_driver$(EXE): test/srtp_driver.c test/getopt_s.c
|
| $(COMPILE) $(LDFLAGS) -o $@ $^ $(LIBS) $(SRTPLIB)
|
| @@ -189,24 +250,34 @@ libsrtpdoc:
|
| .PHONY: clean superclean distclean install
|
|
|
| install:
|
| - @if [ -r $(DESTDIR)$(includedir)/srtp/srtp.h ]; then \
|
| - echo "you should run 'make uninstall' first"; exit 1; \
|
| - fi
|
| $(INSTALL) -d $(DESTDIR)$(includedir)/srtp
|
| $(INSTALL) -d $(DESTDIR)$(libdir)
|
| + $(INSTALL) -d $(DESTDIR)$(bindir)
|
| cp $(srcdir)/include/*.h $(DESTDIR)$(includedir)/srtp
|
| 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.dll.a ]; then cp libsrtp.dll.a $(DESTDIR)$(libdir)/; fi
|
| + if [ -f libsrtp.$(SHAREDLIBSUFFIX) ]; then \
|
| + cp libsrtp.$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR)/; \
|
| + cp libsrtp.$(SHAREDLIBSUFFIXNOVER) $(DESTDIR)$(SHAREDLIB_DIR)/; \
|
| + fi
|
| + if [ "$(pkgconfig_DATA)" != "" ]; then \
|
| + $(INSTALL) -d $(DESTDIR)$(pkgconfigdir); \
|
| + cp $(top_builddir)/$(pkgconfig_DATA) $(DESTDIR)$(pkgconfigdir)/; \
|
| + fi
|
|
|
| uninstall:
|
| rm -f $(DESTDIR)$(includedir)/srtp/*.h
|
| - rm -f $(DESTDIR)$(libdir)/libsrtp.a
|
| + rm -f $(DESTDIR)$(libdir)/libsrtp.*
|
| -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 libsrtp.dll.a core *.core test/core
|
| for a in * */* */*/*; do \
|
| if [ -f "$$a~" ] ; then rm -f $$a~; fi; \
|
| done;
|
| @@ -225,13 +296,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
|
|
|