1386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# Makefile for secure rtp 2386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# 3386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# David A. McGrew 4386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# Cisco Systems, Inc. 5386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 6386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# targets: 7386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# 8386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# runtest runs test applications 9386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# test builds test applications 10386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# libcrypt.a static library implementing crypto engine 11386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# libsrtp.a static library implementing srtp 12386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# clean removes objects, libs, and executables 13386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# distribution cleans and builds a .tgz 14386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# tags builds etags file from all .c and .h files 15386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 16386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari.PHONY: all test build_table_apps 17386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 18386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariall: test 19386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 20386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariruntest: build_table_apps test 21386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @echo "running libsrtp test applications..." 22386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/test/cipher_driver$(EXE) -v >/dev/null 23386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/test/kernel_driver$(EXE) -v >/dev/null 24386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari test/rdbx_driver$(EXE) -v >/dev/null 25386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari test/srtp_driver$(EXE) -v >/dev/null 26386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari test/roc_driver$(EXE) -v >/dev/null 27386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari test/replay_driver$(EXE) -v >/dev/null 28386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @echo "libsrtp test applications passed." 29386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(MAKE) -C crypto runtest 30386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 31386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# makefile variables 32386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 33386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariCC = gcc 34386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariINCDIR = -Icrypto/include -I$(srcdir)/include -I$(srcdir)/crypto/include 35386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariDEFS = -DHAVE_CONFIG_H 36386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariCPPFLAGS= 37386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariCFLAGS = -Wall -O4 -fexpensive-optimizations -funroll-loops 38386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariLIBS = 39386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariLDFLAGS = -L. 40386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariCOMPILE = $(CC) $(DEFS) $(INCDIR) $(CPPFLAGS) $(CFLAGS) 41386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariSRTPLIB = -lsrtp 42386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 43386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariRANLIB = ranlib 44386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariINSTALL = /usr/bin/install -c 45386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 46386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# EXE defines the suffix on executables - it's .exe for Windows, and 47386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# null on linux, bsd, and OS X and other OSes. 48386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariEXE = 49386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# gdoi is the group domain of interpretation for isakmp, a group key 50386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# management system which can provide keys for srtp 51386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarigdoi = 52386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# Random source. 53386ce4d9144fc190797f4e43a31aeaf76ca2e373Param ReddappagariRNG_OBJS = rand_source.o 54386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 55386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarisrcdir = . 56386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaritop_srcdir = . 57386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaritop_builddir = 58386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 59386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariprefix = /home/astor/localastor/google3/third_party/libsrtp/v1_4_2 60386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariexec_prefix = ${prefix} 61386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariincludedir = ${prefix}/include 62386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarilibdir = ${exec_prefix}/lib 63386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 64386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 65386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# implicit rules for object files and test apps 66386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 67386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari%.o: %.c 68386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(COMPILE) -c $< -o $@ 69386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 70386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari%$(EXE): %.c 71386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(COMPILE) $(LDFLAGS) $< -o $@ $(SRTPLIB) $(LIBS) 72386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 73386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 74386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# libcrypt.a (the crypto engine) 75386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariciphers = crypto/cipher/cipher.o crypto/cipher/null_cipher.o \ 76386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/cipher/aes.o crypto/cipher/aes_icm.o \ 77386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/cipher/aes_cbc.o 78386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 79386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarihashes = crypto/hash/null_auth.o crypto/hash/sha1.o \ 80386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/hash/hmac.o crypto/hash/auth.o # crypto/hash/tmmhv2.o 81386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 82386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarireplay = crypto/replay/rdb.o crypto/replay/rdbx.o \ 83386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/replay/ut_sim.o 84386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 85386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarimath = crypto/math/datatypes.o crypto/math/stat.o 86386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 87386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariust = crypto/ust/ust.o 88386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 89386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarirng = crypto/rng/$(RNG_OBJS) crypto/rng/prng.o crypto/rng/ctr_prng.o 90386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 91386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarierr = crypto/kernel/err.o 92386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 93386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarikernel = crypto/kernel/crypto_kernel.o crypto/kernel/alloc.o \ 94386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/kernel/key.o $(rng) $(err) # $(ust) 95386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 96386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaricryptobj = $(ciphers) $(hashes) $(math) $(stat) $(kernel) $(replay) 97386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 98386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# libsrtp.a (implements srtp processing) 99386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 100386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarisrtpobj = srtp/srtp.o 101386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 102386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarilibsrtp.a: $(srtpobj) $(cryptobj) $(gdoi) 103386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari ar cr libsrtp.a $^ 104386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(RANLIB) libsrtp.a 105386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 106386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# libcryptomath.a contains general-purpose routines that are used to 107386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# generate tables and verify cryptoalgorithm implementations - this 108386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# library is not meant to be included in production code 109386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 110386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaricryptomath = crypto/math/math.o crypto/math/gf2_8.o 111386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 112386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarilibcryptomath.a: $(cryptomath) 113386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari ar cr libcryptomath.a $(cryptomath) 114386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(RANLIB) libcryptomath.a 115386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 116386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 117386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# test applications 118386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 119386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaricrypto_testapp = crypto/test/aes_calc$(EXE) crypto/test/cipher_driver$(EXE) \ 120386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/test/datatypes_driver$(EXE) crypto/test/kernel_driver$(EXE) \ 121386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/test/rand_gen$(EXE) crypto/test/sha1_driver$(EXE) \ 122386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari crypto/test/stat_driver$(EXE) 123386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 124386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaritestapp = $(crypto_testapp) test/srtp_driver$(EXE) test/replay_driver$(EXE) \ 125386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari test/roc_driver$(EXE) test/rdbx_driver$(EXE) test/rtpw$(EXE) 126386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 127386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari$(testapp): libsrtp.a 128386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 129386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaritest/rtpw$(EXE): test/rtpw.c test/rtp.c 130386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(COMPILE) $(LDFLAGS) -o $@ $^ $(LIBS) $(SRTPLIB) 131386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 132386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaritest: $(testapp) 133386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @echo "Build done. Please run '$(MAKE) runtest' to run self tests." 134386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 135386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarimemtest: test/srtp_driver 136386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @test/srtp_driver -v -d "alloc" > tmp 137386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @grep freed tmp | wc -l > freed 138386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @grep allocated tmp | wc -l > allocated 139386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @echo "checking for memory leaks (only works with --enable-stdout)" 140386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari cmp -s allocated freed 141386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @echo "passed (same number of alloc() and dealloc() calls found)" 142386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @rm freed allocated tmp 143386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 144386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# tables_apps are used to generate the tables used in the crypto 145386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# implementations; these need only be generated during porting, not 146386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# for building libsrtp or the test applications 147386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 148386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaritable_apps = tables/aes_tables 149386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 150386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaribuild_table_apps: $(table_apps) 151386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 152386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# in the tables/ subdirectory, we use libcryptomath instead of libsrtp 153386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 154386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaritables/%: tables/%.c libcryptomath.a 155386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(COMPILE) $(LDFLAGS) $< -o $@ $(LIBS) libcryptomath.a 156386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 157386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# the target 'plot' runs the timing test (test/srtp_driver -t) then 158386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# uses gnuplot to produce plots of the results - see the script file 159386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# 'timing' 160386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 161386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariplot: test/srtp_driver 162386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari test/srtp_driver -t > timing.dat 163386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 164386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 165386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# bookkeeping: tags, clean, and distribution 166386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 167386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaritags: 168386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari etags */*.[ch] */*/*.[ch] 169386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 170386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 171386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# documentation - the target libsrtpdoc builds a PDF file documenting 172386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# libsrtp 173386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 174386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarilibsrtpdoc: 175386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(MAKE) -C doc 176386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 177386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari.PHONY: clean superclean install 178386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 179386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariinstall: 180386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari @if [ -d $(DESTDIR)$(includedir)/srtp ]; then \ 181386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari echo "you should run 'make uninstall' first"; exit 1; \ 182386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari fi 183386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(INSTALL) -d $(DESTDIR)$(includedir)/srtp 184386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(INSTALL) -d $(DESTDIR)$(libdir) 185386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari cp include/*.h $(DESTDIR)$(includedir)/srtp 186386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari cp crypto/include/*.h $(DESTDIR)$(includedir)/srtp 187386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari if [ -f libsrtp.a ]; then cp libsrtp.a $(DESTDIR)$(libdir)/; fi 188386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 189386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariuninstall: 190386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari rm -rf $(DESTDIR)$(includedir)/srtp 191386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari rm -rf $(DESTDIR)$(libdir)/libsrtp.a 192386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 193386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagariclean: 194386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari rm -rf $(cryptobj) $(srtpobj) $(cryptomath) $(table_apps) TAGS \ 195386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari libcryptomath.a libsrtp.a core *.core test/core 196386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari for a in * */* */*/*; do \ 197386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari if [ -f "$$a~" ] ; then rm -f $$a~; fi; \ 198386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari done; 199386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari for a in $(testapp) $(table_apps); do rm -rf $$a$(EXE); done 200386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari rm -rf *.pict *.jpg *.dat 201386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari rm -rf freed allocated tmp 202386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(MAKE) -C doc clean 203386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari $(MAKE) -C crypto clean 204386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 205386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 206386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagarisuperclean: clean 207386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari rm -rf crypto/include/config.h config.log config.cache config.status \ 208386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari Makefile .gdb_history test/.gdb_history .DS_Store 209386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari rm -rf autom4te.cache 210386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 211386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaridistname = srtp-$(shell cat VERSION) 212386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 213386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagaridistribution: runtest superclean 214386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari if ! [ -f VERSION ]; then exit 1; fi 215386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari if [ -f ../$(distname).tgz ]; then \ 216386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari mv ../$(distname).tgz ../$(distname).tgz.bak; \ 217386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari fi 218386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari cd ..; tar cvzf $(distname).tgz srtp 219386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari 220386ce4d9144fc190797f4e43a31aeaf76ca2e373Param Reddappagari# EOF 221