OLD | NEW |
| (Empty) |
1 # Makefile for libcryptomodule.a | |
2 # | |
3 # David A. McGrew | |
4 # Cisco Systems, Inc. | |
5 | |
6 srcdir = @srcdir@ | |
7 top_srcdir = @top_srcdir@ | |
8 top_builddir = @top_builddir@ | |
9 VPATH = @srcdir@ | |
10 | |
11 CC = @CC@ | |
12 INCDIR = -Iinclude -I$(srcdir)/include -I$(top_srcdir)/include | |
13 DEFS = @DEFS@ | |
14 CPPFLAGS= @CPPFLAGS@ | |
15 CFLAGS = @CFLAGS@ | |
16 LIBS = @LIBS@ | |
17 LDFLAGS = @LDFLAGS@ -L. -L.. | |
18 COMPILE = $(CC) $(DEFS) $(INCDIR) $(CPPFLAGS) $(CFLAGS) | |
19 CRYPTOLIB = -lsrtp | |
20 | |
21 RANLIB = @RANLIB@ | |
22 | |
23 # EXE defines the suffix on executables - it's .exe for cygwin, and | |
24 # null on linux, bsd, and OS X and other OSes. we define this so that | |
25 # `make clean` will work on the cygwin platform | |
26 EXE = @EXE@ | |
27 # Random source. | |
28 USE_OPENSSL = @USE_OPENSSL@ | |
29 | |
30 ifdef ARCH | |
31 DEFS += -D$(ARCH)=1 | |
32 endif | |
33 | |
34 ifdef sysname | |
35 DEFS += -D$(sysname)=1 | |
36 endif | |
37 | |
38 .PHONY: dummy all runtest clean superclean | |
39 | |
40 dummy : all runtest | |
41 | |
42 # test applications | |
43 ifneq (1, $(USE_OPENSSL)) | |
44 AES_CALC = test/aes_calc$(EXE) | |
45 endif | |
46 | |
47 testapp = test/cipher_driver$(EXE) test/datatypes_driver$(EXE) \ | |
48 test/stat_driver$(EXE) test/sha1_driver$(EXE) \ | |
49 test/kernel_driver$(EXE) $(AES_CALC) test/rand_gen$(EXE) \ | |
50 test/env$(EXE) | |
51 | |
52 # data values used to test the aes_calc application for AES-128 | |
53 k128=000102030405060708090a0b0c0d0e0f | |
54 p128=00112233445566778899aabbccddeeff | |
55 c128=69c4e0d86a7b0430d8cdb78070b4c55a | |
56 | |
57 | |
58 # data values used to test the aes_calc application for AES-256 | |
59 k256=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f | |
60 p256=00112233445566778899aabbccddeeff | |
61 c256=8ea2b7ca516745bfeafc49904b496089 | |
62 | |
63 | |
64 runtest: $(testapp) | |
65 test/env$(EXE) # print out information on the build environment | |
66 @echo "running crypto test applications..." | |
67 ifneq (1, $(USE_OPENSSL)) | |
68 test `test/aes_calc $(k128) $(p128)` = $(c128) | |
69 test `test/aes_calc $(k256) $(p256)` = $(c256) | |
70 endif | |
71 test/cipher_driver$(EXE) -v >/dev/null | |
72 test/datatypes_driver$(EXE) -v >/dev/null | |
73 test/stat_driver$(EXE) >/dev/null | |
74 test/sha1_driver$(EXE) -v >/dev/null | |
75 test/kernel_driver$(EXE) -v >/dev/null | |
76 test/rand_gen$(EXE) -n 256 >/dev/null | |
77 @echo "crypto test applications passed." | |
78 | |
79 | |
80 # the rule for making object files and test apps | |
81 | |
82 %.o: %.c | |
83 $(COMPILE) -c $< -o $@ | |
84 | |
85 %$(EXE): %.c ../test/getopt_s.c | |
86 $(COMPILE) $(LDFLAGS) $< ../test/getopt_s.c -o $@ $(CRYPTOLIB) $(LIBS) | |
87 | |
88 all: $(testapp) | |
89 | |
90 # housekeeping functions | |
91 | |
92 clean: | |
93 rm -f libcryptomodule.a | |
94 rm -f $(testapp) *.o */*.o | |
95 for a in * .* */*; do if [ -f "$$a~" ] ; then rm $$a~; fi; done; | |
96 rm -f `find . -name "*.[ch]~*~"` | |
97 rm -rf latex | |
98 | |
99 superclean: clean | |
100 rm -f *core TAGS ktrace.out | |
101 | |
102 | |
103 # the target 'package' builds a compressed tar archive of the source code | |
104 | |
105 distname = crypto-$(shell cat VERSION) | |
106 | |
107 package: superclean | |
108 cd ..; tar cvzf $(distname).tgz crypto/ | |
109 | |
110 | |
111 # EOF | |
OLD | NEW |