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