]>
Commit | Line | Data |
---|---|---|
6fc6879b JM |
1 | ifndef CC |
2 | CC=gcc | |
3 | endif | |
4 | ||
5 | ifndef CFLAGS | |
6 | CFLAGS = -MMD -O2 -Wall -g | |
7 | endif | |
8 | ||
d94d4baf DM |
9 | export LIBDIR ?= /usr/local/lib/ |
10 | export BINDIR ?= /usr/local/sbin/ | |
11 | ||
6fc6879b | 12 | CFLAGS += -I../src |
6fc6879b | 13 | CFLAGS += -I../src/utils |
6fc6879b JM |
14 | |
15 | ALL=wpa_supplicant wpa_passphrase wpa_cli | |
16 | ||
17 | all: verify_config $(ALL) dynamic_eap_methods | |
18 | ||
19 | verify_config: | |
20 | @if [ ! -r .config ]; then \ | |
21 | echo 'Building wpa_supplicant requires a configuration file'; \ | |
22 | echo '(.config). See README for more instructions. You can'; \ | |
23 | echo 'run "cp defconfig .config" to create an example'; \ | |
24 | echo 'configuration.'; \ | |
25 | exit 1; \ | |
26 | fi | |
27 | ||
28 | mkconfig: | |
5008cb5e | 29 | @if [ -f .config ]; then \ |
6fc6879b JM |
30 | echo '.config exists - did not replace it'; \ |
31 | exit 1; \ | |
32 | fi | |
33 | echo CONFIG_DRIVER_HOSTAP=y >> .config | |
34 | echo CONFIG_DRIVER_WEXT=y >> .config | |
6fc6879b JM |
35 | |
36 | install: all | |
d94d4baf DM |
37 | mkdir -p $(DESTDIR)$(BINDIR) |
38 | for i in $(ALL); do cp $$i $(DESTDIR)$(BINDIR)/$$i; done | |
39 | $(MAKE) -C ../src install | |
6fc6879b JM |
40 | |
41 | OBJS = config.o | |
8bac466b | 42 | OBJS += notify.o |
34359a3f | 43 | OBJS += bss.o |
12760815 | 44 | OBJS += eap_register.o |
6fc6879b JM |
45 | OBJS += ../src/utils/common.o |
46 | OBJS += ../src/utils/wpa_debug.o | |
47 | OBJS += ../src/utils/wpabuf.o | |
6fc6879b JM |
48 | OBJS_p = wpa_passphrase.o |
49 | OBJS_p += ../src/utils/common.o | |
50 | OBJS_p += ../src/utils/wpa_debug.o | |
f042122a | 51 | OBJS_p += ../src/utils/wpabuf.o |
6fc6879b | 52 | OBJS_c = wpa_cli.o ../src/common/wpa_ctrl.o |
aee680e8 | 53 | OBJS_c += ../src/utils/wpa_debug.o |
6fc6879b JM |
54 | |
55 | -include .config | |
56 | ||
57 | ifndef CONFIG_OS | |
58 | ifdef CONFIG_NATIVE_WINDOWS | |
59 | CONFIG_OS=win32 | |
60 | else | |
61 | CONFIG_OS=unix | |
62 | endif | |
63 | endif | |
64 | ||
65 | ifeq ($(CONFIG_OS), internal) | |
66 | CFLAGS += -DOS_NO_C_LIB_DEFINES | |
67 | endif | |
68 | ||
69 | OBJS += ../src/utils/os_$(CONFIG_OS).o | |
70 | OBJS_p += ../src/utils/os_$(CONFIG_OS).o | |
71 | OBJS_c += ../src/utils/os_$(CONFIG_OS).o | |
72 | ||
930f704a JM |
73 | ifdef CONFIG_WPA_TRACE |
74 | CFLAGS += -DWPA_TRACE | |
75 | OBJS += ../src/utils/trace.o | |
fb4baa68 JM |
76 | OBJS_p += ../src/utils/trace.o |
77 | OBJS_c += ../src/utils/trace.o | |
f2f7d965 JM |
78 | LDFLAGS += -rdynamic |
79 | CFLAGS += -funwind-tables | |
80 | ifdef CONFIG_WPA_TRACE_BFD | |
81 | CFLAGS += -DWPA_TRACE_BFD | |
82 | LIBS += -lbfd | |
83 | LIBS_p += -lbfd | |
84 | LIBS_c += -lbfd | |
85 | endif | |
930f704a JM |
86 | endif |
87 | ||
6fc6879b JM |
88 | ifndef CONFIG_ELOOP |
89 | CONFIG_ELOOP=eloop | |
90 | endif | |
91 | OBJS += ../src/utils/$(CONFIG_ELOOP).o | |
cd101567 | 92 | OBJS_c += ../src/utils/$(CONFIG_ELOOP).o |
6fc6879b JM |
93 | |
94 | ||
95 | ifdef CONFIG_EAPOL_TEST | |
96 | CFLAGS += -Werror -DEAPOL_TEST | |
97 | endif | |
98 | ||
99 | ifndef CONFIG_BACKEND | |
100 | CONFIG_BACKEND=file | |
101 | endif | |
102 | ||
103 | ifeq ($(CONFIG_BACKEND), file) | |
104 | OBJS += config_file.o | |
105 | ifndef CONFIG_NO_CONFIG_BLOBS | |
106 | NEED_BASE64=y | |
107 | endif | |
108 | CFLAGS += -DCONFIG_BACKEND_FILE | |
109 | endif | |
110 | ||
111 | ifeq ($(CONFIG_BACKEND), winreg) | |
112 | OBJS += config_winreg.o | |
113 | endif | |
114 | ||
115 | ifeq ($(CONFIG_BACKEND), none) | |
116 | OBJS += config_none.o | |
117 | endif | |
118 | ||
119 | ifdef CONFIG_NO_CONFIG_WRITE | |
120 | CFLAGS += -DCONFIG_NO_CONFIG_WRITE | |
121 | endif | |
122 | ||
123 | ifdef CONFIG_NO_CONFIG_BLOBS | |
124 | CFLAGS += -DCONFIG_NO_CONFIG_BLOBS | |
125 | endif | |
126 | ||
127 | ifdef CONFIG_NO_SCAN_PROCESSING | |
128 | CFLAGS += -DCONFIG_NO_SCAN_PROCESSING | |
129 | endif | |
130 | ||
38b46286 JM |
131 | ifdef CONFIG_IEEE80211W |
132 | CFLAGS += -DCONFIG_IEEE80211W | |
133 | NEED_SHA256=y | |
279d859b | 134 | NEED_AES_OMAC1=y |
38b46286 JM |
135 | endif |
136 | ||
137 | ifdef CONFIG_IEEE80211R | |
138 | CFLAGS += -DCONFIG_IEEE80211R | |
139 | OBJS += ../src/rsn_supp/wpa_ft.o | |
140 | NEED_80211_COMMON=y | |
141 | NEED_SHA256=y | |
279d859b | 142 | NEED_AES_OMAC1=y |
38b46286 JM |
143 | endif |
144 | ||
145 | ifdef CONFIG_PEERKEY | |
146 | CFLAGS += -DCONFIG_PEERKEY | |
147 | endif | |
148 | ||
149 | ifndef CONFIG_NO_WPA | |
150 | OBJS += ../src/rsn_supp/wpa.o | |
151 | OBJS += ../src/rsn_supp/preauth.o | |
152 | OBJS += ../src/rsn_supp/pmksa_cache.o | |
153 | OBJS += ../src/rsn_supp/peerkey.o | |
154 | OBJS += ../src/rsn_supp/wpa_ie.o | |
155 | OBJS += ../src/common/wpa_common.o | |
156 | NEED_AES=y | |
157 | NEED_SHA1=y | |
158 | NEED_MD5=y | |
159 | NEED_RC4=y | |
160 | else | |
161 | CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2 | |
162 | endif | |
163 | ||
164 | ifdef CONFIG_IBSS_RSN | |
3680a5db | 165 | NEED_RSN_AUTHENTICATOR=y |
38b46286 JM |
166 | CFLAGS += -DCONFIG_IBSS_RSN |
167 | OBJS += ibss_rsn.o | |
38b46286 JM |
168 | endif |
169 | ||
b22128ef JM |
170 | ifdef CONFIG_P2P |
171 | OBJS += p2p_supplicant.o | |
172 | OBJS += ../src/p2p/p2p.o | |
173 | OBJS += ../src/p2p/p2p_utils.o | |
174 | OBJS += ../src/p2p/p2p_parse.o | |
175 | OBJS += ../src/p2p/p2p_build.o | |
176 | OBJS += ../src/p2p/p2p_go_neg.o | |
177 | OBJS += ../src/p2p/p2p_sd.o | |
178 | OBJS += ../src/p2p/p2p_pd.o | |
179 | OBJS += ../src/p2p/p2p_invitation.o | |
180 | OBJS += ../src/p2p/p2p_dev_disc.o | |
181 | OBJS += ../src/p2p/p2p_group.o | |
182 | OBJS += ../src/ap/p2p_hostapd.o | |
183 | CFLAGS += -DCONFIG_P2P | |
184 | NEED_80211_COMMON=y | |
185 | ifdef CONFIG_P2P_STRICT | |
186 | CFLAGS += -DCONFIG_P2P_STRICT | |
187 | endif | |
188 | endif | |
189 | ||
38b46286 JM |
190 | ifdef CONFIG_NO_WPA2 |
191 | CFLAGS += -DCONFIG_NO_WPA2 | |
192 | endif | |
193 | ||
e7cd16ca JB |
194 | include ../src/drivers/drivers.mak |
195 | ifdef CONFIG_AP | |
196 | OBJS_d += $(DRV_BOTH_OBJS) | |
197 | CFLAGS += $(DRV_BOTH_CFLAGS) | |
198 | LDFLAGS += $(DRV_BOTH_LDFLAGS) | |
199 | LIBS += $(DRV_BOTH_LIBS) | |
200 | else | |
201 | NEED_AP_MLME= | |
202 | OBJS_d += $(DRV_WPA_OBJS) | |
203 | CFLAGS += $(DRV_WPA_CFLAGS) | |
204 | LDFLAGS += $(DRV_WPA_LDFLAGS) | |
205 | LIBS += $(DRV_WPA_LIBS) | |
e519314e JW |
206 | endif |
207 | ||
6fc6879b JM |
208 | ifndef CONFIG_L2_PACKET |
209 | CONFIG_L2_PACKET=linux | |
210 | endif | |
211 | ||
212 | OBJS_l2 += ../src/l2_packet/l2_packet_$(CONFIG_L2_PACKET).o | |
213 | ||
214 | ifeq ($(CONFIG_L2_PACKET), pcap) | |
215 | ifdef CONFIG_WINPCAP | |
216 | CFLAGS += -DCONFIG_WINPCAP | |
217 | LIBS += -lwpcap -lpacket | |
218 | LIBS_w += -lwpcap | |
219 | else | |
220 | LIBS += -ldnet -lpcap | |
221 | endif | |
222 | endif | |
223 | ||
224 | ifeq ($(CONFIG_L2_PACKET), winpcap) | |
225 | LIBS += -lwpcap -lpacket | |
226 | LIBS_w += -lwpcap | |
227 | endif | |
228 | ||
229 | ifeq ($(CONFIG_L2_PACKET), freebsd) | |
230 | LIBS += -lpcap | |
231 | endif | |
232 | ||
233 | ifdef CONFIG_EAP_TLS | |
234 | # EAP-TLS | |
235 | ifeq ($(CONFIG_EAP_TLS), dyn) | |
236 | CFLAGS += -DEAP_TLS_DYNAMIC | |
237 | EAPDYN += ../src/eap_peer/eap_tls.so | |
238 | else | |
239 | CFLAGS += -DEAP_TLS | |
240 | OBJS += ../src/eap_peer/eap_tls.o | |
94d9bfd5 | 241 | OBJS_h += ../src/eap_server/eap_server_tls.o |
6fc6879b JM |
242 | endif |
243 | TLS_FUNCS=y | |
244 | CONFIG_IEEE8021X_EAPOL=y | |
245 | endif | |
246 | ||
247 | ifdef CONFIG_EAP_PEAP | |
248 | # EAP-PEAP | |
249 | ifeq ($(CONFIG_EAP_PEAP), dyn) | |
250 | CFLAGS += -DEAP_PEAP_DYNAMIC | |
251 | EAPDYN += ../src/eap_peer/eap_peap.so | |
252 | else | |
253 | CFLAGS += -DEAP_PEAP | |
254 | OBJS += ../src/eap_peer/eap_peap.o | |
2eeaa5c9 | 255 | OBJS += ../src/eap_common/eap_peap_common.o |
94d9bfd5 | 256 | OBJS_h += ../src/eap_server/eap_server_peap.o |
6fc6879b JM |
257 | endif |
258 | TLS_FUNCS=y | |
259 | CONFIG_IEEE8021X_EAPOL=y | |
6fc6879b JM |
260 | endif |
261 | ||
262 | ifdef CONFIG_EAP_TTLS | |
263 | # EAP-TTLS | |
264 | ifeq ($(CONFIG_EAP_TTLS), dyn) | |
265 | CFLAGS += -DEAP_TTLS_DYNAMIC | |
266 | EAPDYN += ../src/eap_peer/eap_ttls.so | |
267 | else | |
268 | CFLAGS += -DEAP_TTLS | |
269 | OBJS += ../src/eap_peer/eap_ttls.o | |
94d9bfd5 | 270 | OBJS_h += ../src/eap_server/eap_server_ttls.o |
6fc6879b JM |
271 | endif |
272 | MS_FUNCS=y | |
273 | TLS_FUNCS=y | |
274 | CHAP=y | |
275 | CONFIG_IEEE8021X_EAPOL=y | |
276 | endif | |
277 | ||
278 | ifdef CONFIG_EAP_MD5 | |
279 | # EAP-MD5 | |
280 | ifeq ($(CONFIG_EAP_MD5), dyn) | |
281 | CFLAGS += -DEAP_MD5_DYNAMIC | |
282 | EAPDYN += ../src/eap_peer/eap_md5.so | |
283 | else | |
284 | CFLAGS += -DEAP_MD5 | |
285 | OBJS += ../src/eap_peer/eap_md5.o | |
94d9bfd5 | 286 | OBJS_h += ../src/eap_server/eap_server_md5.o |
6fc6879b JM |
287 | endif |
288 | CHAP=y | |
289 | CONFIG_IEEE8021X_EAPOL=y | |
290 | endif | |
291 | ||
292 | # backwards compatibility for old spelling | |
293 | ifdef CONFIG_MSCHAPV2 | |
294 | ifndef CONFIG_EAP_MSCHAPV2 | |
295 | CONFIG_EAP_MSCHAPV2=y | |
296 | endif | |
297 | endif | |
298 | ||
299 | ifdef CONFIG_EAP_MSCHAPV2 | |
300 | # EAP-MSCHAPv2 | |
301 | ifeq ($(CONFIG_EAP_MSCHAPV2), dyn) | |
302 | CFLAGS += -DEAP_MSCHAPv2_DYNAMIC | |
303 | EAPDYN += ../src/eap_peer/eap_mschapv2.so | |
304 | EAPDYN += ../src/eap_peer/mschapv2.so | |
305 | else | |
306 | CFLAGS += -DEAP_MSCHAPv2 | |
307 | OBJS += ../src/eap_peer/eap_mschapv2.o | |
308 | OBJS += ../src/eap_peer/mschapv2.o | |
94d9bfd5 | 309 | OBJS_h += ../src/eap_server/eap_server_mschapv2.o |
6fc6879b JM |
310 | endif |
311 | MS_FUNCS=y | |
312 | CONFIG_IEEE8021X_EAPOL=y | |
313 | endif | |
314 | ||
315 | ifdef CONFIG_EAP_GTC | |
316 | # EAP-GTC | |
317 | ifeq ($(CONFIG_EAP_GTC), dyn) | |
318 | CFLAGS += -DEAP_GTC_DYNAMIC | |
319 | EAPDYN += ../src/eap_peer/eap_gtc.so | |
320 | else | |
321 | CFLAGS += -DEAP_GTC | |
322 | OBJS += ../src/eap_peer/eap_gtc.o | |
94d9bfd5 | 323 | OBJS_h += ../src/eap_server/eap_server_gtc.o |
6fc6879b JM |
324 | endif |
325 | CONFIG_IEEE8021X_EAPOL=y | |
326 | endif | |
327 | ||
328 | ifdef CONFIG_EAP_OTP | |
329 | # EAP-OTP | |
330 | ifeq ($(CONFIG_EAP_OTP), dyn) | |
331 | CFLAGS += -DEAP_OTP_DYNAMIC | |
332 | EAPDYN += ../src/eap_peer/eap_otp.so | |
333 | else | |
334 | CFLAGS += -DEAP_OTP | |
335 | OBJS += ../src/eap_peer/eap_otp.o | |
336 | endif | |
337 | CONFIG_IEEE8021X_EAPOL=y | |
338 | endif | |
339 | ||
340 | ifdef CONFIG_EAP_SIM | |
341 | # EAP-SIM | |
342 | ifeq ($(CONFIG_EAP_SIM), dyn) | |
343 | CFLAGS += -DEAP_SIM_DYNAMIC | |
344 | EAPDYN += ../src/eap_peer/eap_sim.so | |
345 | else | |
346 | CFLAGS += -DEAP_SIM | |
347 | OBJS += ../src/eap_peer/eap_sim.o | |
94d9bfd5 | 348 | OBJS_h += ../src/eap_server/eap_server_sim.o |
6fc6879b JM |
349 | endif |
350 | CONFIG_IEEE8021X_EAPOL=y | |
351 | CONFIG_EAP_SIM_COMMON=y | |
bd4e9d03 | 352 | NEED_AES_CBC=y |
6fc6879b JM |
353 | endif |
354 | ||
355 | ifdef CONFIG_EAP_LEAP | |
356 | # EAP-LEAP | |
357 | ifeq ($(CONFIG_EAP_LEAP), dyn) | |
358 | CFLAGS += -DEAP_LEAP_DYNAMIC | |
359 | EAPDYN += ../src/eap_peer/eap_leap.so | |
360 | else | |
361 | CFLAGS += -DEAP_LEAP | |
362 | OBJS += ../src/eap_peer/eap_leap.o | |
363 | endif | |
364 | MS_FUNCS=y | |
365 | CONFIG_IEEE8021X_EAPOL=y | |
366 | endif | |
367 | ||
368 | ifdef CONFIG_EAP_PSK | |
369 | # EAP-PSK | |
370 | ifeq ($(CONFIG_EAP_PSK), dyn) | |
371 | CFLAGS += -DEAP_PSK_DYNAMIC | |
372 | EAPDYN += ../src/eap_peer/eap_psk.so | |
373 | else | |
374 | CFLAGS += -DEAP_PSK | |
375 | OBJS += ../src/eap_peer/eap_psk.o ../src/eap_common/eap_psk_common.o | |
94d9bfd5 | 376 | OBJS_h += ../src/eap_server/eap_server_psk.o |
6fc6879b JM |
377 | endif |
378 | CONFIG_IEEE8021X_EAPOL=y | |
379 | NEED_AES=y | |
bd4e9d03 JM |
380 | NEED_AES_OMAC1=y |
381 | NEED_AES_ENCBLOCK=y | |
382 | NEED_AES_EAX=y | |
6fc6879b JM |
383 | endif |
384 | ||
385 | ifdef CONFIG_EAP_AKA | |
386 | # EAP-AKA | |
387 | ifeq ($(CONFIG_EAP_AKA), dyn) | |
388 | CFLAGS += -DEAP_AKA_DYNAMIC | |
389 | EAPDYN += ../src/eap_peer/eap_aka.so | |
390 | else | |
391 | CFLAGS += -DEAP_AKA | |
392 | OBJS += ../src/eap_peer/eap_aka.o | |
94d9bfd5 | 393 | OBJS_h += ../src/eap_server/eap_server_aka.o |
6fc6879b JM |
394 | endif |
395 | CONFIG_IEEE8021X_EAPOL=y | |
396 | CONFIG_EAP_SIM_COMMON=y | |
bd4e9d03 | 397 | NEED_AES_CBC=y |
6fc6879b JM |
398 | endif |
399 | ||
8c37556c JM |
400 | ifdef CONFIG_EAP_AKA_PRIME |
401 | # EAP-AKA' | |
402 | ifeq ($(CONFIG_EAP_AKA_PRIME), dyn) | |
403 | CFLAGS += -DEAP_AKA_PRIME_DYNAMIC | |
8c37556c JM |
404 | else |
405 | CFLAGS += -DEAP_AKA_PRIME | |
8c37556c | 406 | endif |
1edb9533 | 407 | NEED_SHA256=y |
8c37556c JM |
408 | endif |
409 | ||
6fc6879b JM |
410 | ifdef CONFIG_EAP_SIM_COMMON |
411 | OBJS += ../src/eap_common/eap_sim_common.o | |
412 | OBJS_h += ../src/eap_server/eap_sim_db.o | |
413 | NEED_AES=y | |
414 | NEED_FIPS186_2_PRF=y | |
415 | endif | |
416 | ||
6fc6879b JM |
417 | ifdef CONFIG_EAP_FAST |
418 | # EAP-FAST | |
419 | ifeq ($(CONFIG_EAP_FAST), dyn) | |
420 | CFLAGS += -DEAP_FAST_DYNAMIC | |
421 | EAPDYN += ../src/eap_peer/eap_fast.so | |
a4819630 | 422 | EAPDYN += ../src/eap_common/eap_fast_common.o |
6fc6879b JM |
423 | else |
424 | CFLAGS += -DEAP_FAST | |
425 | OBJS += ../src/eap_peer/eap_fast.o ../src/eap_peer/eap_fast_pac.o | |
a4819630 | 426 | OBJS += ../src/eap_common/eap_fast_common.o |
94d9bfd5 | 427 | OBJS_h += ../src/eap_server/eap_server_fast.o |
6fc6879b JM |
428 | endif |
429 | TLS_FUNCS=y | |
58d1f6d1 | 430 | CONFIG_IEEE8021X_EAPOL=y |
6fc6879b JM |
431 | NEED_T_PRF=y |
432 | endif | |
433 | ||
434 | ifdef CONFIG_EAP_PAX | |
435 | # EAP-PAX | |
436 | ifeq ($(CONFIG_EAP_PAX), dyn) | |
437 | CFLAGS += -DEAP_PAX_DYNAMIC | |
438 | EAPDYN += ../src/eap_peer/eap_pax.so | |
439 | else | |
440 | CFLAGS += -DEAP_PAX | |
441 | OBJS += ../src/eap_peer/eap_pax.o ../src/eap_common/eap_pax_common.o | |
94d9bfd5 | 442 | OBJS_h += ../src/eap_server/eap_server_pax.o |
6fc6879b JM |
443 | endif |
444 | CONFIG_IEEE8021X_EAPOL=y | |
445 | endif | |
446 | ||
447 | ifdef CONFIG_EAP_SAKE | |
448 | # EAP-SAKE | |
449 | ifeq ($(CONFIG_EAP_SAKE), dyn) | |
450 | CFLAGS += -DEAP_SAKE_DYNAMIC | |
451 | EAPDYN += ../src/eap_peer/eap_sake.so | |
452 | else | |
453 | CFLAGS += -DEAP_SAKE | |
454 | OBJS += ../src/eap_peer/eap_sake.o ../src/eap_common/eap_sake_common.o | |
94d9bfd5 | 455 | OBJS_h += ../src/eap_server/eap_server_sake.o |
6fc6879b JM |
456 | endif |
457 | CONFIG_IEEE8021X_EAPOL=y | |
458 | endif | |
459 | ||
460 | ifdef CONFIG_EAP_GPSK | |
461 | # EAP-GPSK | |
462 | ifeq ($(CONFIG_EAP_GPSK), dyn) | |
463 | CFLAGS += -DEAP_GPSK_DYNAMIC | |
464 | EAPDYN += ../src/eap_peer/eap_gpsk.so | |
465 | else | |
466 | CFLAGS += -DEAP_GPSK | |
467 | OBJS += ../src/eap_peer/eap_gpsk.o ../src/eap_common/eap_gpsk_common.o | |
94d9bfd5 | 468 | OBJS_h += ../src/eap_server/eap_server_gpsk.o |
6fc6879b JM |
469 | endif |
470 | CONFIG_IEEE8021X_EAPOL=y | |
471 | ifdef CONFIG_EAP_GPSK_SHA256 | |
472 | CFLAGS += -DEAP_GPSK_SHA256 | |
473 | endif | |
474 | NEED_SHA256=y | |
bd4e9d03 | 475 | NEED_AES_OMAC1=y |
6fc6879b JM |
476 | endif |
477 | ||
df684d82 DH |
478 | ifdef CONFIG_EAP_PWD |
479 | CFLAGS += -DEAP_PWD | |
480 | OBJS += ../src/eap_peer/eap_pwd.o ../src/eap_common/eap_pwd_common.o | |
481 | OBJS_h += ../src/eap_server/eap_pwd.o | |
482 | CONFIG_IEEE8021X_EAPOL=y | |
483 | NEED_SHA256=y | |
484 | endif | |
485 | ||
ad08c363 | 486 | ifdef CONFIG_WPS |
53587ec1 JM |
487 | ifdef CONFIG_WPS2 |
488 | CFLAGS += -DCONFIG_WPS2 | |
489 | endif | |
490 | ||
ad08c363 | 491 | # EAP-WSC |
ad08c363 | 492 | CFLAGS += -DCONFIG_WPS -DEAP_WSC |
fa201b69 | 493 | OBJS += wps_supplicant.o |
ad08c363 JM |
494 | OBJS += ../src/utils/uuid.o |
495 | OBJS += ../src/eap_peer/eap_wsc.o ../src/eap_common/eap_wsc_common.o | |
496 | OBJS += ../src/wps/wps.o | |
497 | OBJS += ../src/wps/wps_common.o | |
7d7b8e96 JM |
498 | OBJS += ../src/wps/wps_attr_parse.o |
499 | OBJS += ../src/wps/wps_attr_build.o | |
500 | OBJS += ../src/wps/wps_attr_process.o | |
ad08c363 JM |
501 | OBJS += ../src/wps/wps_dev_attr.o |
502 | OBJS += ../src/wps/wps_enrollee.o | |
503 | OBJS += ../src/wps/wps_registrar.o | |
94d9bfd5 | 504 | OBJS_h += ../src/eap_server/eap_server_wsc.o |
ad08c363 JM |
505 | CONFIG_IEEE8021X_EAPOL=y |
506 | NEED_DH_GROUPS=y | |
1edb9533 | 507 | NEED_SHA256=y |
d9f56262 | 508 | NEED_BASE64=y |
f1b0de09 | 509 | NEED_80211_COMMON=y |
0dba0175 | 510 | NEED_AES_CBC=y |
38b46286 | 511 | NEED_MODEXP=y |
e1c7954d | 512 | |
390cd310 JM |
513 | ifdef CONFIG_WPS_UFD |
514 | CFLAGS += -DCONFIG_WPS_UFD | |
515 | OBJS += ../src/wps/wps_ufd.o | |
116f7bb0 JM |
516 | NEED_WPS_OOB=y |
517 | endif | |
518 | ||
e1ee6b60 MH |
519 | ifdef CONFIG_WPS_NFC |
520 | CFLAGS += -DCONFIG_WPS_NFC | |
521 | OBJS += ../src/wps/ndef.o | |
522 | OBJS += ../src/wps/wps_nfc.o | |
523 | NEED_WPS_OOB=y | |
524 | ifdef CONFIG_WPS_NFC_PN531 | |
9cf548c0 | 525 | PN531_PATH ?= /usr/local/src/nfc |
e1ee6b60 MH |
526 | CFLAGS += -DCONFIG_WPS_NFC_PN531 |
527 | CFLAGS += -I${PN531_PATH}/inc | |
528 | OBJS += ../src/wps/wps_nfc_pn531.o | |
529 | LIBS += ${PN531_PATH}/lib/wpsnfc.dll | |
530 | LIBS += ${PN531_PATH}/lib/libnfc_mapping_pn53x.dll | |
531 | endif | |
532 | endif | |
533 | ||
116f7bb0 JM |
534 | ifdef NEED_WPS_OOB |
535 | CFLAGS += -DCONFIG_WPS_OOB | |
390cd310 JM |
536 | endif |
537 | ||
e9bcfebf JM |
538 | ifdef CONFIG_WPS_ER |
539 | CONFIG_WPS_UPNP=y | |
540 | CFLAGS += -DCONFIG_WPS_ER | |
541 | OBJS += ../src/wps/wps_er.o | |
ec72bd0c | 542 | OBJS += ../src/wps/wps_er_ssdp.o |
e9bcfebf JM |
543 | endif |
544 | ||
e1c7954d JM |
545 | ifdef CONFIG_WPS_UPNP |
546 | CFLAGS += -DCONFIG_WPS_UPNP | |
547 | OBJS += ../src/wps/wps_upnp.o | |
548 | OBJS += ../src/wps/wps_upnp_ssdp.o | |
549 | OBJS += ../src/wps/wps_upnp_web.o | |
550 | OBJS += ../src/wps/wps_upnp_event.o | |
7e683cee | 551 | OBJS += ../src/wps/wps_upnp_ap.o |
0b40d033 | 552 | OBJS += ../src/wps/upnp_xml.o |
e1c7954d | 553 | OBJS += ../src/wps/httpread.o |
092794f4 | 554 | OBJS += ../src/wps/http_client.o |
b905c4a3 | 555 | OBJS += ../src/wps/http_server.o |
e1c7954d JM |
556 | endif |
557 | ||
cae67937 JM |
558 | ifdef CONFIG_WPS_STRICT |
559 | CFLAGS += -DCONFIG_WPS_STRICT | |
560 | OBJS += ../src/wps/wps_validate.o | |
561 | endif | |
562 | ||
b4e34f2f JM |
563 | ifdef CONFIG_WPS_TESTING |
564 | CFLAGS += -DCONFIG_WPS_TESTING | |
565 | endif | |
566 | ||
ad08c363 JM |
567 | endif |
568 | ||
6fc6879b JM |
569 | ifdef CONFIG_EAP_IKEV2 |
570 | # EAP-IKEv2 | |
571 | ifeq ($(CONFIG_EAP_IKEV2), dyn) | |
572 | CFLAGS += -DEAP_IKEV2_DYNAMIC | |
573 | EAPDYN += ../src/eap_peer/eap_ikev2.so ../src/eap_peer/ikev2.o | |
574 | EAPDYN += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o | |
575 | else | |
576 | CFLAGS += -DEAP_IKEV2 | |
577 | OBJS += ../src/eap_peer/eap_ikev2.o ../src/eap_peer/ikev2.o | |
578 | OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o | |
94d9bfd5 | 579 | OBJS_h += ../src/eap_server/eap_server_ikev2.o |
6fc6879b JM |
580 | OBJS_h += ../src/eap_server/ikev2.o |
581 | endif | |
582 | CONFIG_IEEE8021X_EAPOL=y | |
583 | NEED_DH_GROUPS=y | |
dd01b1ff | 584 | NEED_DH_GROUPS_ALL=y |
38b46286 | 585 | NEED_MODEXP=y |
be473f3f | 586 | NEED_CIPHER=y |
6fc6879b JM |
587 | endif |
588 | ||
589 | ifdef CONFIG_EAP_VENDOR_TEST | |
590 | ifeq ($(CONFIG_EAP_VENDOR_TEST), dyn) | |
591 | CFLAGS += -DEAP_VENDOR_TEST_DYNAMIC | |
592 | EAPDYN += ../src/eap_peer/eap_vendor_test.so | |
593 | else | |
594 | CFLAGS += -DEAP_VENDOR_TEST | |
595 | OBJS += ../src/eap_peer/eap_vendor_test.o | |
94d9bfd5 | 596 | OBJS_h += ../src/eap_server/eap_server_vendor_test.o |
6fc6879b JM |
597 | endif |
598 | CONFIG_IEEE8021X_EAPOL=y | |
599 | endif | |
600 | ||
601 | ifdef CONFIG_EAP_TNC | |
602 | # EAP-TNC | |
603 | CFLAGS += -DEAP_TNC | |
604 | OBJS += ../src/eap_peer/eap_tnc.o | |
605 | OBJS += ../src/eap_peer/tncc.o | |
94d9bfd5 | 606 | OBJS_h += ../src/eap_server/eap_server_tnc.o |
93ea8ed0 | 607 | OBJS_h += ../src/eap_server/tncs.o |
6fc6879b | 608 | NEED_BASE64=y |
53c256a4 | 609 | ifndef CONFIG_NATIVE_WINDOWS |
7d737d6b | 610 | ifndef CONFIG_DRIVER_BSD |
b77eab28 | 611 | LIBS += -ldl |
6fc6879b | 612 | endif |
53c256a4 | 613 | endif |
7d737d6b | 614 | endif |
6fc6879b JM |
615 | |
616 | ifdef CONFIG_IEEE8021X_EAPOL | |
617 | # IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication) | |
618 | CFLAGS += -DIEEE8021X_EAPOL | |
25c226ea JM |
619 | OBJS += ../src/eapol_supp/eapol_supp_sm.o |
620 | OBJS += ../src/eap_peer/eap.o ../src/eap_peer/eap_methods.o | |
621 | NEED_EAP_COMMON=y | |
6fc6879b JM |
622 | ifdef CONFIG_DYNAMIC_EAP_METHODS |
623 | CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS | |
624 | LIBS += -ldl -rdynamic | |
625 | endif | |
626 | endif | |
627 | ||
1581b38b | 628 | ifdef CONFIG_AP |
37a86b7b | 629 | NEED_80211_COMMON=y |
25c226ea | 630 | NEED_EAP_COMMON=y |
3680a5db | 631 | NEED_RSN_AUTHENTICATOR=y |
1581b38b | 632 | CFLAGS += -DCONFIG_AP |
f1a48710 JM |
633 | OBJS += ap.o |
634 | CFLAGS += -DCONFIG_NO_RADIUS | |
635 | CFLAGS += -DCONFIG_NO_ACCOUNTING | |
636 | CFLAGS += -DCONFIG_NO_VLAN | |
70db2ab3 JM |
637 | OBJS += ../src/ap/hostapd.o |
638 | OBJS += ../src/ap/wpa_auth_glue.o | |
32da61d9 | 639 | OBJS += ../src/ap/utils.o |
2586bc64 | 640 | OBJS += ../src/ap/authsrv.o |
6226e38d | 641 | OBJS += ../src/ap/ap_config.o |
2d5b792d | 642 | OBJS += ../src/utils/ip_addr.o |
1057d78e JM |
643 | OBJS += ../src/ap/sta_info.o |
644 | OBJS += ../src/ap/tkip_countermeasures.o | |
6226e38d | 645 | OBJS += ../src/ap/ap_mlme.o |
1057d78e | 646 | OBJS += ../src/ap/ieee802_1x.o |
281c950b | 647 | OBJS += ../src/eapol_auth/eapol_auth_sm.o |
1057d78e | 648 | OBJS += ../src/ap/ieee802_11_auth.o |
70db2ab3 JM |
649 | OBJS += ../src/ap/drv_callbacks.o |
650 | OBJS += ../src/ap/ap_drv_ops.o | |
34dbfc0c JM |
651 | ifdef CONFIG_IEEE80211N |
652 | OBJS += ../src/ap/ieee802_11_ht.o | |
653 | endif | |
e653b622 | 654 | ifdef CONFIG_CTRL_IFACE |
0e2d35c6 | 655 | OBJS += ../src/ap/ctrl_iface_ap.o |
e653b622 | 656 | endif |
f1a48710 | 657 | |
12760815 | 658 | CFLAGS += -DEAP_SERVER -DEAP_SERVER_IDENTITY |
94d9bfd5 JM |
659 | OBJS += ../src/eap_server/eap_server.o |
660 | OBJS += ../src/eap_server/eap_server_identity.o | |
661 | OBJS += ../src/eap_server/eap_server_methods.o | |
f1a48710 | 662 | |
803a811b JM |
663 | ifdef CONFIG_IEEE80211N |
664 | CFLAGS += -DCONFIG_IEEE80211N | |
665 | endif | |
666 | ||
f1a48710 | 667 | ifdef NEED_AP_MLME |
1057d78e JM |
668 | OBJS += ../src/ap/beacon.o |
669 | OBJS += ../src/ap/wmm.o | |
670 | OBJS += ../src/ap/ap_list.o | |
671 | OBJS += ../src/ap/ieee802_11.o | |
70db2ab3 | 672 | OBJS += ../src/ap/hw_features.o |
fe6bdb77 | 673 | CFLAGS += -DNEED_AP_MLME |
f1a48710 JM |
674 | endif |
675 | ifdef CONFIG_WPS | |
676 | CFLAGS += -DEAP_SERVER_WSC | |
32da61d9 | 677 | OBJS += ../src/ap/wps_hostapd.o |
94d9bfd5 | 678 | OBJS += ../src/eap_server/eap_server_wsc.o |
f1a48710 | 679 | endif |
1581b38b JM |
680 | endif |
681 | ||
3680a5db JM |
682 | ifdef NEED_RSN_AUTHENTICATOR |
683 | CFLAGS += -DCONFIG_NO_RADIUS | |
684 | NEED_AES_WRAP=y | |
6226e38d | 685 | OBJS += ../src/ap/wpa_auth.o |
1057d78e | 686 | OBJS += ../src/ap/wpa_auth_ie.o |
6226e38d | 687 | OBJS += ../src/ap/pmksa_cache_auth.o |
3680a5db | 688 | ifdef CONFIG_IEEE80211R |
6226e38d | 689 | OBJS += ../src/ap/wpa_auth_ft.o |
3680a5db JM |
690 | endif |
691 | ifdef CONFIG_PEERKEY | |
6226e38d | 692 | OBJS += ../src/ap/peerkey_auth.o |
3680a5db JM |
693 | endif |
694 | endif | |
695 | ||
6fc6879b JM |
696 | ifdef CONFIG_EAP_SERVER |
697 | CFLAGS += -DEAP_SERVER | |
94d9bfd5 JM |
698 | OBJS_h += ../src/eap_server/eap_server.o |
699 | OBJS_h += ../src/eap_server/eap_server_identity.o | |
700 | OBJS_h += ../src/eap_server/eap_server_methods.o | |
6fc6879b JM |
701 | endif |
702 | ||
703 | ifdef CONFIG_RADIUS_CLIENT | |
704 | OBJS_h += ../src/utils/ip_addr.o | |
705 | OBJS_h += ../src/radius/radius.o | |
706 | OBJS_h += ../src/radius/radius_client.o | |
707 | endif | |
708 | ||
709 | ifdef CONFIG_AUTHENTICATOR | |
bed4d574 | 710 | OBJS_h += ../src/eapol_auth/eapol_auth_sm.o |
1057d78e | 711 | OBJS_h += ../src/ap/ieee802_1x.o |
6fc6879b JM |
712 | endif |
713 | ||
714 | ifdef CONFIG_WPA_AUTHENTICATOR | |
6226e38d | 715 | OBJS_h += ../src/ap/wpa_auth.o |
1057d78e | 716 | OBJS_h += ../src/ap/wpa_auth_ie.o |
6226e38d | 717 | OBJS_h += ../src/ap/pmksa_cache_auth.o |
6fc6879b | 718 | ifdef CONFIG_IEEE80211R |
6226e38d | 719 | OBJS_h += ../src/ap/wpa_auth_ft.o |
6fc6879b JM |
720 | endif |
721 | ifdef CONFIG_PEERKEY | |
6226e38d | 722 | OBJS_h += ../src/ap/peerkey_auth.o |
6fc6879b JM |
723 | endif |
724 | endif | |
725 | ||
726 | ifdef CONFIG_PCSC | |
727 | # PC/SC interface for smartcards (USIM, GSM SIM) | |
728 | CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC | |
729 | OBJS += ../src/utils/pcsc_funcs.o | |
730 | # -lpthread may not be needed depending on how pcsc-lite was configured | |
731 | ifdef CONFIG_NATIVE_WINDOWS | |
732 | #Once MinGW gets support for WinScard, -lwinscard could be used instead of the | |
733 | #dynamic symbol loading that is now used in pcsc_funcs.c | |
734 | #LIBS += -lwinscard | |
735 | else | |
736 | LIBS += -lpcsclite -lpthread | |
737 | endif | |
738 | endif | |
739 | ||
81eec387 JM |
740 | ifdef CONFIG_SIM_SIMULATOR |
741 | CFLAGS += -DCONFIG_SIM_SIMULATOR | |
742 | NEED_MILENAGE=y | |
743 | endif | |
744 | ||
2a24bb31 JM |
745 | ifdef CONFIG_USIM_SIMULATOR |
746 | CFLAGS += -DCONFIG_USIM_SIMULATOR | |
81eec387 JM |
747 | NEED_MILENAGE=y |
748 | endif | |
749 | ||
750 | ifdef NEED_MILENAGE | |
43df4cc2 | 751 | OBJS += ../src/crypto/milenage.o |
2a24bb31 JM |
752 | endif |
753 | ||
71374569 JM |
754 | ifdef CONFIG_PKCS12 |
755 | CFLAGS += -DPKCS12_FUNCS | |
756 | endif | |
757 | ||
758 | ifdef CONFIG_SMARTCARD | |
759 | CFLAGS += -DCONFIG_SMARTCARD | |
760 | endif | |
761 | ||
762 | ifdef MS_FUNCS | |
763 | OBJS += ../src/crypto/ms_funcs.o | |
38b46286 JM |
764 | NEED_DES=y |
765 | NEED_MD4=y | |
71374569 JM |
766 | endif |
767 | ||
768 | ifdef CHAP | |
769 | OBJS += ../src/eap_common/chap.o | |
770 | endif | |
771 | ||
6fc6879b | 772 | ifdef TLS_FUNCS |
38b46286 | 773 | NEED_DES=y |
6fc6879b | 774 | # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST) |
6fc6879b | 775 | OBJS += ../src/eap_peer/eap_tls_common.o |
94d9bfd5 | 776 | OBJS_h += ../src/eap_server/eap_server_tls_common.o |
6fc6879b | 777 | NEED_TLS_PRF=y |
000bbd77 JM |
778 | endif |
779 | ||
38b46286 JM |
780 | ifndef CONFIG_TLS |
781 | CONFIG_TLS=openssl | |
782 | endif | |
783 | ||
6fc6879b | 784 | ifeq ($(CONFIG_TLS), openssl) |
38b46286 | 785 | ifdef TLS_FUNCS |
6fc6879b JM |
786 | CFLAGS += -DEAP_TLS_OPENSSL |
787 | OBJS += ../src/crypto/tls_openssl.o | |
38b46286 JM |
788 | LIBS += -lssl |
789 | endif | |
790 | OBJS += ../src/crypto/crypto_openssl.o | |
791 | OBJS_p += ../src/crypto/crypto_openssl.o | |
792 | ifdef NEED_FIPS186_2_PRF | |
793 | OBJS += ../src/crypto/fips_prf_openssl.o | |
794 | endif | |
795 | LIBS += -lcrypto | |
6fc6879b JM |
796 | LIBS_p += -lcrypto |
797 | endif | |
38b46286 | 798 | |
6fc6879b | 799 | ifeq ($(CONFIG_TLS), gnutls) |
38b46286 | 800 | ifdef TLS_FUNCS |
6fc6879b | 801 | OBJS += ../src/crypto/tls_gnutls.o |
38b46286 | 802 | LIBS += -lgnutls -lgpg-error |
6fc6879b JM |
803 | ifdef CONFIG_GNUTLS_EXTRA |
804 | CFLAGS += -DCONFIG_GNUTLS_EXTRA | |
805 | LIBS += -lgnutls-extra | |
806 | endif | |
807 | endif | |
6fc6879b JM |
808 | OBJS += ../src/crypto/crypto_gnutls.o |
809 | OBJS_p += ../src/crypto/crypto_gnutls.o | |
05edfe29 JB |
810 | ifdef NEED_FIPS186_2_PRF |
811 | OBJS += ../src/crypto/fips_prf_gnutls.o | |
05edfe29 | 812 | endif |
38b46286 JM |
813 | LIBS += -lgcrypt |
814 | LIBS_p += -lgcrypt | |
6fc6879b | 815 | CONFIG_INTERNAL_SHA256=y |
ac73690c | 816 | CONFIG_INTERNAL_RC4=y |
f042122a | 817 | CONFIG_INTERNAL_DH_GROUP5=y |
6fc6879b | 818 | endif |
38b46286 | 819 | |
6fc6879b | 820 | ifeq ($(CONFIG_TLS), schannel) |
38b46286 JM |
821 | ifdef TLS_FUNCS |
822 | OBJS += ../src/crypto/tls_schannel.o | |
823 | endif | |
6fc6879b JM |
824 | OBJS += ../src/crypto/crypto_cryptoapi.o |
825 | OBJS_p += ../src/crypto/crypto_cryptoapi.o | |
94c3e91f JM |
826 | ifdef NEED_FIPS186_2_PRF |
827 | OBJS += ../src/crypto/fips_prf_cryptoapi.o | |
828 | endif | |
6fc6879b | 829 | CONFIG_INTERNAL_SHA256=y |
ac73690c | 830 | CONFIG_INTERNAL_RC4=y |
f042122a | 831 | CONFIG_INTERNAL_DH_GROUP5=y |
6fc6879b | 832 | endif |
38b46286 | 833 | |
289ffc2b | 834 | ifeq ($(CONFIG_TLS), nss) |
38b46286 JM |
835 | ifdef TLS_FUNCS |
836 | OBJS += ../src/crypto/tls_nss.o | |
837 | LIBS += -lssl3 | |
838 | endif | |
289ffc2b JM |
839 | OBJS += ../src/crypto/crypto_nss.o |
840 | OBJS_p += ../src/crypto/crypto_nss.o | |
289ffc2b JM |
841 | ifdef NEED_FIPS186_2_PRF |
842 | OBJS += ../src/crypto/fips_prf_nss.o | |
843 | endif | |
38b46286 JM |
844 | LIBS += -lnss3 |
845 | LIBS_p += -lnss3 | |
846 | CONFIG_INTERNAL_MD4=y | |
f042122a | 847 | CONFIG_INTERNAL_DH_GROUP5=y |
289ffc2b | 848 | endif |
38b46286 | 849 | |
6fc6879b | 850 | ifeq ($(CONFIG_TLS), internal) |
38b46286 JM |
851 | ifndef CONFIG_CRYPTO |
852 | CONFIG_CRYPTO=internal | |
853 | endif | |
854 | ifdef TLS_FUNCS | |
be473f3f | 855 | OBJS += ../src/crypto/crypto_internal-rsa.o |
38b46286 JM |
856 | OBJS += ../src/crypto/tls_internal.o |
857 | OBJS += ../src/tls/tlsv1_common.o | |
858 | OBJS += ../src/tls/tlsv1_record.o | |
859 | OBJS += ../src/tls/tlsv1_cred.o | |
860 | OBJS += ../src/tls/tlsv1_client.o | |
861 | OBJS += ../src/tls/tlsv1_client_write.o | |
862 | OBJS += ../src/tls/tlsv1_client_read.o | |
863 | OBJS += ../src/tls/asn1.o | |
864 | OBJS += ../src/tls/rsa.o | |
865 | OBJS += ../src/tls/x509v3.o | |
f1739bac JM |
866 | OBJS += ../src/tls/pkcs1.o |
867 | OBJS += ../src/tls/pkcs5.o | |
868 | OBJS += ../src/tls/pkcs8.o | |
1a707778 | 869 | NEED_SHA256=y |
38b46286 JM |
870 | NEED_BASE64=y |
871 | NEED_TLS_PRF=y | |
872 | NEED_MODEXP=y | |
be473f3f | 873 | NEED_CIPHER=y |
38b46286 JM |
874 | CFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT |
875 | endif | |
be473f3f JM |
876 | ifdef NEED_CIPHER |
877 | NEED_DES=y | |
878 | OBJS += ../src/crypto/crypto_internal-cipher.o | |
879 | endif | |
38b46286 | 880 | ifdef NEED_MODEXP |
be473f3f | 881 | OBJS += ../src/crypto/crypto_internal-modexp.o |
38b46286 | 882 | OBJS += ../src/tls/bignum.o |
38b46286 | 883 | endif |
6fc6879b JM |
884 | ifeq ($(CONFIG_CRYPTO), libtomcrypt) |
885 | OBJS += ../src/crypto/crypto_libtomcrypt.o | |
886 | OBJS_p += ../src/crypto/crypto_libtomcrypt.o | |
38b46286 JM |
887 | LIBS += -ltomcrypt -ltfm |
888 | LIBS_p += -ltomcrypt -ltfm | |
6fc6879b | 889 | CONFIG_INTERNAL_SHA256=y |
ac73690c | 890 | CONFIG_INTERNAL_RC4=y |
f042122a | 891 | CONFIG_INTERNAL_DH_GROUP5=y |
6fc6879b JM |
892 | endif |
893 | ifeq ($(CONFIG_CRYPTO), internal) | |
38b46286 JM |
894 | OBJS += ../src/crypto/crypto_internal.o |
895 | OBJS_p += ../src/crypto/crypto_internal.o | |
73d0ad78 | 896 | NEED_AES_ENC=y |
6fc6879b | 897 | CFLAGS += -DCONFIG_CRYPTO_INTERNAL |
049a292f JM |
898 | ifdef CONFIG_INTERNAL_LIBTOMMATH |
899 | CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH | |
900 | ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST | |
901 | CFLAGS += -DLTM_FAST | |
902 | endif | |
903 | else | |
904 | LIBS += -ltommath | |
905 | LIBS_p += -ltommath | |
906 | endif | |
6fc6879b JM |
907 | CONFIG_INTERNAL_AES=y |
908 | CONFIG_INTERNAL_DES=y | |
909 | CONFIG_INTERNAL_SHA1=y | |
910 | CONFIG_INTERNAL_MD4=y | |
911 | CONFIG_INTERNAL_MD5=y | |
912 | CONFIG_INTERNAL_SHA256=y | |
ac73690c | 913 | CONFIG_INTERNAL_RC4=y |
f042122a | 914 | CONFIG_INTERNAL_DH_GROUP5=y |
6fc6879b JM |
915 | endif |
916 | ifeq ($(CONFIG_CRYPTO), cryptoapi) | |
917 | OBJS += ../src/crypto/crypto_cryptoapi.o | |
918 | OBJS_p += ../src/crypto/crypto_cryptoapi.o | |
919 | CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI | |
920 | CONFIG_INTERNAL_SHA256=y | |
ac73690c | 921 | CONFIG_INTERNAL_RC4=y |
6fc6879b JM |
922 | endif |
923 | endif | |
38b46286 | 924 | |
6fc6879b | 925 | ifeq ($(CONFIG_TLS), none) |
38b46286 JM |
926 | ifdef TLS_FUNCS |
927 | OBJS += ../src/crypto/tls_none.o | |
928 | CFLAGS += -DEAP_TLS_NONE | |
929 | CONFIG_INTERNAL_AES=y | |
930 | CONFIG_INTERNAL_SHA1=y | |
931 | CONFIG_INTERNAL_MD5=y | |
932 | endif | |
6fc6879b JM |
933 | OBJS += ../src/crypto/crypto_none.o |
934 | OBJS_p += ../src/crypto/crypto_none.o | |
935 | CONFIG_INTERNAL_SHA256=y | |
ac73690c | 936 | CONFIG_INTERNAL_RC4=y |
6fc6879b | 937 | endif |
38b46286 JM |
938 | |
939 | ifdef TLS_FUNCS | |
940 | ifdef CONFIG_SMARTCARD | |
941 | ifndef CONFIG_NATIVE_WINDOWS | |
942 | ifneq ($(CONFIG_L2_PACKET), freebsd) | |
943 | LIBS += -ldl | |
944 | endif | |
945 | endif | |
946 | endif | |
947 | endif | |
948 | ||
949 | ifndef TLS_FUNCS | |
950 | OBJS += ../src/crypto/tls_none.o | |
951 | ifeq ($(CONFIG_TLS), internal) | |
6fc6879b JM |
952 | CONFIG_INTERNAL_AES=y |
953 | CONFIG_INTERNAL_SHA1=y | |
954 | CONFIG_INTERNAL_MD5=y | |
9d388d50 | 955 | CONFIG_INTERNAL_RC4=y |
6fc6879b | 956 | endif |
38b46286 | 957 | endif |
6fc6879b | 958 | |
38b46286 | 959 | AESOBJS = # none so far (see below) |
6fc6879b | 960 | ifdef CONFIG_INTERNAL_AES |
381fcbc9 | 961 | AESOBJS += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-dec.o |
6fc6879b | 962 | endif |
38b46286 JM |
963 | |
964 | AESOBJS += ../src/crypto/aes-unwrap.o | |
bd4e9d03 | 965 | ifdef NEED_AES_EAX |
38b46286 | 966 | AESOBJS += ../src/crypto/aes-eax.o |
bd4e9d03 JM |
967 | NEED_AES_CTR=y |
968 | endif | |
969 | ifdef NEED_AES_CTR | |
970 | AESOBJS += ../src/crypto/aes-ctr.o | |
971 | endif | |
972 | ifdef NEED_AES_ENCBLOCK | |
38b46286 | 973 | AESOBJS += ../src/crypto/aes-encblock.o |
bd4e9d03 JM |
974 | endif |
975 | ifdef NEED_AES_OMAC1 | |
279d859b | 976 | NEED_AES_ENC=y |
38b46286 | 977 | AESOBJS += ../src/crypto/aes-omac1.o |
bd4e9d03 JM |
978 | endif |
979 | ifdef NEED_AES_WRAP | |
3afe7b61 | 980 | NEED_AES_ENC=y |
38b46286 JM |
981 | AESOBJS += ../src/crypto/aes-wrap.o |
982 | endif | |
983 | ifdef NEED_AES_CBC | |
279d859b MH |
984 | NEED_AES_ENC=y |
985 | AESOBJS += ../src/crypto/aes-cbc.o | |
986 | endif | |
987 | ifdef NEED_AES_ENC | |
38b46286 JM |
988 | ifdef CONFIG_INTERNAL_AES |
989 | AESOBJS += ../src/crypto/aes-internal-enc.o | |
990 | endif | |
38b46286 JM |
991 | endif |
992 | ifdef NEED_AES | |
993 | OBJS += $(AESOBJS) | |
38b46286 JM |
994 | endif |
995 | ||
996 | ifdef NEED_SHA1 | |
997 | SHA1OBJS += ../src/crypto/sha1.o | |
6fc6879b | 998 | ifdef CONFIG_INTERNAL_SHA1 |
928a50a3 | 999 | SHA1OBJS += ../src/crypto/sha1-internal.o |
05edfe29 JB |
1000 | ifdef NEED_FIPS186_2_PRF |
1001 | SHA1OBJS += ../src/crypto/fips_prf_internal.o | |
1002 | endif | |
6fc6879b | 1003 | endif |
38b46286 JM |
1004 | ifndef CONFIG_NO_WPA_PASSPHRASE |
1005 | SHA1OBJS += ../src/crypto/sha1-pbkdf2.o | |
1006 | endif | |
1007 | ifdef NEED_T_PRF | |
1008 | SHA1OBJS += ../src/crypto/sha1-tprf.o | |
1009 | endif | |
1010 | ifdef NEED_TLS_PRF | |
1011 | SHA1OBJS += ../src/crypto/sha1-tlsprf.o | |
1012 | endif | |
1013 | endif | |
1014 | ||
1015 | MD5OBJS = ../src/crypto/md5.o | |
1016 | ifdef NEED_MD5 | |
6fc6879b | 1017 | ifdef CONFIG_INTERNAL_MD5 |
ad01a531 | 1018 | MD5OBJS += ../src/crypto/md5-internal.o |
6fc6879b | 1019 | endif |
38b46286 JM |
1020 | ifdef CONFIG_FIPS |
1021 | MD5OBJS += ../src/crypto/md5-non-fips.o | |
6fc6879b | 1022 | endif |
38b46286 | 1023 | OBJS += $(MD5OBJS) |
3e91d242 | 1024 | OBJS_p += $(MD5OBJS) |
38b46286 JM |
1025 | endif |
1026 | ||
1027 | ifdef NEED_MD4 | |
1028 | ifdef CONFIG_INTERNAL_MD4 | |
1029 | OBJS += ../src/crypto/md4-internal.o | |
1030 | endif | |
1031 | endif | |
bd4e2895 | 1032 | |
38b46286 JM |
1033 | DESOBJS = # none needed when not internal |
1034 | ifdef NEED_DES | |
6fc6879b | 1035 | ifdef CONFIG_INTERNAL_DES |
657f0381 | 1036 | DESOBJS += ../src/crypto/des-internal.o |
6fc6879b | 1037 | endif |
38b46286 | 1038 | endif |
6fc6879b | 1039 | |
38b46286 | 1040 | ifdef NEED_RC4 |
ac73690c JM |
1041 | ifdef CONFIG_INTERNAL_RC4 |
1042 | OBJS += ../src/crypto/rc4.o | |
1043 | endif | |
1d8ce433 JM |
1044 | endif |
1045 | ||
38b46286 | 1046 | SHA256OBJS = # none by default |
6fc6879b | 1047 | ifdef NEED_SHA256 |
00468b46 | 1048 | CFLAGS += -DCONFIG_SHA256 |
598a792d | 1049 | SHA256OBJS += ../src/crypto/sha256.o |
598a792d JB |
1050 | ifdef CONFIG_INTERNAL_SHA256 |
1051 | SHA256OBJS += ../src/crypto/sha256-internal.o | |
1052 | endif | |
598a792d | 1053 | OBJS += $(SHA256OBJS) |
38b46286 JM |
1054 | endif |
1055 | ||
38b46286 JM |
1056 | ifdef NEED_DH_GROUPS |
1057 | OBJS += ../src/crypto/dh_groups.o | |
38b46286 | 1058 | endif |
38b46286 | 1059 | ifdef NEED_DH_GROUPS_ALL |
38b46286 JM |
1060 | CFLAGS += -DALL_DH_GROUPS |
1061 | endif | |
50ceddcf JM |
1062 | ifdef CONFIG_INTERNAL_DH_GROUP5 |
1063 | ifdef NEED_DH_GROUPS | |
1064 | OBJS += ../src/crypto/dh_group5.o | |
1065 | endif | |
38b46286 | 1066 | endif |
6fc6879b | 1067 | |
bbb921da JM |
1068 | ifdef CONFIG_NO_RANDOM_POOL |
1069 | CFLAGS += -DCONFIG_NO_RANDOM_POOL | |
1070 | else | |
1071 | OBJS += ../src/crypto/random.o | |
1072 | endif | |
1073 | ||
6fc6879b JM |
1074 | ifdef CONFIG_CTRL_IFACE |
1075 | ifeq ($(CONFIG_CTRL_IFACE), y) | |
1076 | ifdef CONFIG_NATIVE_WINDOWS | |
1077 | CONFIG_CTRL_IFACE=named_pipe | |
1078 | else | |
1079 | CONFIG_CTRL_IFACE=unix | |
1080 | endif | |
1081 | endif | |
1082 | CFLAGS += -DCONFIG_CTRL_IFACE | |
1083 | ifeq ($(CONFIG_CTRL_IFACE), unix) | |
1084 | CFLAGS += -DCONFIG_CTRL_IFACE_UNIX | |
1085 | endif | |
1086 | ifeq ($(CONFIG_CTRL_IFACE), udp) | |
1087 | CFLAGS += -DCONFIG_CTRL_IFACE_UDP | |
1088 | endif | |
1089 | ifeq ($(CONFIG_CTRL_IFACE), named_pipe) | |
1090 | CFLAGS += -DCONFIG_CTRL_IFACE_NAMED_PIPE | |
1091 | endif | |
1092 | OBJS += ctrl_iface.o ctrl_iface_$(CONFIG_CTRL_IFACE).o | |
1093 | endif | |
1094 | ||
1095 | ifdef CONFIG_CTRL_IFACE_DBUS | |
8ddef94b | 1096 | DBUS=y |
8fc2fb56 | 1097 | DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE |
bacfd05f | 1098 | DBUS_OBJS += dbus/dbus_old.o dbus/dbus_old_handlers.o |
36da1358 | 1099 | ifdef CONFIG_WPS |
bacfd05f | 1100 | DBUS_OBJS += dbus/dbus_old_handlers_wps.o |
36da1358 | 1101 | endif |
19b3211d | 1102 | DBUS_OBJS += dbus/dbus_dict_helpers.o |
6fc6879b JM |
1103 | ifndef DBUS_LIBS |
1104 | DBUS_LIBS := $(shell pkg-config --libs dbus-1) | |
1105 | endif | |
6fc6879b JM |
1106 | ifndef DBUS_INCLUDE |
1107 | DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1) | |
1108 | endif | |
1109 | dbus_version=$(subst ., ,$(shell pkg-config --modversion dbus-1)) | |
1110 | DBUS_VERSION_MAJOR=$(word 1,$(dbus_version)) | |
1111 | DBUS_VERSION_MINOR=$(word 2,$(dbus_version)) | |
1112 | ifeq ($(DBUS_VERSION_MAJOR),) | |
1113 | DBUS_VERSION_MAJOR=0 | |
1114 | endif | |
1115 | ifeq ($(DBUS_VERSION_MINOR),) | |
1116 | DBUS_VERSION_MINOR=0 | |
1117 | endif | |
1118 | DBUS_INCLUDE += -DDBUS_VERSION_MAJOR=$(DBUS_VERSION_MAJOR) | |
1119 | DBUS_INCLUDE += -DDBUS_VERSION_MINOR=$(DBUS_VERSION_MINOR) | |
8fc2fb56 WS |
1120 | DBUS_CFLAGS += $(DBUS_INCLUDE) |
1121 | endif | |
1122 | ||
1123 | ifdef CONFIG_CTRL_IFACE_DBUS_NEW | |
8ddef94b | 1124 | DBUS=y |
8fc2fb56 | 1125 | DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_NEW |
19b3211d | 1126 | DBUS_OBJS ?= dbus/dbus_dict_helpers.o |
a206a29a JM |
1127 | DBUS_OBJS += dbus/dbus_new_helpers.o |
1128 | DBUS_OBJS += dbus/dbus_new.o dbus/dbus_new_handlers.o | |
36da1358 JM |
1129 | ifdef CONFIG_WPS |
1130 | DBUS_OBJS += dbus/dbus_new_handlers_wps.o | |
1131 | endif | |
8fc2fb56 WS |
1132 | ifndef DBUS_LIBS |
1133 | DBUS_LIBS := $(shell pkg-config --libs dbus-1) | |
1134 | endif | |
1135 | ifndef DBUS_INCLUDE | |
1136 | DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1) | |
1137 | endif | |
1138 | ifdef CONFIG_CTRL_IFACE_DBUS_INTRO | |
04551ee6 | 1139 | DBUS_OBJS += dbus/dbus_new_introspect.o |
8fc2fb56 | 1140 | DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_INTRO |
6fc6879b | 1141 | endif |
8fc2fb56 WS |
1142 | DBUS_CFLAGS += $(DBUS_INCLUDE) |
1143 | endif | |
1144 | ||
8ddef94b JM |
1145 | ifdef DBUS |
1146 | DBUS_CFLAGS += -DCONFIG_DBUS | |
1147 | DBUS_OBJS += dbus/dbus_common.o | |
1148 | endif | |
1149 | ||
8fc2fb56 WS |
1150 | OBJS += $(DBUS_OBJS) |
1151 | CFLAGS += $(DBUS_CFLAGS) | |
1152 | LIBS += $(DBUS_LIBS) | |
6fc6879b JM |
1153 | |
1154 | ifdef CONFIG_READLINE | |
e8ecb5fb | 1155 | OBJS_c += ../src/utils/edit_readline.o |
6fc6879b | 1156 | LIBS_c += -lncurses -lreadline |
82a855bd | 1157 | else |
aee680e8 | 1158 | ifdef CONFIG_WPA_CLI_EDIT |
82a855bd JM |
1159 | OBJS_c += ../src/utils/edit.o |
1160 | else | |
1161 | OBJS_c += ../src/utils/edit_simple.o | |
1162 | endif | |
aee680e8 JM |
1163 | endif |
1164 | ||
6fc6879b JM |
1165 | ifdef CONFIG_NATIVE_WINDOWS |
1166 | CFLAGS += -DCONFIG_NATIVE_WINDOWS | |
1167 | LIBS += -lws2_32 -lgdi32 -lcrypt32 | |
1168 | LIBS_c += -lws2_32 | |
1169 | LIBS_p += -lws2_32 -lgdi32 | |
1170 | ifeq ($(CONFIG_CRYPTO), cryptoapi) | |
1171 | LIBS_p += -lcrypt32 | |
1172 | endif | |
1173 | endif | |
1174 | ||
1175 | ifdef CONFIG_NO_STDOUT_DEBUG | |
1176 | CFLAGS += -DCONFIG_NO_STDOUT_DEBUG | |
1177 | ifndef CONFIG_CTRL_IFACE | |
1178 | CFLAGS += -DCONFIG_NO_WPA_MSG | |
1179 | endif | |
1180 | endif | |
1181 | ||
1182 | ifdef CONFIG_IPV6 | |
1183 | # for eapol_test only | |
1184 | CFLAGS += -DCONFIG_IPV6 | |
1185 | endif | |
1186 | ||
6fc6879b JM |
1187 | ifdef NEED_BASE64 |
1188 | OBJS += ../src/utils/base64.o | |
1189 | endif | |
1190 | ||
c2a04078 | 1191 | ifdef NEED_SME |
20e26395 | 1192 | NEED_80211_COMMON=y |
c2a04078 JM |
1193 | OBJS += sme.o |
1194 | CFLAGS += -DCONFIG_SME | |
1195 | endif | |
1196 | ||
6fc6879b | 1197 | ifdef CONFIG_CLIENT_MLME |
26c9d7ea | 1198 | OBJS += mlme.o |
6fc6879b | 1199 | CFLAGS += -DCONFIG_CLIENT_MLME |
26c9d7ea JM |
1200 | NEED_80211_COMMON=y |
1201 | endif | |
1202 | ||
1203 | ifdef NEED_80211_COMMON | |
1204 | OBJS += ../src/common/ieee802_11_common.o | |
6fc6879b JM |
1205 | endif |
1206 | ||
25c226ea JM |
1207 | ifdef NEED_EAP_COMMON |
1208 | OBJS += ../src/eap_common/eap_common.o | |
1209 | endif | |
1210 | ||
6fc6879b JM |
1211 | ifndef CONFIG_MAIN |
1212 | CONFIG_MAIN=main | |
1213 | endif | |
1214 | ||
cca87731 SL |
1215 | ifdef CONFIG_DEBUG_SYSLOG |
1216 | CFLAGS += -DCONFIG_DEBUG_SYSLOG | |
1217 | endif | |
1218 | ||
6fc6879b JM |
1219 | ifdef CONFIG_DEBUG_FILE |
1220 | CFLAGS += -DCONFIG_DEBUG_FILE | |
1221 | endif | |
1222 | ||
46690a3b JM |
1223 | ifdef CONFIG_DELAYED_MIC_ERROR_REPORT |
1224 | CFLAGS += -DCONFIG_DELAYED_MIC_ERROR_REPORT | |
1225 | endif | |
1226 | ||
577072b1 JM |
1227 | ifdef CONFIG_FIPS |
1228 | CFLAGS += -DCONFIG_FIPS | |
577072b1 JM |
1229 | endif |
1230 | ||
657f0381 | 1231 | OBJS += $(SHA1OBJS) $(DESOBJS) |
928a50a3 | 1232 | |
be473f3f | 1233 | OBJS_p += $(SHA1OBJS) |
6fc6879b | 1234 | |
60b94c98 JM |
1235 | ifdef CONFIG_BGSCAN_SIMPLE |
1236 | CFLAGS += -DCONFIG_BGSCAN_SIMPLE | |
1237 | OBJS += bgscan_simple.o | |
1238 | NEED_BGSCAN=y | |
1239 | endif | |
1240 | ||
c4d71c25 JM |
1241 | ifdef CONFIG_BGSCAN_LEARN |
1242 | CFLAGS += -DCONFIG_BGSCAN_LEARN | |
1243 | OBJS += bgscan_learn.o | |
1244 | NEED_BGSCAN=y | |
1245 | endif | |
1246 | ||
60b94c98 JM |
1247 | ifdef NEED_BGSCAN |
1248 | CFLAGS += -DCONFIG_BGSCAN | |
1249 | OBJS += bgscan.o | |
1250 | endif | |
1251 | ||
6fc6879b JM |
1252 | OBJS_wpa_rm := ctrl_iface.o mlme.o ctrl_iface_unix.o |
1253 | OBJS_wpa := $(filter-out $(OBJS_wpa_rm),$(OBJS)) $(OBJS_h) tests/test_wpa.o | |
1254 | ifdef CONFIG_AUTHENTICATOR | |
1255 | OBJS_wpa += tests/link_test.o | |
1256 | endif | |
1257 | OBJS_wpa += $(OBJS_l2) | |
1258 | OBJS += wpa_supplicant.o events.o blacklist.o wpas_glue.o scan.o | |
74784010 JM |
1259 | OBJS_t := $(OBJS) $(OBJS_l2) eapol_test.o |
1260 | OBJS_t += ../src/radius/radius_client.o | |
a7baefda | 1261 | OBJS_t += ../src/radius/radius.o |
74784010 | 1262 | ifndef CONFIG_AP |
6fc6879b | 1263 | OBJS_t += ../src/utils/ip_addr.o |
74784010 | 1264 | endif |
6fc6879b JM |
1265 | OBJS_t2 := $(OBJS) $(OBJS_l2) preauth_test.o |
1266 | OBJS += $(CONFIG_MAIN).o | |
1267 | ||
1268 | ifdef CONFIG_PRIVSEP | |
d1f9c410 | 1269 | OBJS_priv += $(OBJS_d) ../src/drivers/drivers.o |
6fc6879b JM |
1270 | OBJS_priv += $(OBJS_l2) |
1271 | OBJS_priv += ../src/utils/os_$(CONFIG_OS).o | |
1272 | OBJS_priv += ../src/utils/$(CONFIG_ELOOP).o | |
1273 | OBJS_priv += ../src/utils/common.o | |
1274 | OBJS_priv += ../src/utils/wpa_debug.o | |
716d543d | 1275 | OBJS_priv += ../src/utils/wpabuf.o |
6fc6879b JM |
1276 | OBJS_priv += wpa_priv.o |
1277 | ifdef CONFIG_DRIVER_TEST | |
928a50a3 | 1278 | OBJS_priv += $(SHA1OBJS) |
ad01a531 | 1279 | OBJS_priv += $(MD5OBJS) |
6fc6879b JM |
1280 | ifeq ($(CONFIG_TLS), openssl) |
1281 | OBJS_priv += ../src/crypto/crypto_openssl.o | |
1282 | endif | |
1283 | ifeq ($(CONFIG_TLS), gnutls) | |
1284 | OBJS_priv += ../src/crypto/crypto_gnutls.o | |
1285 | endif | |
289ffc2b JM |
1286 | ifeq ($(CONFIG_TLS), nss) |
1287 | OBJS_priv += ../src/crypto/crypto_nss.o | |
1288 | endif | |
6fc6879b JM |
1289 | ifeq ($(CONFIG_TLS), internal) |
1290 | ifeq ($(CONFIG_CRYPTO), libtomcrypt) | |
1291 | OBJS_priv += ../src/crypto/crypto_libtomcrypt.o | |
1292 | else | |
1293 | OBJS_priv += ../src/crypto/crypto_internal.o | |
1294 | endif | |
1295 | endif | |
1296 | endif # CONFIG_DRIVER_TEST | |
1297 | OBJS += ../src/l2_packet/l2_packet_privsep.o | |
1298 | OBJS += ../src/drivers/driver_privsep.o | |
1299 | EXTRA_progs += wpa_priv | |
1300 | else | |
1301 | OBJS += $(OBJS_d) ../src/drivers/drivers.o | |
1302 | OBJS += $(OBJS_l2) | |
1303 | endif | |
1304 | ||
1305 | ifdef CONFIG_NDIS_EVENTS_INTEGRATED | |
1306 | CFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED | |
1307 | OBJS += ../src/drivers/ndis_events.o | |
1308 | EXTRALIBS += -loleaut32 -lole32 -luuid | |
1309 | ifdef PLATFORMSDKLIB | |
1310 | EXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib | |
1311 | else | |
1312 | EXTRALIBS += WbemUuid.Lib | |
1313 | endif | |
1314 | endif | |
1315 | ||
1316 | ifndef LDO | |
1317 | LDO=$(CC) | |
1318 | endif | |
1319 | ||
1320 | dynamic_eap_methods: $(EAPDYN) | |
1321 | ||
ba30964b | 1322 | ../src/drivers/build.wpa_supplicant: |
5008cb5e | 1323 | @if [ -f ../src/drivers/build.hostapd ]; then \ |
ba30964b JM |
1324 | $(MAKE) -C ../src/drivers clean; \ |
1325 | fi | |
1326 | @touch ../src/drivers/build.wpa_supplicant | |
1327 | ||
1328 | BCHECK=../src/drivers/build.wpa_supplicant | |
1329 | ||
1330 | wpa_priv: $(BCHECK) $(OBJS_priv) | |
6fc6879b JM |
1331 | $(LDO) $(LDFLAGS) -o wpa_priv $(OBJS_priv) $(LIBS) |
1332 | ||
ba30964b | 1333 | wpa_supplicant: .config $(BCHECK) $(OBJS) $(EXTRA_progs) |
6fc6879b JM |
1334 | $(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS) |
1335 | ||
1336 | eapol_test: .config $(OBJS_t) | |
1337 | $(LDO) $(LDFLAGS) -o eapol_test $(OBJS_t) $(LIBS) | |
1338 | ||
1339 | preauth_test: .config $(OBJS_t2) | |
1340 | $(LDO) $(LDFLAGS) -o preauth_test $(OBJS_t2) $(LIBS) | |
1341 | ||
1342 | wpa_passphrase: $(OBJS_p) | |
1343 | $(LDO) $(LDFLAGS) -o wpa_passphrase $(OBJS_p) $(LIBS_p) | |
1344 | ||
1345 | wpa_cli: $(OBJS_c) | |
1346 | $(LDO) $(LDFLAGS) -o wpa_cli $(OBJS_c) $(LIBS_c) | |
1347 | ||
1348 | link_test: $(OBJS) $(OBJS_h) tests/link_test.o | |
1349 | $(LDO) $(LDFLAGS) -o link_test $(OBJS) $(OBJS_h) tests/link_test.o $(LIBS) | |
1350 | ||
1351 | test_wpa: $(OBJS_wpa) $(OBJS_h) | |
1352 | $(LDO) $(LDFLAGS) -o test_wpa $(OBJS_wpa) $(LIBS) | |
1353 | ||
6fc6879b JM |
1354 | win_if_list: win_if_list.c |
1355 | $(LDO) $(LDFLAGS) -o $@ win_if_list.c $(CFLAGS) $(LIBS_w) | |
1356 | ||
1357 | eap_psk.so: ../src/eap_peer/eap_psk.c ../src/eap_common/eap_psk_common.c | |
466940c5 | 1358 | $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ |
6fc6879b JM |
1359 | -Deap_peer_psk_register=eap_peer_method_dynamic_init |
1360 | ||
1361 | eap_pax.so: ../src/eap_peer/eap_pax.c ../src/eap_common/eap_pax_common.c | |
466940c5 | 1362 | $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ |
6fc6879b JM |
1363 | -Deap_peer_pax_register=eap_peer_method_dynamic_init |
1364 | ||
1365 | eap_sake.so: ../src/eap_peer/eap_sake.c ../src/eap_common/eap_sake_common.c | |
466940c5 | 1366 | $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ |
6fc6879b JM |
1367 | -Deap_peer_sake_register=eap_peer_method_dynamic_init |
1368 | ||
ad08c363 | 1369 | eap_wsc.so: ../src/eap_peer/eap_wsc.c ../src/eap_common/eap_wsc_common.c ../src/wps/wps.c |
466940c5 | 1370 | $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ |
ad08c363 JM |
1371 | -Deap_peer_wsc_register=eap_peer_method_dynamic_init |
1372 | ||
6fc6879b | 1373 | eap_ikev2.so: ../src/eap_peer/eap_ikev2.c ../src/eap_peer/ikev2.c ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.c |
466940c5 | 1374 | $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ |
6fc6879b JM |
1375 | -Deap_peer_ikev2_register=eap_peer_method_dynamic_init |
1376 | ||
1377 | %.so: %.c | |
466940c5 | 1378 | $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \ |
4c2660c2 | 1379 | -D$(*F:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init |
6fc6879b | 1380 | |
b2840aaf JB |
1381 | Q=@ |
1382 | E=echo | |
1383 | ifeq ($(V), 1) | |
1384 | Q= | |
1385 | E=true | |
1386 | endif | |
1387 | ||
1388 | %.o: %.c | |
1389 | $(Q)$(CC) -c -o $@ $(CFLAGS) $< | |
1390 | @$(E) " CC " $< | |
6fc6879b JM |
1391 | |
1392 | wpa_supplicant.exe: wpa_supplicant | |
1393 | mv -f $< $@ | |
1394 | wpa_cli.exe: wpa_cli | |
1395 | mv -f $< $@ | |
1396 | wpa_passphrase.exe: wpa_passphrase | |
1397 | mv -f $< $@ | |
1398 | win_if_list.exe: win_if_list | |
1399 | mv -f $< $@ | |
1400 | eapol_test.exe: eapol_test | |
1401 | mv -f $< $@ | |
1402 | ||
1403 | WINALL=wpa_supplicant.exe wpa_cli.exe wpa_passphrase.exe win_if_list.exe | |
1404 | ||
1405 | windows-bin: $(WINALL) | |
1406 | $(STRIP) $(WINALL) | |
1407 | ||
1408 | wpa_gui/Makefile: | |
1409 | qmake -o wpa_gui/Makefile wpa_gui/wpa_gui.pro | |
1410 | ||
1411 | wpa_gui: wpa_gui/Makefile | |
1412 | $(MAKE) -C wpa_gui | |
1413 | ||
1414 | wpa_gui-qt4/Makefile: | |
1415 | qmake -o wpa_gui-qt4/Makefile wpa_gui-qt4/wpa_gui.pro | |
1416 | ||
0b86f67a JM |
1417 | wpa_gui-qt4/lang/wpa_gui_de.qm: wpa_gui-qt4/lang/wpa_gui_de.ts |
1418 | lrelease wpa_gui-qt4/wpa_gui.pro | |
1419 | ||
1420 | wpa_gui-qt4: wpa_gui-qt4/Makefile wpa_gui-qt4/lang/wpa_gui_de.qm | |
6fc6879b JM |
1421 | $(MAKE) -C wpa_gui-qt4 |
1422 | ||
ad01a531 | 1423 | TEST_EAP_SIM_COMMON_OBJS = $(SHA1OBJS) $(MD5OBJS) \ |
246157cb JB |
1424 | ../src/utils/common.o ../src/utils/os_unix.o \ |
1425 | ../src/utils/wpa_debug.o $(AESOBJS) \ | |
6fc6879b JM |
1426 | tests/test_eap_sim_common.o |
1427 | test-eap_sim_common: $(TEST_EAP_SIM_COMMON_OBJS) | |
03da66bd | 1428 | $(LDO) $(LDFLAGS) -o $@ $(TEST_EAP_SIM_COMMON_OBJS) $(LIBS) |
6fc6879b JM |
1429 | ./test-eap_sim_common |
1430 | rm test-eap_sim_common | |
1431 | ||
f8cf3ce6 | 1432 | tests: test-eap_sim_common |
6fc6879b JM |
1433 | |
1434 | clean: | |
1435 | $(MAKE) -C ../src clean | |
eb3b34ce | 1436 | $(MAKE) -C dbus clean |
8055fb78 | 1437 | rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL) eapol_test preauth_test |
385f16c6 | 1438 | rm -f wpa_priv |
6fc6879b | 1439 | |
6fc6879b | 1440 | -include $(OBJS:%.o=%.d) |