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