summaryrefslogtreecommitdiff
path: root/third_party/srtp/crypto/Makefile.in
blob: 493843767e6f9bddcb79a339791b3738adb1809f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Makefile for libcryptomodule.a
#
# David A. McGrew
# Cisco Systems, Inc.

srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
VPATH = @srcdir@

CC	= @CC@
INCDIR	= -Iinclude -I$(srcdir)/include -I$(top_srcdir)/include
DEFS	= @DEFS@
CPPFLAGS= @CPPFLAGS@
CFLAGS	= @CFLAGS@
LIBS	= @LIBS@
LDFLAGS	= @LDFLAGS@ -L. -L..
COMPILE = $(CC) $(DEFS) $(INCDIR) $(CPPFLAGS) $(CFLAGS)
CRYPTOLIB = -lsrtp

RANLIB	= @RANLIB@

# EXE defines the suffix on executables - it's .exe for cygwin, and
# null on linux, bsd, and OS X and other OSes.  we define this so that
# `make clean` will work on the cygwin platform
EXE = @EXE@
# Random source.
USE_OPENSSL = @USE_OPENSSL@

ifdef ARCH
  DEFS += -D$(ARCH)=1
endif

ifdef sysname
  DEFS += -D$(sysname)=1
endif

.PHONY: dummy all runtest clean superclean

dummy : all runtest 

# test applications 
ifneq (1, $(USE_OPENSSL))
AES_CALC = test/aes_calc$(EXE)
endif

testapp = test/cipher_driver$(EXE) test/datatypes_driver$(EXE) \
	  test/stat_driver$(EXE) test/sha1_driver$(EXE) \
	  test/kernel_driver$(EXE) $(AES_CALC) test/rand_gen$(EXE) \
	  test/env$(EXE)

# data values used to test the aes_calc application for AES-128
k128=000102030405060708090a0b0c0d0e0f
p128=00112233445566778899aabbccddeeff
c128=69c4e0d86a7b0430d8cdb78070b4c55a


# data values used to test the aes_calc application for AES-256
k256=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
p256=00112233445566778899aabbccddeeff
c256=8ea2b7ca516745bfeafc49904b496089


runtest: $(testapp)
	test/env$(EXE) # print out information on the build environment
	@echo "running crypto test applications..."
ifneq (1, $(USE_OPENSSL))
	test `test/aes_calc $(k128) $(p128)` = $(c128)
	test `test/aes_calc $(k256) $(p256)` = $(c256)
endif
	test/cipher_driver$(EXE) -v >/dev/null
	test/datatypes_driver$(EXE) -v >/dev/null
	test/stat_driver$(EXE) >/dev/null
	test/sha1_driver$(EXE) -v >/dev/null
	test/kernel_driver$(EXE) -v >/dev/null
	test/rand_gen$(EXE) -n 256 >/dev/null
	@echo "crypto test applications passed."


# the rule for making object files and test apps

%.o: %.c
	$(COMPILE) -c $< -o $@

%$(EXE): %.c ../test/getopt_s.c
	$(COMPILE) $(LDFLAGS) $< ../test/getopt_s.c -o $@ $(CRYPTOLIB) $(LIBS)

all: $(testapp)

# housekeeping functions

clean:
	rm -f libcryptomodule.a
	rm -f $(testapp) *.o */*.o 
	for a in * .* */*; do if [ -f "$$a~" ] ; then rm $$a~; fi; done;
	rm -f `find . -name "*.[ch]~*~"`
	rm -rf latex

superclean: clean
	rm -f *core TAGS ktrace.out


# the target 'package' builds a compressed tar archive of the source code

distname = crypto-$(shell cat VERSION)

package: superclean
	cd ..; tar cvzf $(distname).tgz crypto/


# EOF