Makefile revision 1.25
1#	$OpenBSD: Makefile,v 1.25 2023/03/26 18:34:36 tb Exp $
2
3PROGS +=	bn_add_sub
4PROGS +=	bn_cmp
5PROGS +=	bn_isqrt
6PROGS +=	bn_mod_exp
7PROGS +=	bn_mod_exp2_mont
8PROGS +=	bn_mod_sqrt
9PROGS +=	bn_mont
10PROGS +=	bn_mul_div
11PROGS +=	bn_primes
12PROGS +=	bn_rand_interval
13PROGS +=	bn_shift
14PROGS +=	bn_test
15PROGS +=	bn_to_string
16PROGS +=	bn_unit
17PROGS +=	bn_word
18
19STATIC_LINK +=	bn_isqrt
20STATIC_LINK +=	bn_mod_exp
21STATIC_LINK +=	bn_rand_interval
22STATIC_LINK +=	bn_test
23STATIC_LINK +=	bn_to_string
24
25LDADD =		-lcrypto
26DPADD =		${LIBCRYPTO}
27WARNINGS =	Yes
28CFLAGS +=	-Wall -Wundef -Werror
29CFLAGS +=	-I${.CURDIR}/../../../../lib/libcrypto/bn/
30CFLAGS +=	-I${.CURDIR}/../../../../lib/libcrypto/bn/arch/${MACHINE_CPU}/
31
32# Use default targets from bsd.regress.mk unless overridden below
33REGRESS_TARGETS = ${PROGS:S/^/run-regress-/}
34
35# Verify that the bn_isqrt -C output isn't changed by accident.
36isqrt-print-tables: bn_isqrt
37	@./bn_isqrt -C
38.PHONY: isqrt-print-tables
39
40bn_isqrt_gen_tables.txt: bn_isqrt
41	${.MAKE} -C ${.CURDIR} isqrt-print-tables > $@.tmp
42	mv -f $@.tmp $@
43
44REGRESS_TARGETS +=	run-bn_isqrt_check_tables
45.PHONY:			run-bn_isqrt_check_tables
46run-bn_isqrt_check_tables: bn_isqrt_gen_tables.txt
47	diff -pu ${.CURDIR}/bn_isqrt_tables.txt bn_isqrt_gen_tables.txt
48
49CLEANFILES += bn_isqrt_gen_tables.txt.tmp bn_isqrt_gen_tables.txt
50
51# bn_test is special, so override bsd.regress.mk's run-regress-bn_test
52run-regress-bn_test bntest.out: bn_test
53	./bn_test -out bn_test.out
54
55REGRESS_TARGETS +=	run-bc
56.PHONY: 		run-bc
57run-bc: bn_test.out
58	bc < $> | tee bc.out | grep -v '^0$$'
59	! grep -v '^test ' <bc.out | grep -v '^0$$'
60
61CLEANFILES +=	bn_test.out bc.out
62
63benchmark: bn_mul_div bn_shift
64	./bn_mul_div --benchmark
65	./bn_shift --benchmark
66.PHONY: benchmark
67
68.for p in ${STATIC_LINK}
69LDADD_$p +=	${CRYPTO_INT}
70.endfor
71
72SRCS_bn_primes = bn_primes.c bn_small_primes.c
73
74.PATH: ${.CURDIR}/../../../../lib/libcrypto/bn
75
76.include <bsd.regress.mk>
77