Makefile revision 172382
1# $FreeBSD: head/usr.sbin/wpa/wpa_supplicant/Makefile 172382 2007-09-28 15:52:28Z sam $
2
3.include <bsd.own.mk>
4
5WPA_SUPPLICANT_DISTDIR?= ${.CURDIR}/../../../contrib/wpa_supplicant
6.PATH: ${.CURDIR}/.. ${WPA_SUPPLICANT_DISTDIR}
7
8PROG=	wpa_supplicant
9SRCS=	config.c eloop.c common.c md5.c rc4.c sha1.c aes_wrap.c \
10	wpa_supplicant.c events.c wpa.c preauth.c pmksa_cache.c \
11	ctrl_iface.c ctrl_iface_unix.c l2_packet.c main.c drivers.c \
12	driver_ndis.c Packet32.c \
13	driver_freebsd.c os_unix.c
14
15
16MAN=	wpa_supplicant.8 wpa_supplicant.conf.5
17
18CFLAGS+= -I${.CURDIR} -I${WPA_SUPPLICANT_DISTDIR}
19CFLAGS+= -DCONFIG_DRIVER_BSD
20CFLAGS+= -DCONFIG_DRIVER_NDIS
21CFLAGS+= -DCONFIG_CTRL_IFACE
22CFLAGS+= -DCONFIG_CTRL_IFACE_UNIX
23CFLAGS+= -DCONFIG_TERMINATE_ONLASTIF
24CFLAGS+= -g
25DPADD+=	${LIBPCAP}
26LDADD+=	-lpcap
27
28# NB: we only support wpa_supplicant.conf file
29SRCS+=	config_file.c base64.c
30CFLAGS+=-DCONFIG_BACKEND_FILE
31
32# User customizations to the wpa_supplicant build environment
33CFLAGS+=${WPA_SUPPLICANT_CFLAGS}
34#DPADD+=${WPA_SUPPLICANT_DPADD}
35LDADD+=${WPA_SUPPLICANT_LDADD}
36#LDFLAGS+=${WPA_SUPPLICANT_LDFLAGS}
37
38.if ${MK_WPA_SUPPLICANT_EAPOL} != "no"
39SRCS+=	eapol_sm.c eap.c eap_methods.c
40CFLAGS+= -DIEEE8021X_EAPOL
41
42.if ${MK_OPENSSL} != "no" && !defined(RELEASE_CRUNCH)
43CFLAGS+=-DEAP_TLS -DEAP_PEAP -DEAP_MSCHAPv2 -DEAP_LEAP -DEAP_PSK \
44	-DEAP_TLV -DEAP_TLS_FUNCS -DEAP_TLS_OPENSSL
45SRCS+=	eap_tls.c eap_peap.c eap_mschapv2.c eap_leap.c \
46	eap_psk.c eap_psk_common.c \
47	eap_tlv.c eap_tls_common.c tls_openssl.c ms_funcs.c crypto.c
48
49CFLAGS+=-DEAP_TTLS -DEAP_MD5
50SRCS+=	eap_ttls.c eap_md5.c
51
52.if !empty(CFLAGS:M*-DEAP_GTC)
53SRCS+=	eap_gtc.c
54.endif
55
56.if !empty(CFLAGS:M*-DEAP_OTP)
57SRCS+=	eap_otp.c
58.endif
59
60.if !empty(CFLAGS:M*-DEAP_AKA)
61NEED_SIM_COMMON=	true
62SRCS+=	eap_aka.c
63.endif
64
65.if !empty(CFLAGS:M*-DEAP_SIM)
66NEED_SIM_COMMON=	true
67SRCS+=	eap_sim.c
68.endif
69
70.if defined(NEED_SIM_COMMON)
71SRCS+=	eap_sim_common.c
72
73# PC/SC interface for smartcards (USIM, GSM SIM)
74# GSM/UMTS authentication algorithm (for EAP-SIM/EAP-AKA)
75# NB: requires devel/pcsc-lite
76#
77# WPA_SUPPLICANT_CFLAGS=-DEAP_AKA -DPCSC_FUNCS -I/usr/local/include/PCSC
78# WPA_SUPPLICANT_LDADD=-L/usr/local/lib
79#
80.if !empty(CFLAGS:M*-DPCSC_FUNCS)
81SRCS+=	pcsc_funcs.c
82DPADD+=${LIBPTHREAD}
83LDADD+=-lpcsclite -lpthread
84.endif
85.endif
86
87.if !empty(CFLAGS:M*-DEAP_GPSK)
88CFLAGS+=-DEAP_GPSK_SHA256
89SRCS+=	eap_gpsk.c eap_gpsk_common.c
90NEED_SHA256=	true
91.endif
92
93.if !empty(CFLAGS:M*-DEAP_PAX)
94SRCS+=	eap_pax.c eap_pax_common.c
95.endif
96
97.if !empty(CFLAGS:M*-DEAP_SAKE)
98SRCS+=	eap_sake.c eap_sake_common.c
99.endif
100
101.if defined(NEED_SHA256)
102CFLAGS+=-DINTERNAL_SHA256
103SRCS+=	sha256.c
104.endif
105
106# NB: requires patch to openssl
107#CFLAGS+= -DEAP_FAST
108#SRCS+=	eap_fast.c
109
110DPADD+= ${LIBSSL} ${LIBCRYPTO}
111LDADD+= -lssl -lcrypto
112.else
113CFLAGS+= -DEAP_TLS_NONE
114CFLAGS+= -DINTERNAL_AES
115CFLAGS+= -DINTERNAL_SHA1
116CFLAGS+= -DINTERNAL_MD5
117SRCS+=	tls_none.c
118.endif
119
120.endif
121
122.include <bsd.prog.mk>
123