xref: /netbsd-src/external/bsd/wpa/bin/wpa_supplicant/Makefile (revision 45d3cc13f775755ee348416d64536fb30df46e06)
1# $NetBSD: Makefile,v 1.12 2024/09/18 15:09:30 christos Exp $
2
3.include "${.CURDIR}/../Makefile.inc"
4
5PROG=	wpa_supplicant
6SRCS= \
7bss.c \
8bssid_ignore.c \
9config.c \
10config_file.c \
11ctrl_iface.c \
12ctrl_iface_unix.c \
13eap_register.c \
14events.c \
15main.c \
16notify.c \
17op_classes.c \
18rrm.c \
19robust_av.c \
20scan.c \
21wmm_ac.c \
22wpa_supplicant.c \
23wpas_glue.c
24
25# common
26SRCS+= \
27ctrl_iface_common.c \
28hw_features_common.c \
29ieee802_11_common.c \
30ptksa_cache.c \
31wpa_common.c \
32
33# crypto
34SRCS+= \
35random.c \
36sha1-prf.c \
37sha256.c \
38sha256-prf.c \
39
40# drivers
41SRCS+= \
42driver_bsd.c \
43driver_common.c \
44driver_wired_common.c \
45driver_wired.c \
46drivers.c \
47
48# eap_common
49SRCS+= \
50eap_common.c \
51
52# eap_peer
53SRCS+= \
54eap_methods.c \
55
56# eapol_supp
57SRCS+= \
58eapol_supp_sm.c \
59
60# l2_packet
61SRCS+= \
62l2_packet_freebsd.c \
63
64# rsn_supp
65SRCS+= \
66pmksa_cache.c \
67preauth.c \
68wpa.c \
69wpa_ie.c \
70
71
72# util
73SRCS+= \
74base64.c \
75bitfield.c \
76common.c \
77config_line.c \
78eloop.c \
79os_unix.c \
80wpa_debug.c \
81wpabuf.c \
82
83MAN=	wpa_supplicant.8 wpa_supplicant.conf.5
84
85CLEANFILES+= config_line.c
86
87config_line.c: ${WPA_DISTDIR}/src/utils/config.c
88	${MKTARGET_CREATE}
89	cp ${.ALLSRC} ${.TARGET}
90
91.PATH.c:  \
92	${WPA_SUPPLICANT_DISTDIR} \
93	${WPA_DISTDIR}/src/drivers \
94	${WPA_DISTDIR}/src/eap_peer \
95	${WPA_DISTDIR}/src/rsn_supp \
96	${COMMON_PATH} \
97
98CPPFLAGS+= \
99	-I${WPA_SUPPLICANT_DISTDIR} \
100	-I${WPA_DISTDIR}/src/drivers \
101	-I${WPA_DISTDIR}/src/rsn_supp
102
103CPPFLAGS+=-DCONFIG_BACKEND_FILE
104CPPFLAGS+=-DCONFIG_PEERKEY
105CPPFLAGS+=-DCONFIG_MATCH_IFACE
106CPPFLAGS+=-DCONFIG_DRIVER_BSD
107CPPFLAGS+=-DCONFIG_DRIVER_WIRED
108CPPFLAGS+=-DCONFIG_CTRL_IFACE
109CPPFLAGS+=-DCONFIG_CTRL_IFACE_UNIX
110CPPFLAGS+=-DCONFIG_SMARTCARD
111CPPFLAGS+=-DCONFIG_DEBUG_FILE
112CPPFLAGS+=-DCONFIG_DEBUG_SYSLOG
113
114#CPPFLAGS+=-DCONFIG_FST
115#SRCS+=fst.c \
116#fst_ctrl_aux.c \
117#fst_ctrl_iface.c \
118#fst_group.c \
119#fst_iface.c \
120#fst_session.c
121
122#CPPFLAGS+=-DCONFIG_ACS
123#CPPFLAGS+=-DCONFIG_MBO
124#CPPFLAGS+=-DCONFIG_WNM
125#CPPFLAGS+=-DCONFIG_AP
126#SRCS+=ap.c \
127#gas.c \
128#mbo.c
129
130DPADD+=	${LIBPCAP}
131LDADD+=	-lpcap
132
133.if !defined(NO_ENABLE_WPA_SUPPLICANT_EAPOL)
134SRCS+=	eap.c
135CPPFLAGS+= -DIEEE8021X_EAPOL -DPKCS12_FUNCS
136
137.if !defined(NO_CRYPT) && !defined(NO_OPENSSL) && !defined(RELEASE_CRUNCH)
138CPPFLAGS+=-DEAP_TLS
139CPPFLAGS+=-DEAP_PEAP
140CPPFLAGS+=-DEAP_TTLS
141CPPFLAGS+=-DEAP_MD5
142CPPFLAGS+=-DEAP_MSCHAPv2
143CPPFLAGS+=-DEAP_GTC
144CPPFLAGS+=-DEAP_OTP
145CPPFLAGS+=-DEAP_LEAP
146CPPFLAGS+=-DEAP_PSK
147CPPFLAGS+=-DEAP_TLS_OPENSSL
148SRCS+= \
149chap.c \
150crypto_openssl.c \
151eap_gtc.c \
152eap_leap.c \
153eap_md5.c \
154eap_mschapv2.c \
155eap_otp.c \
156eap_peap.c \
157eap_peap_common.c \
158eap_psk.c \
159eap_psk_common.c \
160eap_tls.c \
161eap_tls_common.c \
162eap_ttls.c \
163ms_funcs.c \
164mschapv2.c \
165sha1-tlsprf.c \
166tls_openssl.c
167
168SRCS+=aes-ctr.c \
169aes-eax.c \
170aes-encblock.c \
171
172NOSRCS+= \
173aes-omac1.c \
174
175# NB: requires patch to openssl
176#CPPFLAGS+= -DEAP_FAST
177#SRCS+=	eap_fast.c
178
179DPADD+= ${LIBSSL} ${LIBCRYPTO} ${LIBDES}
180LDADD+= -lssl -lcrypto -ldes
181.else
182CPPFLAGS+= -DINTERNAL_AES -DINTERNAL_MD5 -DINTERNAL_SHA1 -DCONFIG_NO_PBKDF2
183SRCS+= tls_none.c sha1-internal.c md5-internal.c aes-xinternal.c rc4.c
184CPPFLAGS+= -DCONFIG_CRYPTO_INTERNAL
185#SRCS+= aes-unwrap.c md5.c
186SRCS+= sha1-pbkdf2.c sha1.c md5.c
187.endif
188
189.endif
190
191COPTS.crypto_openssl.c+= -Wno-error=deprecated-declarations
192COPTS.tls_openssl.c+= -Wno-error=deprecated-declarations
193
194.include <bsd.prog.mk>
195