xref: /netbsd-src/external/bsd/wpa/bin/hostapd/Makefile (revision 62d30311f41d6bc18207c6943e8774ef04cdcf0a)
1# $NetBSD: Makefile,v 1.19 2024/10/10 15:01:08 martin Exp $
2
3.include "${.CURDIR}/../Makefile.inc"
4
5
6PROG=	hostapd
7CPPFLAGS+= -Diphdr=ip
8
9# ap
10SRCS+= \
11accounting.c \
12ap_config.c \
13ap_drv_ops.c \
14ap_mlme.c \
15authsrv.c \
16beacon.c \
17bss_load.c \
18ctrl_iface_ap.c \
19dpp.c \
20dpp_hostapd.c \
21drv_callbacks.c \
22eap_user_db.c \
23gas.c \
24gas_query_ap.c \
25gas_serv.c \
26hostapd.c \
27ieee802_11_auth.c \
28ieee802_11_ht.c \
29ieee802_11_shared.c \
30ieee802_1x.c \
31mbo_ap.c \
32neighbor_db.c \
33pmksa_cache_auth.c \
34preauth_auth.c \
35rrm.c \
36sta_info.c \
37tkip_countermeasures.c \
38utils.c \
39vlan_ifconfig.c \
40vlan_init.c \
41vlan.c \
42wpa_auth.c \
43wpa_auth_glue.c \
44wpa_auth_ie.c
45
46# common
47SRCS+= \
48ctrl_iface_common.c \
49dpp_auth.c \
50dpp_backup.c \
51dpp_crypto.c \
52dpp_pkex.c \
53dpp_reconfig.c \
54dpp_tcp.c \
55hw_features_common.c \
56ieee802_11_common.c \
57ptksa_cache.c \
58wpa_common.c \
59wpa_ctrl.c
60
61# drivers
62SRCS+= \
63driver_bsd.c \
64driver_none.c \
65driver_wired.c \
66driver_wired_common.c \
67driver_common.c \
68drivers.c
69
70# radius
71SRCS+= \
72radius.c \
73radius_das.c \
74radius_client.c \
75radius_server.c
76
77# utils
78SRCS+= \
79base64.c \
80common.c \
81crc32.c \
82eloop.c \
83json.c \
84ip_addr.c \
85os_unix.c \
86wpa_debug.c \
87wpabuf.c
88
89# main
90SRCS+= \
91main.c \
92config_file.c \
93ctrl_iface.c \
94eap_register.c
95
96# l2_packet
97SRCS+= \
98l2_packet_freebsd.c
99
100# eapol_auth
101SRCS+= \
102eapol_auth_dump.c \
103eapol_auth_sm.c
104
105# eap_server
106SRCS+= \
107eap_common.c \
108eap_server.c \
109eap_server_methods.c
110
111# crypto
112SRCS+= \
113aes-siv.c \
114random.c \
115sha1-prf.c \
116sha256-kdf.c \
117sha256-prf.c \
118sha384-kdf.c \
119sha384-prf.c \
120sha512-kdf.c \
121sha512-prf.c \
122
123# tls
124SRCS+= \
125asn1.c
126
127# crypto for non-openssl
128NO_SRCS+= \
129aes-cbc.c \
130aes-omac1.c \
131aes-wrap.c \
132md5.c
133
134
135.PATH.c: \
136	${HOSTAPD_DISTDIR} \
137	${WPA_DISTDIR}/src/eap_server \
138	${WPA_DISTDIR}/src/eapol_auth \
139	${WPA_DISTDIR}/src/drivers \
140	${WPA_DISTDIR}/src/radius \
141	${WPA_DISTDIR}/src/tls \
142	${COMMON_PATH}
143
144MAN=	hostapd.8 hostapd.conf.5
145
146CPPFLAGS+= -I${.CURDIR} -I${HOSTAPD_DISTDIR}
147CPPFLAGS+= -DHOSTAPD
148CPPFLAGS+= -DHOSTAPD_DUMP_STATE
149CPPFLAGS+= -DALL_DH_GROUPS
150CPPFLAGS+= -DRADIUS_SERVER
151CPPFLAGS+= -DCONFIG_CTRL_IFACE
152CPPFLAGS+= -DCONFIG_CTRL_IFACE_UNIX
153CPPFLAGS+= -DCONFIG_DEBUG_SYSLOG
154CPPFLAGS+= -DCONFIG_DRIVER_BSD
155CPPFLAGS+= -DCONFIG_DRIVER_NONE
156CPPFLAGS+= -DCONFIG_DRIVER_WIRED
157CPPFLAGS+= -DCONFIG_DRIVER_WPA
158
159.if ${MKINET6} != "no"
160CPPFLAGS+= -DCONFIG_IPV6
161.endif
162CPPFLAGS+= -DCONFIG_PEERKEY
163CPPFLAGS+= -DCONFIG_RSN_PREAUTH
164CPPFLAGS+= -DCONFIG_DPP
165CPPFLAGS+= -DCONFIG_DPP2
166CPPFLAGS+= -DCONFIG_ECC
167#CPPFLAGS+= -DCONFIG_OWE
168#CPPFLAGS+= -DCONFIG_SAE
169#CPPFLAGS+= -DCONFIG_AIRTIME_POLICY
170#CPPFLAGS+= -DCONFIG_FILS
171#CPPFLAGS+= -DCONFIG_OCV
172#CPPFLAGS+= -DCONFIG_IEEE80211AX
173#CPPFLAGS+= -DCONFIG_IEEE80211R_AP
174CPPFLAGS+= -DCONFIG_MBO
175#CPPFLAGS+= -DCONFIG_NO_VLAN
176#CPPFLAGS+= -DCONFIG_SQLITE
177#CPPFLAGS+= -DCONFIG_SHA256 -DCONFIG_SHA484 -DCONFIG_SHA512
178
179DPADD+= ${LIBPCAP}
180LDADD+= -lpcap
181
182.if !defined(NO_CRYPT) && !defined(NO_OPENSSL) && !defined(RELEASE_CRUNCH)
183CPPFLAGS+= -DEAP_SERVER
184CPPFLAGS+= -DEAP_SERVER_AKA
185CPPFLAGS+= -DEAP_SERVER_AKA_PRIME
186CPPFLAGS+= -DEAP_SERVER_GPSK
187CPPFLAGS+= -DEAP_SERVER_GPSK_SHA256
188CPPFLAGS+= -DEAP_SERVER_GTC
189CPPFLAGS+= -DEAP_SERVER_IDENTITY
190CPPFLAGS+= -DEAP_SERVER_IKEV2
191CPPFLAGS+= -DEAP_SERVER_MD5
192CPPFLAGS+= -DEAP_SERVER_MSCHAPV2
193CPPFLAGS+= -DEAP_SERVER_PAX
194CPPFLAGS+= -DEAP_SERVER_PEAP
195CPPFLAGS+= -DEAP_SERVER_PSK
196CPPFLAGS+= -DEAP_SERVER_SAKE
197CPPFLAGS+= -DEAP_SERVER_SIM
198CPPFLAGS+= -DEAP_SERVER_TLS
199CPPFLAGS+= -DEAP_SERVER_TNC
200CPPFLAGS+= -DEAP_SERVER_TTLS
201CPPFLAGS+= -DEAP_TLS_FUNCS
202CPPFLAGS+= -DPKCS12_FUNCS
203
204# crypto
205SRCS+= \
206aes-ctr.c \
207aes-eax.c \
208aes-encblock.c \
209crypto_openssl.c \
210dh_groups.c \
211fips_prf_openssl.c \
212ms_funcs.c \
213sha1-tlsprf.c \
214sha256.c \
215sha384.c \
216sha512.c \
217tls_openssl.c
218
219# eap_common
220SRCS+= \
221chap.c \
222eap_gpsk_common.c \
223eap_ikev2_common.c \
224eap_pax_common.c \
225eap_peap_common.c \
226eap_psk_common.c \
227eap_sake_common.c \
228eap_sim_common.c \
229ikev2_common.c
230
231# eap_server
232SRCS+= \
233eap_server_aka.c \
234eap_server_gpsk.c \
235eap_server_gtc.c \
236eap_server_identity.c \
237eap_server_ikev2.c \
238eap_server_md5.c \
239eap_server_mschapv2.c \
240eap_server_pax.c \
241eap_server_peap.c \
242eap_server_psk.c \
243eap_server_sake.c \
244eap_server_sim.c \
245eap_server_tls.c \
246eap_server_tls_common.c \
247eap_server_tnc.c \
248eap_server_ttls.c \
249eap_sim_db.c \
250ikev2.c \
251tncs.c
252
253
254DPADD+= ${LIBSSL} ${LIBCRYPTO} ${LIBDES}
255LDADD+= -lssl -lcrypto -ldes
256.else
257CPPFLAGS+= -DINTERNAL_AES -DINTERNAL_MD5 -DINTERNAL_SHA1 -DCONFIG_NO_PBKDF2
258CPPFLAGS+= -DCONFIG_CRYPTO_INTERNAL
259SRCS+=  tls_none.c sha1-internal.c md5-internal.c aes-xinternal.c rc4.c
260SRCS+= sha1-pbkdf2.c sha1.c md5.c
261.endif
262
263CWARNFLAGS.gcc+=	${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
264COPTS.dpp.c+= -Wno-error=deprecated-declarations
265COPTS.crypto_openssl.c+= -Wno-error=deprecated-declarations
266COPTS.fips_prf_openssl.c+= -Wno-error=deprecated-declarations
267COPTS.tls_openssl.c+= -Wno-error=deprecated-declarations
268
269.include <bsd.prog.mk>
270