xref: /openbsd/usr.bin/ssh/Makefile.inc (revision 3bef86f7)
1#	$OpenBSD: Makefile.inc,v 1.89 2024/01/11 01:45:36 djm Exp $
2
3.include <bsd.own.mk>
4
5CFLAGS+=	-I${.CURDIR}/..
6.if ${MACHINE} != "hppa"
7CFLAGS+=	-fstack-protector-all
8.endif
9
10CDIAGFLAGS=	-Wall
11CDIAGFLAGS+=	-Wextra
12CDIAGFLAGS+=	-Wformat-security
13CDIAGFLAGS+=	-Wmissing-declarations
14CDIAGFLAGS+=	-Wmissing-prototypes
15CDIAGFLAGS+=	-Wpointer-arith
16CDIAGFLAGS+=	-Wshadow
17CDIAGFLAGS+=	-Wstrict-prototypes
18CDIAGFLAGS+=	-Wunused
19CDIAGFLAGS+=	-Wno-unused-parameter # Lots of these in protocol handlers.
20.if ${COMPILER_VERSION:L} == "clang"
21CDIAGFLAGS+=	-Widiomatic-parentheses -Wparentheses
22.endif
23.if ${COMPILER_VERSION:L} != "gcc3"
24CDIAGFLAGS+=	-Wstrict-aliasing=2
25CDIAGFLAGS+=	-Wold-style-definition
26.endif
27
28#CDIAGFLAGS+=	-Werror
29#CDIAGFLAGS+=	-fno-common
30#DEBUG=-g
31#INSTALL_STRIP=
32
33WARNINGS=yes
34
35OPENSSL?=	yes
36ZLIB?=		yes
37DSAKEY?=	yes
38
39.if (${OPENSSL:L} == "yes")
40CFLAGS+=	-DWITH_OPENSSL
41.endif
42
43.if (${ZLIB:L} == "yes")
44CFLAGS+=	-DWITH_ZLIB
45.endif
46
47.if (${DSAKEY:L} == "yes")
48CFLAGS+=	-DWITH_DSA
49.endif
50
51CFLAGS+=	-DENABLE_PKCS11
52.ifndef NOPIC
53CFLAGS+=	-DHAVE_DLOPEN
54.endif
55
56SRCS_BASE+=	sshbuf.c
57SRCS_BASE+=	sshbuf-getput-basic.c
58SRCS_BASE+=	sshbuf-misc.c
59SRCS_BASE+=	ssherr.c
60SRCS_BASE+=	log.c
61SRCS_BASE+=	xmalloc.c
62SRCS_BASE+=	misc.c
63SRCS_BASE+=	addr.c
64SRCS_BASE+=	addrmatch.c
65SRCS_BASE+=	match.c
66
67.if (${OPENSSL:L} == "yes")
68SRCS_KEX+=	dh.c
69SRCS_KEX+=	kexdh.c
70SRCS_KEX+=	kexecdh.c
71SRCS_KEX+=	kexgex.c
72SRCS_KEXC+=	kexgexc.c
73SRCS_KEXS+=	kexgexs.c
74.endif
75SRCS_KEX+=	kexc25519.c
76SRCS_KEX+=	smult_curve25519_ref.c
77SRCS_KEX+=	kexgen.c
78SRCS_KEX+=	kexsntrup761x25519.c
79SRCS_KEX+=	sntrup761.c
80
81SRCS_KEY+=	sshkey.c
82SRCS_KEY+=	cipher.c
83SRCS_KEY+=	chacha.c
84SRCS_KEY+=	poly1305.c
85.if (${OPENSSL:L} == "yes")
86SRCS_KEY+=	ssh-ecdsa.c
87SRCS_KEY+=	ssh-ecdsa-sk.c
88SRCS_KEY+=	ssh-rsa.c
89.if (${DSAKEY:L} == "yes")
90SRCS_KEY+=	ssh-dss.c
91.endif
92SRCS_KEY+=	sshbuf-getput-crypto.c
93SRCS_KEY+=	digest-openssl.c
94SRCS_KEY+=	cipher-chachapoly-libcrypto.c
95.else
96SRCS_KEY+=	cipher-aesctr.c
97SRCS_KEY+=	rijndael.c
98SRCS_KEY+=	digest-libc.c
99SRCS_KEY+=	cipher-chachapoly.c
100.endif
101SRCS_KEY+=	ssh-ed25519.c
102SRCS_KEY+=	ssh-ed25519-sk.c
103# ed25519, from supercop
104SRCS_KEY+=	ed25519.c
105SRCS_KEY+=	hash.c
106
107SRCS_KEYP+=	authfile.c
108SRCS_KEYP+=	sshbuf-io.c
109SRCS_KEYP+=	atomicio.c
110
111SRCS_KRL+=	bitmap.c
112SRCS_KRL+=	krl.c
113
114SRCS_PKT+=	canohost.c
115SRCS_PKT+=	dispatch.c
116SRCS_PKT+=	hmac.c
117SRCS_PKT+=	kex.c
118SRCS_PKT+=	mac.c
119SRCS_PKT+=	packet.c
120SRCS_PKT+=	umac.c
121SRCS_PKT+=	umac128.c
122
123SRCS_PROT+=	channels.c
124SRCS_PROT+=	monitor_fdpass.c
125SRCS_PROT+=	nchan.c
126SRCS_PROT+=	ttymodes.c
127
128.if (${OPENSSL:L} == "yes")
129SRCS_PKCS11+=		ssh-pkcs11.c
130SRCS_PKCS11_CLIENT+=	ssh-pkcs11-client.c
131SRCS_MODULI+=		moduli.c
132.else
133SRCS_PKCS11+=
134SRCS_PKCS11_CLIENT+=
135SRCS_MODULI+=
136.endif
137
138SRCS_SK=		ssh-sk.c
139SRCS_SK+=		sk-usbhid.c
140SRCS_SK_CLIENT=		ssh-sk-client.c
141SRCS_SK_CLIENT+=	msg.c
142
143WITH_XMSS?=	no
144.if (${WITH_XMSS:L} == "yes")
145CFLAGS+=	-DWITH_XMSS
146SRCS_KEY+=	ssh-xmss.c
147SRCS_KEY+=	sshkey-xmss.c
148SRCS_KEY+=	xmss_commons.c
149SRCS_KEY+=	xmss_fast.c
150SRCS_KEY+=	xmss_hash.c
151SRCS_KEY+=	xmss_hash_address.c
152SRCS_KEY+=	xmss_wots.c
153.endif
154
155.include <bsd.obj.mk>
156