xref: /openbsd/regress/lib/libcrypto/bn/Makefile (revision 83d1dbd8)
1*83d1dbd8Sjsing#	$OpenBSD: Makefile,v 1.38 2024/04/09 14:59:57 jsing Exp $
23c6bd008Smiod
3b8d22d11StbPROGS +=	bn_add_sub
4*83d1dbd8SjsingPROGS +=	bn_bits
5e34544d2SjsingPROGS +=	bn_cmp
6703277b6SjsingPROGS +=	bn_convert
73093805cStbPROGS +=	bn_gcd
8e79df2fbSjsingPROGS +=	bn_general
9b8d22d11StbPROGS +=	bn_isqrt
102cac8f3aStbPROGS +=	bn_mod_exp
1199463a0cStbPROGS +=	bn_mod_inverse
12b8d22d11StbPROGS +=	bn_mod_sqrt
13b8d22d11StbPROGS +=	bn_mont
142900a9c1SjsingPROGS +=	bn_mul_div
15b8d22d11StbPROGS +=	bn_primes
16f356d559StbPROGS +=	bn_print
170b39bee8SjsingPROGS +=	bn_shift
186c2523fcStbPROGS +=	bn_test
19b8d22d11StbPROGS +=	bn_to_string
20b8d22d11StbPROGS +=	bn_unit
21e3cbfed8SjsingPROGS +=	bn_word
22b8d22d11Stb
233093805cStbSTATIC_LINK +=	bn_gcd
24b8d22d11StbSTATIC_LINK +=	bn_isqrt
252cac8f3aStbSTATIC_LINK +=	bn_mod_exp
26f356d559StbSTATIC_LINK +=	bn_print
276c2523fcStbSTATIC_LINK +=	bn_test
283c6bd008Smiod
29e34544d2SjsingLDADD =		-lcrypto
30e34544d2SjsingDPADD =		${LIBCRYPTO}
31e34544d2SjsingWARNINGS =	Yes
32e34544d2SjsingCFLAGS +=	-Wall -Wundef -Werror
33b8d22d11StbCFLAGS +=	-I${.CURDIR}/../../../../lib/libcrypto/bn/
34b8a44de6SjsingCFLAGS +=	-I${.CURDIR}/../../../../lib/libcrypto/bn/arch/${MACHINE_CPU}/
351aba091eSmiod
366c2523fcStb# Use default targets from bsd.regress.mk unless overridden below
376c2523fcStbREGRESS_TARGETS = ${PROGS:S/^/run-regress-/}
38b8d22d11Stb
39ccbe55b7Stb# Verify that the bn_isqrt -C output isn't changed by accident.
40b8d22d11Stbisqrt-print-tables: bn_isqrt
41b8d22d11Stb	@./bn_isqrt -C
42f6338becStb.PHONY: isqrt-print-tables
43b8d22d11Stb
44ccbe55b7Stbbn_isqrt_gen_tables.txt: bn_isqrt
45ccbe55b7Stb	${.MAKE} -C ${.CURDIR} isqrt-print-tables > $@.tmp
46ccbe55b7Stb	mv -f $@.tmp $@
47ccbe55b7Stb
48ccbe55b7StbREGRESS_TARGETS +=	run-bn_isqrt_check_tables
49ccbe55b7Stb.PHONY:			run-bn_isqrt_check_tables
50ccbe55b7Stbrun-bn_isqrt_check_tables: bn_isqrt_gen_tables.txt
51ccbe55b7Stb	diff -pu ${.CURDIR}/bn_isqrt_tables.txt bn_isqrt_gen_tables.txt
52ccbe55b7Stb
536c2523fcStbCLEANFILES += bn_isqrt_gen_tables.txt.tmp bn_isqrt_gen_tables.txt
54b8d22d11Stb
556c2523fcStb# bn_test is special, so override bsd.regress.mk's run-regress-bn_test
56260252c4Stbrun-regress-bn_test bn_test.out: bn_test
57b8d22d11Stb	./bn_test -out bn_test.out
58b8d22d11Stb
5956b78144Stb.if exists(/usr/local/bin/bc-gh)
6056b78144StbBC ?=	bc-gh
6156b78144Stb.endif
6256b78144StbBC ?=	bc
6356b78144Stb
64b8d22d11StbREGRESS_TARGETS +=	run-bc
65b8d22d11Stb.PHONY: 		run-bc
66b8d22d11Stbrun-bc: bn_test.out
6756b78144Stb	${BC} < $> | tee bc.out | grep -v '^0$$'
68b8d22d11Stb	! grep -v '^test ' <bc.out | grep -v '^0$$'
69b8d22d11Stb
706c2523fcStbCLEANFILES +=	bn_test.out bc.out
716c2523fcStb
722900a9c1Sjsingbenchmark: bn_mul_div bn_shift
732900a9c1Sjsing	./bn_mul_div --benchmark
74bf9f3f60Stb	./bn_shift --benchmark
75bf9f3f60Stb.PHONY: benchmark
76bf9f3f60Stb
77b8d22d11Stb.for p in ${STATIC_LINK}
78b8d22d11StbLDADD_$p +=	${CRYPTO_INT}
79b8d22d11Stb.endfor
80b8d22d11Stb
813952b0e8StbSRCS_bn_primes = bn_primes.c bn_small_primes.c
823952b0e8Stb
833952b0e8Stb.PATH: ${.CURDIR}/../../../../lib/libcrypto/bn
843952b0e8Stb
85e34544d2Sjsing.include <bsd.regress.mk>
86