xref: /openbsd/regress/lib/libcrypto/bn/Makefile (revision e3cbfed8)
1*e3cbfed8Sjsing#	$OpenBSD: Makefile,v 1.22 2023/03/11 14:04:21 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
112900a9c1SjsingPROGS +=	bn_mul_div
12b8d22d11StbPROGS +=	bn_primes
13b8d22d11StbPROGS +=	bn_rand_interval
140b39bee8SjsingPROGS +=	bn_shift
156c2523fcStbPROGS +=	bn_test
16b8d22d11StbPROGS +=	bn_to_string
17b8d22d11StbPROGS +=	bn_unit
18*e3cbfed8SjsingPROGS +=	bn_word
19b8d22d11Stb
20b8d22d11StbSTATIC_LINK +=	bn_isqrt
21ef05030eStbSTATIC_LINK +=	bn_mod_exp
226a203a87StbSTATIC_LINK +=	bn_mod_exp_zero
23b8d22d11StbSTATIC_LINK +=	bn_primes
24b8d22d11StbSTATIC_LINK +=	bn_rand_interval
256c2523fcStbSTATIC_LINK +=	bn_test
26da0f3049StbSTATIC_LINK +=	bn_to_string
273c6bd008Smiod
28e34544d2SjsingLDADD =		-lcrypto
29e34544d2SjsingDPADD =		${LIBCRYPTO}
30e34544d2SjsingWARNINGS =	Yes
31e34544d2SjsingCFLAGS +=	-Wall -Wundef -Werror
32b8d22d11StbCFLAGS +=	-I${.CURDIR}/../../../../lib/libcrypto/bn/
33b8a44de6SjsingCFLAGS +=	-I${.CURDIR}/../../../../lib/libcrypto/bn/arch/${MACHINE_CPU}/
341aba091eSmiod
356c2523fcStb# Use default targets from bsd.regress.mk unless overridden below
366c2523fcStbREGRESS_TARGETS = ${PROGS:S/^/run-regress-/}
37b8d22d11Stb
38ccbe55b7Stb# Verify that the bn_isqrt -C output isn't changed by accident.
39b8d22d11Stbisqrt-print-tables: bn_isqrt
40b8d22d11Stb	@./bn_isqrt -C
41f6338becStb.PHONY: isqrt-print-tables
42b8d22d11Stb
43ccbe55b7Stbbn_isqrt_gen_tables.txt: bn_isqrt
44ccbe55b7Stb	${.MAKE} -C ${.CURDIR} isqrt-print-tables > $@.tmp
45ccbe55b7Stb	mv -f $@.tmp $@
46ccbe55b7Stb
47ccbe55b7StbREGRESS_TARGETS +=	run-bn_isqrt_check_tables
48ccbe55b7Stb.PHONY:			run-bn_isqrt_check_tables
49ccbe55b7Stbrun-bn_isqrt_check_tables: bn_isqrt_gen_tables.txt
50ccbe55b7Stb	diff -pu ${.CURDIR}/bn_isqrt_tables.txt bn_isqrt_gen_tables.txt
51ccbe55b7Stb
526c2523fcStbCLEANFILES += bn_isqrt_gen_tables.txt.tmp bn_isqrt_gen_tables.txt
53b8d22d11Stb
546c2523fcStb# bn_test is special, so override bsd.regress.mk's run-regress-bn_test
556c2523fcStbrun-regress-bn_test bntest.out: bn_test
56b8d22d11Stb	./bn_test -out bn_test.out
57b8d22d11Stb
58b8d22d11StbREGRESS_TARGETS +=	run-bc
59b8d22d11Stb.PHONY: 		run-bc
60b8d22d11Stbrun-bc: bn_test.out
61b8d22d11Stb	bc < $> | tee bc.out | grep -v '^0$$'
62b8d22d11Stb	! grep -v '^test ' <bc.out | grep -v '^0$$'
63b8d22d11Stb
646c2523fcStbCLEANFILES +=	bn_test.out bc.out
656c2523fcStb
662900a9c1Sjsingbenchmark: bn_mul_div bn_shift
672900a9c1Sjsing	./bn_mul_div --benchmark
68bf9f3f60Stb	./bn_shift --benchmark
69bf9f3f60Stb.PHONY: benchmark
70bf9f3f60Stb
71b8d22d11Stb.for p in ${STATIC_LINK}
72b8d22d11StbLDADD_$p +=	${CRYPTO_INT}
73b8d22d11Stb.endfor
74b8d22d11Stb
75e34544d2Sjsing.include <bsd.regress.mk>
76