1# $FreeBSD: head/usr.sbin/wpa/wpa_supplicant/Makefile 265420 2014-05-06 04:22:01Z imp $
2
3.include "${.CURDIR}/../Makefile.inc"
4
5.PATH.c:${WPA_DISTDIR}/wpa_supplicant \
6	${WPA_DISTDIR}/src/ap \
7	${WPA_DISTDIR}/src/drivers \
8	${WPA_DISTDIR}/src/eap_peer \
9	${WPA_DISTDIR}/src/eap_server \
10	${WPA_DISTDIR}/src/eapol_auth \
11	${WPA_DISTDIR}/src/rsn_supp
12
13PROG=	wpa_supplicant
14
15SRCS=	ap_config.c ap_drv_ops.c ap_mlme.c base64.c beacon.c bitfield.c \
16	blacklist.c bss.c common.c config.c config_file.c ctrl_iface.c \
17	ctrl_iface_common.c ctrl_iface_unix.c dh_groups.c driver_bsd.c driver_common.c \
18	driver_wired.c driver_wired_common.c drivers.c eloop.c events.c gas.c \
19	gas_query.c gas_serv.c hs20.c hs20_supplicant.c http_client.c http_server.c \
20	httpread.c hw_features_common.c ieee802_11_auth.c ieee802_11_common.c \
21	ieee802_11_shared.c ieee802_1x.c interworking.c l2_packet_freebsd.c main.c \
22	neighbor_db.c notify.c offchannel.c op_classes.c os_unix.c pmksa_cache.c \
23	pmksa_cache_auth.c preauth.c rrm.c scan.c sta_info.c upnp_xml.c utils.c uuid.c \
24	wmm_ac.c wpa.c wpa_auth.c wpa_auth_ie.c wpa_common.c wpa_debug.c wpa_ft.c \
25	wpa_ie.c wpa_supplicant.c wpabuf.c wpas_glue.c wps.c wps_attr_build.c \
26	wps_attr_parse.c wps_attr_process.c wps_common.c wps_dev_attr.c wps_enrollee.c \
27	wps_hostapd.c wps_registrar.c wps_supplicant.c wps_upnp.c wps_upnp_ap.c \
28	wps_upnp_event.c wps_upnp_ssdp.c wps_upnp_web.c
29
30MAN=	wpa_supplicant.8 wpa_supplicant.conf.5
31
32WARNS=	0
33
34CFLAGS+=-DCONFIG_BACKEND_FILE \
35	-DCONFIG_CTRL_IFACE \
36	-DCONFIG_CTRL_IFACE_UNIX \
37	-DCONFIG_DEBUG_FILE \
38	-DCONFIG_DEBUG_SYSLOG \
39	-DCONFIG_DELAYED_MIC_ERROR_REPORT \
40	-DCONFIG_DES \
41	-DCONFIG_DRIVER_BSD \
42	-DCONFIG_DRIVER_WIRED \
43	-DCONFIG_GAS \
44	-DCONFIG_HS20 \
45	-DCONFIG_IEEE80211R \
46	-DCONFIG_INTERWORKING \
47	-DCONFIG_MATCH_IFACE \
48	-DCONFIG_NO_ACCOUNTING \
49	-DCONFIG_NO_RADIUS \
50	-DCONFIG_NO_VLAN \
51	-DCONFIG_OFFCHANNEL \
52	-DCONFIG_PEERKEY \
53	-DCONFIG_SHA256 \
54	-DCONFIG_SMARTCARD \
55	-DCONFIG_WPS \
56	-DCONFIG_WPS_UPNP \
57	-DCONFIG_WPS2 \
58	-DTLS_DEFAULT_CIPHERS=\""DEFAULT:!EXP:!LOW"\" \
59	-DPKCS12_FUNCS
60#CFLAGS+= -g
61DPADD+=	${LIBPCAP}
62LDADD+=	-lpcap
63
64# User customizations to the wpa_supplicant build environment
65CFLAGS+=${WPA_SUPPLICANT_CFLAGS}
66#DPADD+=${WPA_SUPPLICANT_DPADD}
67LDADD+=${WPA_SUPPLICANT_LDADD}
68#LDFLAGS+=${WPA_SUPPLICANT_LDFLAGS}
69
70#.if ${MK_WPA_SUPPLICANT_EAPOL} != "no"
71CFLAGS+=-DEAP_GTC \
72	-DEAP_LEAP \
73	-DEAP_MSCHAPv2 \
74	-DEAP_OTP \
75	-DEAP_PEAP \
76	-DEAP_PSK \
77	-DEAP_TLS \
78	-DEAP_TLS_OPENSSL \
79	-DEAP_TTLS \
80	-DEAP_WSC \
81	-DIEEE8021X_EAPOL
82SRCS+= eap.c \
83	eap_common.c \
84	eap_gtc.c \
85	eap_leap.c \
86	eap_methods.c \
87	eap_mschapv2.c \
88	eap_otp.c \
89	eap_peap.c \
90	eap_peap_common.c \
91	eap_psk.c \
92	eap_psk_common.c \
93	eap_register.c \
94	eap_server.c \
95	eap_server_methods.c \
96	eap_tls.c \
97	eap_tls_common.c \
98	eap_ttls.c \
99	eap_user_db.c \
100	eap_wsc.c \
101	eap_wsc_common.c \
102	eapol_auth_sm.c \
103	eapol_supp_sm.c \
104	chap.c \
105	ms_funcs.c \
106	mschapv2.c
107TLS_FUNCS=y
108NEED_AES_EAX=y
109NEED_AES_ENCBLOCK=y
110NEED_AES_OMAC1=y
111#.endif
112
113.if !empty(CFLAGS:M*-DEAP_AKA)
114SRCS+=	eap_aka.c
115NEED_SIM_COMMON=y
116NEED_AES_CBC=y
117.endif
118
119.if !empty(CFLAGS:M*-DEAP_SIM)
120SRCS+=	eap_sim.c
121NEED_SIM_COMMON=y
122NEED_AES_CBC=y
123.endif
124
125.if defined(NEED_SIM_COMMON)
126SRCS+=	eap_sim_common.c
127NEED_FIPS186_2_PRF=y
128.endif
129
130# PC/SC interface for smartcards (USIM, GSM SIM)
131# GSM/UMTS authentication algorithm (for EAP-SIM/EAP-AKA)
132# NB: requires devel/pcsc-lite
133#
134# WPA_SUPPLICANT_CFLAGS=-DEAP_AKA -DPCSC_FUNCS -I/usr/local/include/PCSC
135# WPA_SUPPLICANT_LDADD=-L/usr/local/lib
136#
137.if !empty(CFLAGS:M*-DPCSC_FUNCS)
138SRCS+=	pcsc_funcs.c
139DPADD+=${LIBPTHREAD}
140LDADD+=-lpcsclite -lpthread
141.endif
142
143.if !empty(CFLAGS:M*-DEAP_GPSK)
144CFLAGS+=-DEAP_GPSK_SHA256
145SRCS+=	eap_gpsk.c \
146	eap_gpsk_common.c
147NEED_AES_OMAC1=y
148.endif
149
150.if !empty(CFLAGS:M*-DEAP_PAX)
151SRCS+=	eap_pax.c \
152	eap_pax_common.c
153.endif
154
155.if !empty(CFLAGS:M*-DEAP_SAKE)
156SRCS+=	eap_sake.c \
157	eap_sake_common.c
158.endif
159
160.include "${.CURDIR}/../Makefile.crypto"
161
162.include <bsd.prog.mk>
163