xref: /openbsd/usr.bin/ssh/Makefile.inc (revision 9e6efb0a)
1#	$OpenBSD: Makefile.inc,v 1.92 2024/05/22 15:24:55 naddy 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
26CDIAGFLAGS+=	-Werror
27.endif
28
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_MAC+=	mac.c
115SRCS_MAC+=	hmac.c
116SRCS_MAC+=	umac.c
117SRCS_MAC+=	umac128.c
118
119SRCS_PKT+=	canohost.c
120SRCS_PKT+=	dispatch.c
121SRCS_PKT+=	kex.c
122SRCS_PKT+=	kex-names.c
123SRCS_PKT+=	packet.c
124SRCS_PKT+=	${SRCS_MAC}
125
126SRCS_PROT+=	channels.c
127SRCS_PROT+=	monitor_fdpass.c
128SRCS_PROT+=	nchan.c
129SRCS_PROT+=	ttymodes.c
130
131.if (${OPENSSL:L} == "yes")
132SRCS_PKCS11+=		ssh-pkcs11.c
133SRCS_PKCS11_CLIENT+=	ssh-pkcs11-client.c
134SRCS_MODULI+=		moduli.c
135.else
136SRCS_PKCS11+=
137SRCS_PKCS11_CLIENT+=
138SRCS_MODULI+=
139.endif
140
141SRCS_SK=		ssh-sk.c
142SRCS_SK+=		sk-usbhid.c
143SRCS_SK_CLIENT=		ssh-sk-client.c
144SRCS_SK_CLIENT+=	msg.c
145
146WITH_XMSS?=	no
147.if (${WITH_XMSS:L} == "yes")
148CFLAGS+=	-DWITH_XMSS
149SRCS_KEY+=	ssh-xmss.c
150SRCS_KEY+=	sshkey-xmss.c
151SRCS_KEY+=	xmss_commons.c
152SRCS_KEY+=	xmss_fast.c
153SRCS_KEY+=	xmss_hash.c
154SRCS_KEY+=	xmss_hash_address.c
155SRCS_KEY+=	xmss_wots.c
156.endif
157
158.include <bsd.obj.mk>
159