Makefile revision 177574
12311Sjkh# $FreeBSD: head/usr.sbin/wpa/wpa_supplicant/Makefile 177574 2008-03-24 20:19:20Z sam $
22311Sjkh
32311Sjkh.include <bsd.own.mk>
42311Sjkh
52311SjkhWPA_SUPPLICANT_DISTDIR?= ${.CURDIR}/../../../contrib/wpa_supplicant
62311Sjkh.PATH: ${.CURDIR}/.. ${WPA_SUPPLICANT_DISTDIR}
72311Sjkh
82311SjkhPROG=	wpa_supplicant
92311SjkhSRCS=	config.c eloop.c common.c md5.c rc4.c sha1.c aes_wrap.c \
102311Sjkh	wpa_supplicant.c events.c wpa.c preauth.c pmksa_cache.c \
112311Sjkh	ctrl_iface.c ctrl_iface_unix.c l2_packet.c main.c drivers.c \
122311Sjkh	driver_ndis.c Packet32.c \
132311Sjkh	driver_wired.c \
142311Sjkh	driver_freebsd.c os_unix.c
152311Sjkh
162311SjkhMAN=	wpa_supplicant.8 wpa_supplicant.conf.5
172311Sjkh
182311Sjkh.if ${MK_EXAMPLES} != "no"
1929452ScharnierFILESDIR= ${SHAREDIR}/examples/wpa_supplicant
2050479SpeterFILES=	wpa_supplicant.conf
212311Sjkh.endif
222311Sjkh
232311SjkhCFLAGS+= -I${.CURDIR} -I${WPA_SUPPLICANT_DISTDIR}
242311SjkhCFLAGS+= -DCONFIG_DRIVER_BSD
252311SjkhCFLAGS+= -DCONFIG_DRIVER_NDIS
262311SjkhCFLAGS+= -DCONFIG_DRIVER_WIRED
27199804SattilioCFLAGS+= -DCONFIG_CTRL_IFACE
282311SjkhCFLAGS+= -DCONFIG_CTRL_IFACE_UNIX
292311SjkhCFLAGS+= -DCONFIG_TERMINATE_ONLASTIF
302311SjkhCFLAGS+= -DCONFIG_DEBUG_SYSLOG
312311SjkhCFLAGS+= -g
322311SjkhDPADD+=	${LIBPCAP}
332311SjkhLDADD+=	-lpcap
342311Sjkh
352311Sjkh# NB: we only support wpa_supplicant.conf file
36173412SkevloSRCS+=	config_file.c base64.c
37173412SkevloCFLAGS+=-DCONFIG_BACKEND_FILE
38242101Ssobomax
39242101Ssobomax# User customizations to the wpa_supplicant build environment
40242101SsobomaxCFLAGS+=${WPA_SUPPLICANT_CFLAGS}
41173412Skevlo#DPADD+=${WPA_SUPPLICANT_DPADD}
422311SjkhLDADD+=${WPA_SUPPLICANT_LDADD}
43173412Skevlo#LDFLAGS+=${WPA_SUPPLICANT_LDFLAGS}
442311Sjkh
45173412Skevlo.if ${MK_WPA_SUPPLICANT_EAPOL} != "no"
46173412SkevloSRCS+=	eapol_sm.c eap.c eap_methods.c
472311SjkhCFLAGS+= -DIEEE8021X_EAPOL
48242101Ssobomax
49242101Ssobomax.if ${MK_OPENSSL} != "no" && !defined(RELEASE_CRUNCH)
5074010SbabkinCFLAGS+=-DEAP_TLS -DEAP_PEAP -DEAP_MSCHAPv2 -DEAP_LEAP -DEAP_PSK \
5174010Sbabkin	-DEAP_TLV -DEAP_TLS_FUNCS -DEAP_TLS_OPENSSL
52149430SpjdSRCS+=	eap_tls.c eap_peap.c eap_mschapv2.c eap_leap.c \
532311Sjkh	eap_psk.c eap_psk_common.c \
542311Sjkh	eap_tlv.c eap_tls_common.c tls_openssl.c ms_funcs.c crypto.c
552311Sjkh
56241124SpluknetCFLAGS+=-DEAP_TTLS -DEAP_MD5
5716859SwoschSRCS+=	eap_ttls.c eap_md5.c
58241124Spluknet
5916859Swosch.if !empty(CFLAGS:M*-DEAP_GTC)
60129280SyarSRCS+=	eap_gtc.c
61180096Smarck.endif
62241124Spluknet
6316859Swosch.if !empty(CFLAGS:M*-DEAP_OTP)
6416859SwoschSRCS+=	eap_otp.c
6516859Swosch.endif
6616859Swosch
6716859Swosch.if !empty(CFLAGS:M*-DEAP_AKA)
6816859SwoschNEED_SIM_COMMON=	true
69241124SpluknetSRCS+=	eap_aka.c
7016859Swosch.endif
712311Sjkh
722311Sjkh.if !empty(CFLAGS:M*-DEAP_SIM)
732311SjkhNEED_SIM_COMMON=	true
74149430SpjdSRCS+=	eap_sim.c
75149430Spjd.endif
76149430Spjd
77149430Spjd.if defined(NEED_SIM_COMMON)
78149430SpjdSRCS+=	eap_sim_common.c
79149430Spjd
802311Sjkh# PC/SC interface for smartcards (USIM, GSM SIM)
81149430Spjd# GSM/UMTS authentication algorithm (for EAP-SIM/EAP-AKA)
82150214Spjd# NB: requires devel/pcsc-lite
83149430Spjd#
84149430Spjd# WPA_SUPPLICANT_CFLAGS=-DEAP_AKA -DPCSC_FUNCS -I/usr/local/include/PCSC
85149430Spjd# WPA_SUPPLICANT_LDADD=-L/usr/local/lib
86149430Spjd#
87149430Spjd.if !empty(CFLAGS:M*-DPCSC_FUNCS)
88149430SpjdSRCS+=	pcsc_funcs.c
89149430SpjdDPADD+=${LIBPTHREAD}
90149430SpjdLDADD+=-lpcsclite -lpthread
91149430Spjd.endif
92149430Spjd.endif
93149430Spjd
94149430Spjd.if !empty(CFLAGS:M*-DEAP_GPSK)
95149430SpjdCFLAGS+=-DEAP_GPSK_SHA256
96149430SpjdSRCS+=	eap_gpsk.c eap_gpsk_common.c
972311SjkhNEED_SHA256=	true
982311Sjkh.endif
992311Sjkh
1002311Sjkh.if !empty(CFLAGS:M*-DEAP_PAX)
1012311SjkhSRCS+=	eap_pax.c eap_pax_common.c
1022311Sjkh.endif
103242101Ssobomax
104242101Ssobomax.if !empty(CFLAGS:M*-DEAP_SAKE)
105242101SsobomaxSRCS+=	eap_sake.c eap_sake_common.c
10671407Sbabkin.endif
1072311Sjkh
1082311Sjkh# NB: requires patch to openssl
1092311Sjkh#CFLAGS+= -DEAP_FAST
1102311Sjkh#SRCS+=	eap_fast.c
1112311Sjkh
1122311SjkhNEED_LIBSSL=	true
1132311Sjkh.else
1142311SjkhCFLAGS+= -DEAP_TLS_NONE
1152311SjkhSRCS+=	tls_none.c
1162311Sjkh.endif
1172311Sjkh
1182311Sjkh.endif
1192311Sjkh
1202311Sjkh#
1212311Sjkh# Configure crypto/cipher support.
1222311Sjkh#
123149430Spjd# EAPOL support requires openssl in which case we use their
1242311Sjkh# cipher code.  Otherwise we use our internal versions.
1252311Sjkh#
1262311Sjkh.if !defined(NEED_LIBSSL)
1272311SjkhCFLAGS+= -DINTERNAL_AES
1282311SjkhCFLAGS+= -DINTERNAL_SHA1
1292311SjkhCFLAGS+= -DINTERNAL_MD5
1302311Sjkh.else
1312311SjkhDPADD+= ${LIBSSL} ${LIBCRYPTO}
1322311SjkhLDADD+= -lssl -lcrypto
1332311Sjkh.endif
1342311Sjkh
1352311Sjkh.if defined(NEED_SHA256)
1362311SjkhCFLAGS+=-DINTERNAL_SHA256
1372311SjkhSRCS+=	sha256.c
1382311Sjkh.endif
1392311Sjkh
14073955Speter.include <bsd.prog.mk>
141149430Spjd