xref: /openbsd/regress/lib/libcrypto/bn/Makefile (revision 0b39bee8)
1*0b39bee8Sjsing#	$OpenBSD: Makefile,v 1.17 2022/12/17 17:18:46 jsing Exp $
23c6bd008Smiod
3b8d22d11StbPROGS +=	bn_add_sub
4e34544d2SjsingPROGS +=	bn_cmp
5b8d22d11StbPROGS +=	bn_isqrt
6ef05030eStbPROGS +=	bn_mod_exp
7b8d22d11StbPROGS +=	bn_mod_exp2_mont
86a203a87StbPROGS +=	bn_mod_exp_zero
9b8d22d11StbPROGS +=	bn_mod_sqrt
10b8d22d11StbPROGS +=	bn_mont
11b8d22d11StbPROGS +=	bn_primes
12b8d22d11StbPROGS +=	bn_rand_interval
13*0b39bee8SjsingPROGS +=	bn_shift
146c2523fcStbPROGS +=	bn_test
15b8d22d11StbPROGS +=	bn_to_string
16b8d22d11StbPROGS +=	bn_unit
17b8d22d11Stb
18b8d22d11StbSTATIC_LINK +=	bn_isqrt
19ef05030eStbSTATIC_LINK +=	bn_mod_exp
206a203a87StbSTATIC_LINK +=	bn_mod_exp_zero
21b8d22d11StbSTATIC_LINK +=	bn_primes
22b8d22d11StbSTATIC_LINK +=	bn_rand_interval
236c2523fcStbSTATIC_LINK +=	bn_test
24da0f3049StbSTATIC_LINK +=	bn_to_string
253c6bd008Smiod
26e34544d2SjsingLDADD =		-lcrypto
27e34544d2SjsingDPADD =		${LIBCRYPTO}
28e34544d2SjsingWARNINGS =	Yes
29e34544d2SjsingCFLAGS +=	-Wall -Wundef -Werror
30b8d22d11StbCFLAGS +=	-I${.CURDIR}/../../../../lib/libcrypto/bn/
311aba091eSmiod
326c2523fcStb# Use default targets from bsd.regress.mk unless overridden below
336c2523fcStbREGRESS_TARGETS = ${PROGS:S/^/run-regress-/}
34b8d22d11Stb
35ccbe55b7Stb# Verify that the bn_isqrt -C output isn't changed by accident.
36b8d22d11Stbisqrt-print-tables: bn_isqrt
37b8d22d11Stb	@./bn_isqrt -C
38f6338becStb.PHONY: isqrt-print-tables
39b8d22d11Stb
40ccbe55b7Stbbn_isqrt_gen_tables.txt: bn_isqrt
41ccbe55b7Stb	${.MAKE} -C ${.CURDIR} isqrt-print-tables > $@.tmp
42ccbe55b7Stb	mv -f $@.tmp $@
43ccbe55b7Stb
44ccbe55b7StbREGRESS_TARGETS +=	run-bn_isqrt_check_tables
45ccbe55b7Stb.PHONY:			run-bn_isqrt_check_tables
46ccbe55b7Stbrun-bn_isqrt_check_tables: bn_isqrt_gen_tables.txt
47ccbe55b7Stb	diff -pu ${.CURDIR}/bn_isqrt_tables.txt bn_isqrt_gen_tables.txt
48ccbe55b7Stb
496c2523fcStbCLEANFILES += bn_isqrt_gen_tables.txt.tmp bn_isqrt_gen_tables.txt
50b8d22d11Stb
516c2523fcStb# bn_test is special, so override bsd.regress.mk's run-regress-bn_test
526c2523fcStbrun-regress-bn_test bntest.out: bn_test
53b8d22d11Stb	./bn_test -out bn_test.out
54b8d22d11Stb
55b8d22d11StbREGRESS_TARGETS +=	run-bc
56b8d22d11Stb.PHONY: 		run-bc
57b8d22d11Stbrun-bc: bn_test.out
58b8d22d11Stb	bc < $> | tee bc.out | grep -v '^0$$'
59b8d22d11Stb	! grep -v '^test ' <bc.out | grep -v '^0$$'
60b8d22d11Stb
616c2523fcStbCLEANFILES +=	bn_test.out bc.out
626c2523fcStb
63b8d22d11Stb.for p in ${STATIC_LINK}
64b8d22d11StbLDADD_$p +=	${CRYPTO_INT}
65b8d22d11Stb.endfor
66b8d22d11Stb
67*0b39bee8Sjsingbenchmark: bn_shift
68*0b39bee8Sjsing	./bn_shift --benchmark
69*0b39bee8Sjsing
70e34544d2Sjsing.include <bsd.regress.mk>
71