xref: /openbsd/usr.bin/ssh/Makefile.inc (revision 905646f0)
1#	$OpenBSD: Makefile.inc,v 1.85 2020/10/16 13:24:45 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
37
38.if (${OPENSSL:L} == "yes")
39CFLAGS+=	-DWITH_OPENSSL
40.endif
41
42.if (${ZLIB:L} == "yes")
43CFLAGS+=	-DWITH_ZLIB
44.endif
45
46CFLAGS+=	-DENABLE_PKCS11
47.ifndef NOPIC
48CFLAGS+=	-DHAVE_DLOPEN
49.endif
50
51SRCS_BASE+=	sshbuf.c
52SRCS_BASE+=	sshbuf-getput-basic.c
53SRCS_BASE+=	sshbuf-misc.c
54SRCS_BASE+=	ssherr.c
55SRCS_BASE+=	log.c
56SRCS_BASE+=	xmalloc.c
57SRCS_BASE+=	misc.c
58SRCS_BASE+=	addrmatch.c
59SRCS_BASE+=	match.c
60
61.if (${OPENSSL:L} == "yes")
62SRCS_KEX+=	dh.c
63SRCS_KEX+=	kexdh.c
64SRCS_KEX+=	kexecdh.c
65SRCS_KEX+=	kexgex.c
66SRCS_KEXC+=	kexgexc.c
67SRCS_KEXS+=	kexgexs.c
68.endif
69SRCS_KEX+=	kexc25519.c
70SRCS_KEX+=	smult_curve25519_ref.c
71SRCS_KEX+=	kexgen.c
72SRCS_KEX+=	kexsntrup4591761x25519.c
73SRCS_KEX+=	sntrup4591761.c
74
75SRCS_KEY+=	sshkey.c
76SRCS_KEY+=	cipher.c
77SRCS_KEY+=	chacha.c
78SRCS_KEY+=	poly1305.c
79.if (${OPENSSL:L} == "yes")
80SRCS_KEY+=	ssh-dss.c
81SRCS_KEY+=	ssh-ecdsa.c
82SRCS_KEY+=	ssh-ecdsa-sk.c
83SRCS_KEY+=	ssh-rsa.c
84SRCS_KEY+=	sshbuf-getput-crypto.c
85SRCS_KEY+=	digest-openssl.c
86SRCS_KEY+=	cipher-chachapoly-libcrypto.c
87.else
88SRCS_KEY+=	cipher-aesctr.c
89SRCS_KEY+=	rijndael.c
90SRCS_KEY+=	digest-libc.c
91SRCS_KEY+=	cipher-chachapoly.c
92.endif
93SRCS_KEY+=	ssh-ed25519.c
94SRCS_KEY+=	ssh-ed25519-sk.c
95# ed25519, from supercop
96SRCS_KEY+=	sc25519.c
97SRCS_KEY+=	ge25519.c
98SRCS_KEY+=	fe25519.c
99SRCS_KEY+=	ed25519.c
100SRCS_KEY+=	verify.c
101SRCS_KEY+=	hash.c
102
103SRCS_KEYP+=	authfile.c
104SRCS_KEYP+=	sshbuf-io.c
105SRCS_KEYP+=	atomicio.c
106
107SRCS_KRL+=	bitmap.c
108SRCS_KRL+=	krl.c
109
110SRCS_PKT+=	canohost.c
111SRCS_PKT+=	dispatch.c
112SRCS_PKT+=	hmac.c
113SRCS_PKT+=	kex.c
114SRCS_PKT+=	mac.c
115SRCS_PKT+=	packet.c
116SRCS_PKT+=	umac.c
117SRCS_PKT+=	umac128.c
118
119SRCS_PROT+=	channels.c
120SRCS_PROT+=	monitor_fdpass.c
121SRCS_PROT+=	nchan.c
122SRCS_PROT+=	ttymodes.c
123
124.if (${OPENSSL:L} == "yes")
125SRCS_PKCS11+=		ssh-pkcs11.c
126SRCS_PKCS11_CLIENT+=	ssh-pkcs11-client.c
127SRCS_MODULI+=		moduli.c
128.else
129SRCS_PKCS11+=
130SRCS_PKCS11_CLIENT+=
131SRCS_MODULI+=
132.endif
133
134SRCS_SK=		ssh-sk.c
135SRCS_SK+=		sk-usbhid.c
136SRCS_SK_CLIENT=		ssh-sk-client.c
137SRCS_SK_CLIENT+=	msg.c
138
139WITH_XMSS?=	no
140.if (${WITH_XMSS:L} == "yes")
141CFLAGS+=	-DWITH_XMSS
142SRCS_KEY+=	ssh-xmss.c
143SRCS_KEY+=	sshkey-xmss.c
144SRCS_KEY+=	xmss_commons.c
145SRCS_KEY+=	xmss_fast.c
146SRCS_KEY+=	xmss_hash.c
147SRCS_KEY+=	xmss_hash_address.c
148SRCS_KEY+=	xmss_wots.c
149.endif
150
151.include <bsd.obj.mk>
152