1 mydir=lib$(S)crypto$(S)crypto_tests
2 BUILDTOP=$(REL)..$(S)..$(S)..
3 LOCALINCLUDES = -I$(srcdir)/../krb -I$(srcdir)/../$(CRYPTO_IMPL)/enc_provider \
4 -I$(srcdir)/../$(CRYPTO_IMPL)/hash_provider \
5 -I$(srcdir)/../krb/keyhash_provider -I$(srcdir)/../krb/dk \
6 -I$(srcdir)/../$(CRYPTO_IMPL) -I$(srcdir)/../krb/prng \
7 -I$(srcdir)/../krb/prng/$(PRNG_ALG) -I$(srcdir)/../krb/crc32 \
8 -I$(srcdir)/../krb/old -I$(srcdir)/../krb/raw \
9 -I$(srcdir)/../$(CRYPTO_IMPL)/aes -I$(srcdir)/../$(CRYPTO_IMPL)/des \
10 -I$(srcdir)/../$(CRYPTO_IMPL)/arcfour \
11 -I$(srcdir)/../$(CRYPTO_IMPL)/sha1 \
12 -I$(srcdir)/../$(CRYPTO_IMPL)/md5 -I$(srcdir)/../$(CRYPTO_IMPL)/md4 \
13 -I$(srcdir)/../$(CRYPTO_IMPL)/camellia
14 RUN_SETUP = @KRB5_RUN_ENV@
15 PROG_LIBPATH=-L$(TOPLIBD)
16 PROG_RPATH=$(KRB5_LIBDIR)
21 $(srcdir)/t_encrypt.c \
22 $(srcdir)/t_decrypt.c \
30 $(srcdir)/aes-test.c \
31 $(srcdir)/camellia-test.c \
33 $(srcdir)/t_cksums.c \
35 $(srcdir)/t_mddriver.c \
38 $(srcdir)/t_str2key.c \
39 $(srcdir)/t_derive.c \
43 ##DOS##BUILDTOP = ..\..\..
45 # NOTE: The t_cksum known checksum values are primarily for regression
46 # testing. They are not derived a priori, but are known to produce
47 # checksums that interoperate.
49 # We use the NSS PRNG when NSS is the crypto back end, so don't test
50 # against the expected output for Yarrow.
51 check-unix:: t_nfold t_encrypt t_decrypt t_prf t_prng t_cmac t_hmac \
52 t_cksum4 t_cksum5 t_cksums \
55 t_mddriver4 t_mddriver \
56 t_crc t_cts t_short t_str2key t_derive t_fork
57 $(RUN_SETUP) $(VALGRIND) ./t_nfold
58 $(RUN_SETUP) $(VALGRIND) ./t_encrypt
59 $(RUN_SETUP) $(VALGRIND) ./t_decrypt
60 $(RUN_SETUP) $(VALGRIND) ./t_prng <$(srcdir)/t_prng.seed >t_prng.output
61 if [ $(PRNG_ALG) = yarrow ]; then \
62 diff t_prng.output $(srcdir)/t_prng.expected; \
64 $(RUN_SETUP) $(VALGRIND) ./t_cmac
65 $(RUN_SETUP) $(VALGRIND) ./t_hmac
66 $(RUN_SETUP) $(VALGRIND) ./t_prf <$(srcdir)/t_prf.in >t_prf.output
67 diff t_prf.output $(srcdir)/t_prf.expected
68 $(RUN_SETUP) $(VALGRIND) ./t_cksum4 "this is a test" e3f76a07f3401e3536b43a3f54226c39422c35682c354835
69 $(RUN_SETUP) $(VALGRIND) ./t_cksum5 "this is a test" e3f76a07f3401e351143ee6f4c09be1edb4264d55015db53
70 $(RUN_SETUP) $(VALGRIND) ./t_cksums
71 $(RUN_SETUP) $(VALGRIND) ./t_crc
72 $(RUN_SETUP) $(VALGRIND) ./t_cts
73 $(RUN_SETUP) $(VALGRIND) ./aes-test -k > vk.txt
74 cmp vk.txt $(srcdir)/expect-vk.txt
75 $(RUN_SETUP) $(VALGRIND) ./aes-test > vt.txt
76 cmp vt.txt $(srcdir)/expect-vt.txt
77 $(RUN_SETUP) $(VALGRIND) ./camellia-test > camellia-vt.txt
78 # Enable this when Camellia becomes unconditional.
79 # cmp camellia-vt.txt $(srcdir)/camellia-expect-vt.txt
80 $(RUN_SETUP) $(VALGRIND) $(C)t_mddriver4 -x
81 $(RUN_SETUP) $(VALGRIND) $(C)t_mddriver -x
82 $(RUN_SETUP) $(VALGRIND) ./t_short
83 $(RUN_SETUP) $(VALGRIND) ./t_str2key
84 $(RUN_SETUP) $(VALGRIND) ./t_derive
85 $(RUN_SETUP) $(VALGRIND) ./t_fork
90 # $(RUN_SETUP) $(VALGRIND) ./t_pkcs5
92 t_nfold$(EXEEXT): t_nfold.$(OBJEXT) nfold.$(OBJEXT) $(SUPPORT_DEPLIB)
93 $(CC_LINK) -o $@ t_nfold.$(OBJEXT) ../krb/nfold$(DYNOBJEXT) $(SUPPORT_LIB)
95 nfold.$(OBJEXT): $(srcdir)/../krb/nfold.c
96 $(CC) -c $(ALL_CFLAGS) $(srcdir)/../krb/nfold.c
98 t_encrypt$(EXEEXT): t_encrypt.$(OBJEXT) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
99 $(CC_LINK) -o $@ t_encrypt.$(OBJEXT) -lkrb5 -lk5crypto -lcom_err $(SUPPORT_LIB)
101 t_decrypt$(EXEEXT): t_decrypt.$(OBJEXT) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
102 $(CC_LINK) -o $@ t_decrypt.$(OBJEXT) -lkrb5 -lk5crypto -lcom_err $(SUPPORT_LIB)
104 t_prf$(EXEEXT): t_prf.$(OBJEXT) $(SUPPORT_DEPLIB)
105 $(CC_LINK) -o $@ t_prf.$(OBJEXT) -lkrb5 -lk5crypto -lcom_err $(SUPPORT_LIB)
107 t_prng$(EXEEXT): t_prng.$(OBJEXT) $(SUPPORT_DEPLIB)
108 $(CC_LINK) -o $@ t_prng.$(OBJEXT) -lk5crypto -lcom_err $(SUPPORT_LIB)
110 t_cmac$(EXEEXT): t_cmac.$(OBJEXT) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
111 $(CC_LINK) -o $@ t_cmac.$(OBJEXT) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB)
113 t_hmac$(EXEEXT): t_hmac.$(OBJEXT) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
114 $(CC_LINK) -o $@ t_hmac.$(OBJEXT) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB)
116 #t_pkcs5$(EXEEXT): t_pkcs5.$(OBJEXT) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
117 # $(CC_LINK) -o $@ t_pkcs5.$(OBJEXT) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB)
119 vectors$(EXEEXT): vectors.$(OBJEXT) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
120 $(CC_LINK) -o $@ vectors.$(OBJEXT) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB)
122 t_cts$(EXEEXT): t_cts.$(OBJEXT) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
123 $(CC_LINK) -o $@ t_cts.$(OBJEXT) \
124 $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB)
126 t_short$(EXEEXT): t_short.$(OBJEXT) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
127 $(CC_LINK) -o $@ t_short.$(OBJEXT) \
128 $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB)
130 t_cksum4.o: $(srcdir)/t_cksum.c
131 $(CC) -DMD=4 $(ALL_CFLAGS) -o t_cksum4.o -c $(srcdir)/t_cksum.c
133 t_cksum5.o: $(srcdir)/t_cksum.c
134 $(CC) -DMD=5 $(ALL_CFLAGS) -o t_cksum5.o -c $(srcdir)/t_cksum.c
136 t_cksum4: t_cksum4.o $(CRYTPO_DEPLIB)
137 $(CC_LINK) -o t_cksum4 t_cksum4.o $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB) $(LIBS)
139 t_cksum5: t_cksum5.o $(CRYPTO_DEPLIB)
140 $(CC_LINK) -o t_cksum5 t_cksum5.o $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB) $(LIBS)
142 t_cksums: t_cksums.o $(CRYTPO_DEPLIB)
143 $(CC_LINK) -o t_cksums t_cksums.o -lkrb5 $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB) $(LIBS)
145 t_crc: t_crc.o $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
146 $(CC_LINK) -o $@ t_crc.o $(K5CRYPTO_LIB) $(SUPPORT_LIB)
148 aes-test: aes-test.$(OBJEXT) $(CRYPTO_DEPLIB)
149 $(CC_LINK) -o aes-test aes-test.$(OBJEXT) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB)
151 camellia-test: camellia-test.$(OBJEXT) $(CRYPTO_DEPLIB)
152 $(CC_LINK) -o camellia-test camellia-test.$(OBJEXT) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB)
154 t_mddriver4.o: $(srcdir)/t_mddriver.c
155 $(CC) -DMD=4 $(ALL_CFLAGS) -o t_mddriver4.o -c $(srcdir)/t_mddriver.c
157 t_mddriver4: t_mddriver4.o $(SUPPORT_DEPLIB) $(CRYPTO_DEPLIB)
158 $(CC_LINK) -DMD4 -o t_mddriver4 t_mddriver4.o -lk5crypto $(SUPPORT_LIB)
160 t_mddriver: t_mddriver.o $(SUPPORT_DEPLIB) $(CRYPTO_DEPLIB)
161 $(CC_LINK) -o t_mddriver t_mddriver.o -lk5crypto $(SUPPORT_LIB)
163 t_kperf: t_kperf.o $(SUPPORT_DEPLIB) $(CRYPTO_DEPLIB)
164 $(CC_LINK) -o t_kperf t_kperf.o $(SUPPORT_LIB) $(CRYPTO_DEPLIB)
166 t_str2key$(EXEEXT): t_str2key.$(OBJEXT) $(SUPPORT_DEPLIB)
167 $(CC_LINK) -o $@ t_str2key.$(OBJEXT) -lkrb5 -lk5crypto -lcom_err $(SUPPORT_LIB)
169 t_derive$(EXEEXT): t_derive.$(OBJEXT) $(SUPPORT_DEPLIB)
170 $(CC_LINK) -o $@ t_derive.$(OBJEXT) -lkrb5 -lk5crypto -lcom_err $(SUPPORT_LIB)
172 t_fork$(EXEEXT): t_fork.$(OBJEXT) $(SUPPORT_DEPLIB)
173 $(CC_LINK) -o $@ t_fork.$(OBJEXT) -lkrb5 -lk5crypto -lcom_err $(SUPPORT_LIB)
175 ytest: ytest.o shs.o $(SUPPORT_DEPLIB) $(CRYPTO_DEPLIB)
176 $(CC_LINK) -o ytest ytest.o $(SUPPORT_LIB) $(CRYPTO_DEPLIB)
181 $(RM) t_nfold.o t_nfold nfold.$(OBJEXT) t_encrypt t_encrypt.o \
182 t_decrypt.o t_decrypt t_prng.o t_prng t_cmac.o t_cmac \
183 t_hmac.o t_hmac t_pkcs5.o t_pkcs5 pbkdf2.o t_prf t_prf.o \
184 aes-test.o aes-test vt.txt vk.txt kresults.out \
185 t_crc.o t_crc t_cts.o t_cts \
186 t_mddriver4.o t_mddriver4 t_mddriver.o t_mddriver \
187 t_cksum4 t_cksum4.o t_cksum5 t_cksum5.o t_cksums t_cksums.o \
188 t_kperf.o t_kperf t_short t_short.o t_str2key t_str2key.o \
189 t_derive t_derive.o t_fork t_fork.o \
190 t_mddriver$(EXEEXT) $(OUTPRE)t_mddriver.$(OBJEXT)