1*33ada582Sdjm#	$OpenBSD: Makefile.inc,v 1.16 2024/01/11 01:45:58 djm Exp $
229518ea0Sdjm
329518ea0Sdjm.include <bsd.own.mk>
429518ea0Sdjm.include <bsd.obj.mk>
529518ea0Sdjm
6a76a1e99Sdjm# User-settable options
7a76a1e99SdjmUNITTEST_FAST?= no	# Skip slow tests (e.g. less intensive fuzzing).
8a76a1e99SdjmUNITTEST_SLOW?= no	# Include slower tests (e.g. more intensive fuzzing).
9a76a1e99SdjmUNITTEST_VERBOSE?= no	# Verbose test output (inc. per-test names).
10a76a1e99Sdjm
11145fe071StbMALLOC_OPTIONS?=	CFGJRSUX
12145fe071StbTEST_ENV?=		MALLOC_OPTIONS=${MALLOC_OPTIONS}
13145fe071Stb
14a7772ff7Sdjm# XXX detect from ssh binary?
15a7772ff7SdjmOPENSSL?=	yes
16*33ada582SdjmDSAKEY?=	yes
17*33ada582Sdjm
18*33ada582Sdjm.if (${DSAKEY:L} == "yes")
19*33ada582SdjmCFLAGS+=	-DWITH_DSA
20*33ada582Sdjm.endif
211a3a400aSdjm
22a7772ff7Sdjm.if (${OPENSSL:L} == "yes")
231a3a400aSdjmCFLAGS+=	-DWITH_OPENSSL
24a7772ff7Sdjm.endif
25a7772ff7Sdjm
2629518ea0Sdjm# enable warnings
2729518ea0SdjmWARNINGS=Yes
2829518ea0Sdjm
2929518ea0SdjmDEBUG=-g
3029518ea0SdjmCFLAGS+=	-fstack-protector-all
3129518ea0SdjmCDIAGFLAGS=	-Wall
3229518ea0SdjmCDIAGFLAGS+=	-Wextra
3329518ea0SdjmCDIAGFLAGS+=	-Werror
3429518ea0SdjmCDIAGFLAGS+=	-Wchar-subscripts
3529518ea0SdjmCDIAGFLAGS+=	-Wcomment
3629518ea0SdjmCDIAGFLAGS+=	-Wformat
3729518ea0SdjmCDIAGFLAGS+=	-Wformat-security
3829518ea0SdjmCDIAGFLAGS+=	-Wimplicit
3929518ea0SdjmCDIAGFLAGS+=	-Winline
4029518ea0SdjmCDIAGFLAGS+=	-Wmissing-declarations
4129518ea0SdjmCDIAGFLAGS+=	-Wmissing-prototypes
4229518ea0SdjmCDIAGFLAGS+=	-Wparentheses
4329518ea0SdjmCDIAGFLAGS+=	-Wpointer-arith
4429518ea0SdjmCDIAGFLAGS+=	-Wreturn-type
4529518ea0SdjmCDIAGFLAGS+=	-Wshadow
4629518ea0SdjmCDIAGFLAGS+=	-Wsign-compare
4729518ea0SdjmCDIAGFLAGS+=	-Wstrict-aliasing
4829518ea0SdjmCDIAGFLAGS+=	-Wstrict-prototypes
4929518ea0SdjmCDIAGFLAGS+=	-Wswitch
5029518ea0SdjmCDIAGFLAGS+=	-Wtrigraphs
5129518ea0SdjmCDIAGFLAGS+=	-Wuninitialized
5229518ea0SdjmCDIAGFLAGS+=	-Wunused
536d7d1063SdjmCDIAGFLAGS+=	-Wno-unused-parameter
548d8dd767Sjsg.if ${COMPILER_VERSION:L} != "gcc3"
5529518ea0SdjmCDIAGFLAGS+=	-Wold-style-definition
5629518ea0Sdjm.endif
5729518ea0Sdjm
5829518ea0SdjmSSHREL=../../../../../usr.bin/ssh
5929518ea0Sdjm
6029518ea0SdjmCFLAGS+=-I${.CURDIR}/../test_helper -I${.CURDIR}/${SSHREL}
6129518ea0Sdjm
6229518ea0Sdjm.if exists(${.CURDIR}/../test_helper/${__objdir})
6329518ea0SdjmLDADD+=-L${.CURDIR}/../test_helper/${__objdir} -ltest_helper
6429518ea0SdjmDPADD+=${.CURDIR}/../test_helper/${__objdir}/libtest_helper.a
6529518ea0Sdjm.else
6629518ea0SdjmLDADD+=-L${.CURDIR}/../test_helper -ltest_helper
6729518ea0SdjmDPADD+=${.CURDIR}/../test_helper/libtest_helper.a
6829518ea0Sdjm.endif
6929518ea0Sdjm
706d7d1063Sdjm.PATH: ${.CURDIR}/${SSHREL}
7129518ea0Sdjm
72a7772ff7SdjmLDADD+= -lutil
73a7772ff7SdjmDPADD+= ${LIBUTIL}
74a7772ff7Sdjm
75a7772ff7Sdjm.if (${OPENSSL:L} == "yes")
7629518ea0SdjmLDADD+= -lcrypto
7729518ea0SdjmDPADD+= ${LIBCRYPTO}
78a7772ff7Sdjm.endif
79a76a1e99Sdjm
80760ae021SdjmLDADD+= -lfido2 -lcbor -lusbhid
81760ae021SdjmDPADD+= ${LIBFIDO2} ${LIBCBOR} ${LIBUSBHID}
82760ae021Sdjm
83a76a1e99SdjmUNITTEST_ARGS?=
84a76a1e99Sdjm
85a76a1e99Sdjm.if (${UNITTEST_VERBOSE:L} != "no")
86a76a1e99SdjmUNITTEST_ARGS+= -v
87a76a1e99Sdjm.endif
88a76a1e99Sdjm.if (${UNITTEST_FAST:L} != "no")
89a76a1e99SdjmUNITTEST_ARGS+= -f
90a76a1e99Sdjm.elif (${UNITTEST_SLOW:L} != "no")
91a76a1e99SdjmUNITTEST_ARGS+= -F
92a76a1e99Sdjm.endif
93