jcs's openbsd hax
openbsd
1# $OpenBSD: Makefile.inc,v 1.105 2026/02/06 23:31:29 dtucker Exp $
2
3.include <bsd.own.mk>
4
5CFLAGS+= -I${.CURDIR}/..
6.if ${MACHINE} != "hppa"
7CFLAGS+= -fstack-protector-all
8.endif
9.if ${MACHINE} == "amd64"
10CFLAGS+= -fret-clean
11.endif
12
13CDIAGFLAGS= -Wall
14CDIAGFLAGS+= -Wextra
15CDIAGFLAGS+= -Wformat-security
16CDIAGFLAGS+= -Wmissing-declarations
17CDIAGFLAGS+= -Wmissing-prototypes
18CDIAGFLAGS+= -Wold-style-definition
19CDIAGFLAGS+= -Wpointer-arith
20CDIAGFLAGS+= -Wshadow
21CDIAGFLAGS+= -Wstrict-aliasing=2
22CDIAGFLAGS+= -Wstrict-prototypes
23CDIAGFLAGS+= -Wunused
24CDIAGFLAGS+= -Wno-unused-parameter # Lots of these in protocol handlers.
25.if ${COMPILER_VERSION:L} == "clang"
26CDIAGFLAGS+= -Widiomatic-parentheses -Wparentheses
27.endif
28CDIAGFLAGS+= -Werror
29
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+= addr.c
59SRCS_BASE+= addrmatch.c
60SRCS_BASE+= match.c
61
62.if (${OPENSSL:L} == "yes")
63SRCS_KEX+= dh.c
64SRCS_KEX+= kexdh.c
65SRCS_KEX+= kexecdh.c
66SRCS_KEX+= kexgex.c
67SRCS_KEXC+= kexgexc.c
68SRCS_KEXS+= kexgexs.c
69.endif
70SRCS_KEX+= kexc25519.c
71SRCS_KEX+= smult_curve25519_ref.c
72SRCS_KEX+= kexgen.c
73SRCS_KEX+= kexsntrup761x25519.c
74SRCS_KEX+= sntrup761.c
75SRCS_KEX+= kexmlkem768x25519.c
76
77SRCS_KEY+= sshkey.c
78SRCS_KEY+= cipher.c
79SRCS_KEY+= chacha.c
80SRCS_KEY+= poly1305.c
81.if (${OPENSSL:L} == "yes")
82SRCS_KEY+= ssh-ecdsa.c
83SRCS_KEY+= ssh-ecdsa-sk.c
84SRCS_KEY+= ssh-rsa.c
85SRCS_KEY+= sshbuf-getput-crypto.c
86SRCS_KEY+= digest-openssl.c
87SRCS_KEY+= cipher-chachapoly-libcrypto.c
88.else
89SRCS_KEY+= cipher-aesctr.c
90SRCS_KEY+= rijndael.c
91SRCS_KEY+= digest-libc.c
92SRCS_KEY+= cipher-chachapoly.c
93.endif
94SRCS_KEY+= ssh-ed25519.c
95SRCS_KEY+= ssh-ed25519-sk.c
96SRCS_KEY+= ssherr-libcrypto.c
97
98.if (${OPENSSL:L} == "yes")
99SRCS_KEY+= ed25519-openssl.c
100.else
101# ed25519, from supercop
102SRCS_KEY+= ed25519.c
103.endif
104
105SRCS_KEYP+= authfile.c
106SRCS_KEYP+= sshbuf-io.c
107SRCS_KEYP+= atomicio.c
108
109SRCS_KRL+= bitmap.c
110SRCS_KRL+= krl.c
111
112SRCS_MAC+= mac.c
113SRCS_MAC+= hmac.c
114SRCS_MAC+= umac.c
115SRCS_MAC+= umac128.c
116
117SRCS_PKT+= canohost.c
118SRCS_PKT+= dispatch.c
119SRCS_PKT+= kex.c
120SRCS_PKT+= kex-names.c
121SRCS_PKT+= packet.c
122SRCS_PKT+= ${SRCS_MAC}
123
124SRCS_PROT+= channels.c
125SRCS_PROT+= monitor_fdpass.c
126SRCS_PROT+= nchan.c
127SRCS_PROT+= ttymodes.c
128
129SRCS_PKCS11+= ssh-pkcs11.c
130SRCS_PKCS11_CLIENT+= ssh-pkcs11-client.c
131
132.if (${OPENSSL:L} == "yes")
133SRCS_MODULI+= moduli.c
134.else
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
143.include <bsd.obj.mk>