1mydir=tests$(S)asn.1 2BUILDTOP=$(REL)..$(S).. 3LDAP=@LDAP@ 4 5SRCS= $(srcdir)/krb5_encode_test.c $(srcdir)/krb5_decode_test.c \ 6 $(srcdir)/krb5_decode_leak.c $(srcdir)/ktest.c \ 7 $(srcdir)/ktest_equal.c $(srcdir)/utility.c \ 8 $(srcdir)/trval.c $(srcdir)/t_trval.c 9 10ASN1SRCS= $(srcdir)/krb5.asn1 $(srcdir)/pkix.asn1 $(srcdir)/otp.asn1 \ 11 $(srcdir)/pkinit.asn1 $(srcdir)/pkinit-agility.asn1 \ 12 $(srcdir)/cammac.asn1 $(srcdir)/spake.asn1 13 14all: krb5_encode_test krb5_decode_test krb5_decode_leak t_trval 15 16ENCOBJS = krb5_encode_test.o ktest.o ktest_equal.o utility.o trval.o 17 18krb5_encode_test: $(ENCOBJS) $(KRB5_BASE_DEPLIBS) 19 $(CC_LINK) -o krb5_encode_test $(ENCOBJS) $(KRB5_BASE_LIBS) 20 21DECOBJS = krb5_decode_test.o ktest.o ktest_equal.o utility.o 22 23krb5_decode_test: $(DECOBJS) $(KRB5_BASE_DEPLIBS) 24 $(CC_LINK) -o krb5_decode_test $(DECOBJS) $(KRB5_BASE_LIBS) 25 26LEAKOBJS = krb5_decode_leak.o ktest.o ktest_equal.o utility.o 27 28krb5_decode_leak: $(LEAKOBJS) $(KRB5_BASE_DEPLIBS) 29 $(CC_LINK) -o krb5_decode_leak $(LEAKOBJS) $(KRB5_BASE_LIBS) 30 31t_trval: t_trval.o 32 $(CC) -o t_trval $(ALL_CFLAGS) t_trval.o 33 34check: check-encode check-encode-trval check-decode check-leak 35 36# Does not actually test for leaks unless using valgrind or a similar 37# tool, but does exercise a bunch of code. 38check-leak: krb5_decode_leak 39 $(RUN_TEST) ./krb5_decode_leak 40 41check-decode: krb5_decode_test 42 $(RUN_TEST) ./krb5_decode_test 43 44PKINIT_ENCODE_OUT=$(PKINIT_ENCODE_OUT-@PKINIT@) 45PKINIT_ENCODE_OUT-yes=$(srcdir)/pkinit_encode.out 46PKINIT_ENCODE_OUT-no= 47LDAP_ENCODE_OUT=$(LDAP_ENCODE_OUT-@LDAP@) 48LDAP_ENCODE_OUT-yes=$(srcdir)/ldap_encode.out 49LDAP_ENCODE_OUT-no= 50expected_encode.out: reference_encode.out pkinit_encode.out ldap_encode.out 51 cat $(srcdir)/reference_encode.out $(PKINIT_ENCODE_OUT) \ 52 $(LDAP_ENCODE_OUT) > $@ 53 54PKINIT_TRVAL_OUT=$(PKINIT_TRVAL_OUT-@PKINIT@) 55PKINIT_TRVAL_OUT-yes=$(srcdir)/pkinit_trval.out 56PKINIT_TRVAL_OUT-no= 57LDAP_TRVAL_OUT=$(LDAP_TRVAL_OUT-@LDAP@) 58LDAP_TRVAL_OUT-yes=$(srcdir)/ldap_trval.out 59LDAP_TRVAL_OUT-no= 60expected_trval.out: trval_reference.out pkinit_trval.out ldap_trval.out 61 cat $(srcdir)/trval_reference.out $(PKINIT_TRVAL_OUT) \ 62 $(LDAP_TRVAL_OUT) > $@ 63 64check-encode: krb5_encode_test expected_encode.out 65 $(RUN_TEST) ./krb5_encode_test > test.out 66 cmp test.out expected_encode.out 67 68check-encode-trval: krb5_encode_test expected_trval.out 69 $(RUN_TEST) ./krb5_encode_test -t > trval.out 70 cmp trval.out expected_trval.out 71 72# This target uses asn1c to generate encodings of sample objects, to 73# help ensure that our implementation is correct. asn1c must be in the 74# path for this to work. 75test-vectors: 76 $(RM) -r vectors 77 mkdir vectors 78 cp $(ASN1SRCS) $(srcdir)/make-vectors.c vectors 79 (cd vectors && asn1c *.asn1 && rm converter-sample.c) 80 (cd vectors && $(CC) -I. -w *.c -o make-vectors) 81 (cd vectors && ./make-vectors) 82 83install: 84 85clean: 86 rm -f *~ *.o krb5_encode_test krb5_decode_test krb5_decode_leak test.out trval t_trval expected_encode.out expected_trval.out trval.out 87 88 89################ Dependencies ################ 90krb5_decode_test.o: ktest.h utility.h ktest_equal.h debug.h 91krb5_encode_test.o: utility.h ktest.h debug.h 92trval.o: trval.c 93ktest.o: ktest.h utility.h 94ktest_equal.o: ktest_equal.h 95#utility.o: utility.h 96#utility.h: krbasn1.h asn1buf.h 97############################################## 98 99