xref: /freebsd/usr.sbin/wpa/hostapd/Makefile (revision 0aad5de37cf518ab1d6cc7bc5d813c41e64ce9b8)
1# $FreeBSD$
2
3.include <src.opts.mk>
4.include "../Makefile.inc"
5
6.PATH.c:${HOSTAPD_DISTDIR} \
7	${WPA_DISTDIR}/src/ap \
8	${WPA_DISTDIR}/src/eap_server \
9	${WPA_DISTDIR}/src/eap_peer \
10	${WPA_DISTDIR}/src/drivers \
11	${WPA_DISTDIR}/src/utils \
12	${WPA_DISTDIR}/wpa_supplicant
13
14PACKAGE=	hostapd
15PROG=	hostapd
16SRCS=	accounting.c \
17	ap_config.c \
18	ap_drv_ops.c \
19	ap_list.c \
20	ap_mlme.c \
21	authsrv.c \
22	base64.c \
23	beacon.c \
24	bss_load.c \
25	chap.c \
26	common.c \
27	config_file.c \
28	crc32.c \
29	ctrl_iface.c \
30	ctrl_iface_ap.c \
31	ctrl_iface_common.c \
32	dfs.c \
33	driver_bsd.c \
34	driver_common.c \
35	drivers.c \
36	drv_callbacks.c \
37	eloop.c \
38	gas.c \
39	gas_serv.c \
40	http_client.c \
41	http_server.c \
42	httpread.c \
43	hostapd.c \
44	hs20.c \
45	hw_features.c \
46	hw_features_common.c \
47	ieee802_11.c \
48	ieee802_11_auth.c \
49	ieee802_11_common.c \
50	ieee802_11_he.c \
51	ieee802_11_ht.c \
52	ieee802_11_shared.c \
53	ieee802_11_vht.c \
54	ieee802_1x.c \
55	ip_addr.c \
56	l2_packet_freebsd.c \
57	main.c \
58	mbo_ap.c \
59	ms_funcs.c \
60	neighbor_db.c \
61	os_unix.c \
62	pmksa_cache_auth.c \
63	preauth_auth.c \
64	radius.c \
65	radius_client.c \
66	radius_das.c \
67	rrm.c \
68	sta_info.c \
69	tkip_countermeasures.c \
70	upnp_xml.c \
71	utils.c \
72	uuid.c \
73	vlan.c \
74	vlan_ifconfig.c \
75	vlan_init.c \
76	wmm.c \
77	wpa_auth.c \
78	wpa_auth_glue.c \
79	wpa_auth_ie.c \
80	wpa_common.c \
81	wpa_ctrl.c \
82	wpa_debug.c \
83	wpabuf.c \
84	wps.c \
85	wps_attr_build.c \
86	wps_attr_process.c \
87	wps_attr_parse.c \
88	wps_common.c \
89	wps_dev_attr.c \
90	wps_enrollee.c \
91	wps_hostapd.c \
92	wps_registrar.c \
93	wps_upnp.c \
94	wps_upnp_ap.c \
95	wps_upnp_event.c \
96	wps_upnp_ssdp.c \
97	wps_upnp_web.c
98
99MAN=	hostapd.8 hostapd.conf.5
100
101.if ${MK_EXAMPLES} != "no"
102FILESDIR= ${SHAREDIR}/examples/hostapd
103.PATH:	${HOSTAPD_DISTDIR}
104FILES=	hostapd.conf hostapd.eap_user hostapd.wpa_psk
105.endif
106
107CFLAGS+=-I${.CURDIR:H}/wpa_supplicant \
108	-I${WPA_DISTDIR}/src/eap_peer \
109	-DCONFIG_DRIVER_BSD \
110	-DCONFIG_DRIVER_RADIUS_ACL \
111	-DCONFIG_HS20 \
112	-DCONFIG_MBO \
113	-DCONFIG_IEEE80211N \
114	-DCONFIG_IEEE80211W \
115	-DCONFIG_IEEE80211AC \
116	-DCONFIG_IEEE80211AX \
117	-DCONFIG_INTERWORKING \
118	-DCONFIG_PEERKEY \
119	-DCONFIG_RSN_PREAUTH \
120	-DCONFIG_WPS \
121	-DCONFIG_WPS2 \
122	-DCONFIG_WPS_UPNP \
123	-DHOSTAPD
124.if ${MK_INET6} != "no"
125CFLAGS+= -DCONFIG_IPV6
126.endif
127#CFLAGS+= -g
128LIBADD+=	pcap util
129
130# User customizations for wpa_supplicant/hostapd build environment
131CFLAGS+=${HOSTAPD_CFLAGS}
132#DPADD+=${HOSTAPD_DPADD}
133LDADD+=${HOSTAPD_LDADD}
134#LDFLAGS+=${HOSTAPD_LDFLAGS}
135
136CFLAGS+=-DDPKCS12_FUNCS \
137	-DEAP_SERVER \
138	-DEAP_SERVER_GTC \
139	-DEAP_SERVER_IDENTITY \
140	-DEAP_SERVER_MD5 \
141	-DEAP_SERVER_MSCHAPV2 \
142	-DEAP_SERVER_PEAP \
143	-DEAP_SERVER_TLS \
144	-DEAP_SERVER_TTLS \
145	-DEAP_SERVER_WSC \
146	-DEAP_TLS_FUNCS
147
148SRCS+=	eap_server_gtc.c \
149	eap_common.c \
150	eap_peap_common.c \
151	eap_register.c \
152	eap_server.c \
153	eap_server_identity.c \
154	eap_server_md5.c \
155	eap_server_methods.c \
156	eap_server_mschapv2.c \
157	eap_server_peap.c \
158	eap_server_tls.c \
159	eap_server_tls_common.c \
160	eap_server_ttls.c \
161	eap_server_wsc.c \
162	eap_user_db.c \
163	eap_wsc_common.c \
164	eapol_auth_dump.c \
165	eapol_auth_sm.c
166TLS_FUNCS=y
167
168# For WPS, EAP modes, etc
169NEED_DH_GROUPS=y
170NEED_DH_GROUPS_ALL=y
171
172.if !empty(CFLAGS:M*-DCONFIG_WPS)
173NEED_SIM_COMMON=y
174.endif
175
176.if !empty(CFLAGS:M*-DEAP_SERVER_AKA)
177SRCS+=	eap_server_aka.c
178NEED_SIM_COMMON=y
179.endif
180
181.if !empty(CFLAGS:M*-DEAP_SERVER_SIM)
182SRCS+=	eap_server_sim.c
183NEED_SIM_COMMON=y
184.endif
185
186.if defined(NEED_SIM_COMMON)
187SRCS+=	eap_sim_common.c \
188	eap_sim_db.c
189NEED_FIPS186_2_PRF=y
190.endif
191
192.if !empty(CFLAGS:M*-DEAP_SERVER_GPSK)
193CFLAGS+=-DEAP_GPSK_SHA256
194SRCS+=	eap_server_gpsk.c \
195	eap_gpsk_common.c
196NEED_AES_OMAC1=y
197.endif
198
199.if !empty(CFLAGS:M*-DEAP_SERVER_PAX)
200SRCS+=	eap_server_pax.c \
201	eap_pax_common.c
202.endif
203
204.if !empty(CFLAGS:M*-DEAP_SERVER_SAKE)
205SRCS+=	eap_server_sake.c \
206	eap_sake_common.c
207.endif
208
209.include "../Makefile.crypto"
210
211.include <bsd.prog.mk>
212