]> git.ipfire.org Git - thirdparty/hostap.git/blob - wpa_supplicant/Makefile
Add RoboSwitch driver interface for wpa_supplicant
[thirdparty/hostap.git] / wpa_supplicant / Makefile
1 ifndef CC
2 CC=gcc
3 endif
4
5 ifndef CFLAGS
6 CFLAGS = -MMD -O2 -Wall -g
7 endif
8
9 CFLAGS += -I../src
10 CFLAGS += -I../src/crypto
11 CFLAGS += -I../src/utils
12 CFLAGS += -I../src/common
13 CFLAGS += -I../src/rsn_supp
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:
29 @if [ -e .config ]; then \
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
35 echo CONFIG_WIRELESS_EXTENSION=y >> .config
36
37 install: all
38 mkdir -p $(DESTDIR)/usr/local/sbin/
39 for i in $(ALL); do cp $$i $(DESTDIR)/usr/local/sbin/$$i; done
40
41 OBJS = config.o
42 OBJS += ../src/utils/common.o
43 OBJS += ../src/utils/wpa_debug.o
44 OBJS += ../src/utils/wpabuf.o
45 OBJS += ../src/crypto/md5.o
46 OBJS += ../src/crypto/rc4.o
47 OBJS += ../src/crypto/md4.o
48 OBJS += ../src/crypto/sha1.o
49 OBJS += ../src/crypto/des.o
50 OBJS_p = wpa_passphrase.o
51 OBJS_p += ../src/utils/common.o
52 OBJS_p += ../src/utils/wpa_debug.o
53 OBJS_p += ../src/crypto/md5.o
54 OBJS_p += ../src/crypto/md4.o
55 OBJS_p += ../src/crypto/sha1.o
56 OBJS_p += ../src/crypto/des.o
57 OBJS_c = wpa_cli.o ../src/common/wpa_ctrl.o
58
59 -include .config
60
61 ifndef CONFIG_OS
62 ifdef CONFIG_NATIVE_WINDOWS
63 CONFIG_OS=win32
64 else
65 CONFIG_OS=unix
66 endif
67 endif
68
69 ifeq ($(CONFIG_OS), internal)
70 CFLAGS += -DOS_NO_C_LIB_DEFINES
71 endif
72
73 OBJS += ../src/utils/os_$(CONFIG_OS).o
74 OBJS_p += ../src/utils/os_$(CONFIG_OS).o
75 OBJS_c += ../src/utils/os_$(CONFIG_OS).o
76
77 ifndef CONFIG_ELOOP
78 CONFIG_ELOOP=eloop
79 endif
80 OBJS += ../src/utils/$(CONFIG_ELOOP).o
81
82
83 ifdef CONFIG_EAPOL_TEST
84 CFLAGS += -Werror -DEAPOL_TEST
85 endif
86
87 ifndef CONFIG_BACKEND
88 CONFIG_BACKEND=file
89 endif
90
91 ifeq ($(CONFIG_BACKEND), file)
92 OBJS += config_file.o
93 ifndef CONFIG_NO_CONFIG_BLOBS
94 NEED_BASE64=y
95 endif
96 CFLAGS += -DCONFIG_BACKEND_FILE
97 endif
98
99 ifeq ($(CONFIG_BACKEND), winreg)
100 OBJS += config_winreg.o
101 endif
102
103 ifeq ($(CONFIG_BACKEND), none)
104 OBJS += config_none.o
105 endif
106
107 ifdef CONFIG_NO_CONFIG_WRITE
108 CFLAGS += -DCONFIG_NO_CONFIG_WRITE
109 endif
110
111 ifdef CONFIG_NO_CONFIG_BLOBS
112 CFLAGS += -DCONFIG_NO_CONFIG_BLOBS
113 endif
114
115 ifdef CONFIG_NO_SCAN_PROCESSING
116 CFLAGS += -DCONFIG_NO_SCAN_PROCESSING
117 endif
118
119 ifdef CONFIG_DRIVER_HOSTAP
120 CFLAGS += -DCONFIG_DRIVER_HOSTAP
121 OBJS_d += ../src/drivers/driver_hostap.o
122 CONFIG_WIRELESS_EXTENSION=y
123 endif
124
125 ifdef CONFIG_DRIVER_WEXT
126 CFLAGS += -DCONFIG_DRIVER_WEXT
127 CONFIG_WIRELESS_EXTENSION=y
128 endif
129
130 ifdef CONFIG_DRIVER_NL80211
131 CFLAGS += -DCONFIG_DRIVER_NL80211
132 OBJS_d += ../src/drivers/driver_nl80211.o
133 LIBS += -lnl
134 ifdef CONFIG_CLIENT_MLME
135 OBJS_d += ../src/drivers/radiotap.o
136 endif
137 endif
138
139 ifdef CONFIG_DRIVER_PRISM54
140 CFLAGS += -DCONFIG_DRIVER_PRISM54
141 OBJS_d += ../src/drivers/driver_prism54.o
142 CONFIG_WIRELESS_EXTENSION=y
143 endif
144
145 ifdef CONFIG_DRIVER_HERMES
146 CFLAGS += -DCONFIG_DRIVER_HERMES
147 OBJS_d += ../src/drivers/driver_hermes.o
148 CONFIG_WIRELESS_EXTENSION=y
149 endif
150
151 ifdef CONFIG_DRIVER_MADWIFI
152 CFLAGS += -DCONFIG_DRIVER_MADWIFI
153 OBJS_d += ../src/drivers/driver_madwifi.o
154 CONFIG_WIRELESS_EXTENSION=y
155 endif
156
157 ifdef CONFIG_DRIVER_ATMEL
158 CFLAGS += -DCONFIG_DRIVER_ATMEL
159 OBJS_d += ../src/drivers/driver_atmel.o
160 CONFIG_WIRELESS_EXTENSION=y
161 endif
162
163 ifdef CONFIG_DRIVER_NDISWRAPPER
164 CFLAGS += -DCONFIG_DRIVER_NDISWRAPPER
165 OBJS_d += ../src/drivers/driver_ndiswrapper.o
166 CONFIG_WIRELESS_EXTENSION=y
167 endif
168
169 ifdef CONFIG_DRIVER_RALINK
170 CFLAGS += -DCONFIG_DRIVER_RALINK
171 OBJS_d += ../src/drivers/driver_ralink.o
172 endif
173
174 ifdef CONFIG_DRIVER_BROADCOM
175 CFLAGS += -DCONFIG_DRIVER_BROADCOM
176 OBJS_d += ../src/drivers/driver_broadcom.o
177 endif
178
179 ifdef CONFIG_DRIVER_IPW
180 CFLAGS += -DCONFIG_DRIVER_IPW
181 OBJS_d += ../src/drivers/driver_ipw.o
182 CONFIG_WIRELESS_EXTENSION=y
183 endif
184
185 ifdef CONFIG_DRIVER_BSD
186 CFLAGS += -DCONFIG_DRIVER_BSD
187 OBJS_d += ../src/drivers/driver_bsd.o
188 ifndef CONFIG_L2_PACKET
189 CONFIG_L2_PACKET=freebsd
190 endif
191 endif
192
193 ifdef CONFIG_DRIVER_NDIS
194 CFLAGS += -DCONFIG_DRIVER_NDIS
195 OBJS_d += ../src/drivers/driver_ndis.o
196 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
197 OBJS_d += ../src/drivers/driver_ndis_.o
198 endif
199 ifndef CONFIG_L2_PACKET
200 CONFIG_L2_PACKET=pcap
201 endif
202 CONFIG_WINPCAP=y
203 ifdef CONFIG_USE_NDISUIO
204 CFLAGS += -DCONFIG_USE_NDISUIO
205 endif
206 endif
207
208 ifdef CONFIG_DRIVER_WIRED
209 CFLAGS += -DCONFIG_DRIVER_WIRED
210 OBJS_d += ../src/drivers/driver_wired.o
211 endif
212
213 ifdef CONFIG_DRIVER_TEST
214 CFLAGS += -DCONFIG_DRIVER_TEST
215 OBJS_d += ../src/drivers/driver_test.o
216 endif
217
218 ifdef CONFIG_DRIVER_OSX
219 CFLAGS += -DCONFIG_DRIVER_OSX
220 OBJS_d += ../src/drivers/driver_osx.o
221 LDFLAGS += -framework CoreFoundation
222 LDFLAGS += -F/System/Library/PrivateFrameworks -framework Apple80211
223 endif
224
225 ifdef CONFIG_DRIVER_PS3
226 CFLAGS += -DCONFIG_DRIVER_PS3 -m64
227 OBJS_d += ../src/drivers/driver_ps3.o
228 LDFLAGS += -m64
229 endif
230
231 ifdef CONFIG_DRIVER_IPHONE
232 CFLAGS += -DCONFIG_DRIVER_IPHONE
233 OBJS_d += ../src/drivers/driver_iphone.o
234 OBJS_d += ../src/drivers/MobileApple80211.o
235 LIBS += -framework CoreFoundation
236 endif
237
238 ifdef CONFIG_DRIVER_ROBOSWITCH
239 CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
240 OBJS_d += ../src/drivers/driver_roboswitch.o
241 endif
242
243 ifndef CONFIG_L2_PACKET
244 CONFIG_L2_PACKET=linux
245 endif
246
247 OBJS_l2 += ../src/l2_packet/l2_packet_$(CONFIG_L2_PACKET).o
248
249 ifeq ($(CONFIG_L2_PACKET), pcap)
250 ifdef CONFIG_WINPCAP
251 CFLAGS += -DCONFIG_WINPCAP
252 LIBS += -lwpcap -lpacket
253 LIBS_w += -lwpcap
254 else
255 LIBS += -ldnet -lpcap
256 endif
257 endif
258
259 ifeq ($(CONFIG_L2_PACKET), winpcap)
260 LIBS += -lwpcap -lpacket
261 LIBS_w += -lwpcap
262 endif
263
264 ifeq ($(CONFIG_L2_PACKET), freebsd)
265 LIBS += -lpcap
266 endif
267
268 ifdef CONFIG_EAP_TLS
269 # EAP-TLS
270 ifeq ($(CONFIG_EAP_TLS), dyn)
271 CFLAGS += -DEAP_TLS_DYNAMIC
272 EAPDYN += ../src/eap_peer/eap_tls.so
273 else
274 CFLAGS += -DEAP_TLS
275 OBJS += ../src/eap_peer/eap_tls.o
276 OBJS_h += ../src/eap_server/eap_tls.o
277 endif
278 TLS_FUNCS=y
279 CONFIG_IEEE8021X_EAPOL=y
280 endif
281
282 ifdef CONFIG_EAP_PEAP
283 # EAP-PEAP
284 ifeq ($(CONFIG_EAP_PEAP), dyn)
285 CFLAGS += -DEAP_PEAP_DYNAMIC
286 EAPDYN += ../src/eap_peer/eap_peap.so
287 else
288 CFLAGS += -DEAP_PEAP
289 OBJS += ../src/eap_peer/eap_peap.o
290 OBJS += ../src/eap_common/eap_peap_common.o
291 OBJS_h += ../src/eap_server/eap_peap.o
292 endif
293 TLS_FUNCS=y
294 CONFIG_IEEE8021X_EAPOL=y
295 endif
296
297 ifdef CONFIG_EAP_TTLS
298 # EAP-TTLS
299 ifeq ($(CONFIG_EAP_TTLS), dyn)
300 CFLAGS += -DEAP_TTLS_DYNAMIC
301 EAPDYN += ../src/eap_peer/eap_ttls.so
302 else
303 CFLAGS += -DEAP_TTLS
304 OBJS += ../src/eap_peer/eap_ttls.o
305 OBJS_h += ../src/eap_server/eap_ttls.o
306 endif
307 MS_FUNCS=y
308 TLS_FUNCS=y
309 CHAP=y
310 CONFIG_IEEE8021X_EAPOL=y
311 endif
312
313 ifdef CONFIG_EAP_MD5
314 # EAP-MD5
315 ifeq ($(CONFIG_EAP_MD5), dyn)
316 CFLAGS += -DEAP_MD5_DYNAMIC
317 EAPDYN += ../src/eap_peer/eap_md5.so
318 else
319 CFLAGS += -DEAP_MD5
320 OBJS += ../src/eap_peer/eap_md5.o
321 OBJS_h += ../src/eap_server/eap_md5.o
322 endif
323 CHAP=y
324 CONFIG_IEEE8021X_EAPOL=y
325 endif
326
327 # backwards compatibility for old spelling
328 ifdef CONFIG_MSCHAPV2
329 ifndef CONFIG_EAP_MSCHAPV2
330 CONFIG_EAP_MSCHAPV2=y
331 endif
332 endif
333
334 ifdef CONFIG_EAP_MSCHAPV2
335 # EAP-MSCHAPv2
336 ifeq ($(CONFIG_EAP_MSCHAPV2), dyn)
337 CFLAGS += -DEAP_MSCHAPv2_DYNAMIC
338 EAPDYN += ../src/eap_peer/eap_mschapv2.so
339 EAPDYN += ../src/eap_peer/mschapv2.so
340 else
341 CFLAGS += -DEAP_MSCHAPv2
342 OBJS += ../src/eap_peer/eap_mschapv2.o
343 OBJS += ../src/eap_peer/mschapv2.o
344 OBJS_h += ../src/eap_server/eap_mschapv2.o
345 endif
346 MS_FUNCS=y
347 CONFIG_IEEE8021X_EAPOL=y
348 endif
349
350 ifdef CONFIG_EAP_GTC
351 # EAP-GTC
352 ifeq ($(CONFIG_EAP_GTC), dyn)
353 CFLAGS += -DEAP_GTC_DYNAMIC
354 EAPDYN += ../src/eap_peer/eap_gtc.so
355 else
356 CFLAGS += -DEAP_GTC
357 OBJS += ../src/eap_peer/eap_gtc.o
358 OBJS_h += ../src/eap_server/eap_gtc.o
359 endif
360 CONFIG_IEEE8021X_EAPOL=y
361 endif
362
363 ifdef CONFIG_EAP_OTP
364 # EAP-OTP
365 ifeq ($(CONFIG_EAP_OTP), dyn)
366 CFLAGS += -DEAP_OTP_DYNAMIC
367 EAPDYN += ../src/eap_peer/eap_otp.so
368 else
369 CFLAGS += -DEAP_OTP
370 OBJS += ../src/eap_peer/eap_otp.o
371 endif
372 CONFIG_IEEE8021X_EAPOL=y
373 endif
374
375 ifdef CONFIG_EAP_SIM
376 # EAP-SIM
377 ifeq ($(CONFIG_EAP_SIM), dyn)
378 CFLAGS += -DEAP_SIM_DYNAMIC
379 EAPDYN += ../src/eap_peer/eap_sim.so
380 else
381 CFLAGS += -DEAP_SIM
382 OBJS += ../src/eap_peer/eap_sim.o
383 OBJS_h += ../src/eap_server/eap_sim.o
384 endif
385 CONFIG_IEEE8021X_EAPOL=y
386 CONFIG_EAP_SIM_COMMON=y
387 endif
388
389 ifdef CONFIG_EAP_LEAP
390 # EAP-LEAP
391 ifeq ($(CONFIG_EAP_LEAP), dyn)
392 CFLAGS += -DEAP_LEAP_DYNAMIC
393 EAPDYN += ../src/eap_peer/eap_leap.so
394 else
395 CFLAGS += -DEAP_LEAP
396 OBJS += ../src/eap_peer/eap_leap.o
397 endif
398 MS_FUNCS=y
399 CONFIG_IEEE8021X_EAPOL=y
400 endif
401
402 ifdef CONFIG_EAP_PSK
403 # EAP-PSK
404 ifeq ($(CONFIG_EAP_PSK), dyn)
405 CFLAGS += -DEAP_PSK_DYNAMIC
406 EAPDYN += ../src/eap_peer/eap_psk.so
407 else
408 CFLAGS += -DEAP_PSK
409 OBJS += ../src/eap_peer/eap_psk.o ../src/eap_common/eap_psk_common.o
410 OBJS_h += ../src/eap_server/eap_psk.o
411 endif
412 CONFIG_IEEE8021X_EAPOL=y
413 NEED_AES=y
414 endif
415
416 ifdef CONFIG_EAP_AKA
417 # EAP-AKA
418 ifeq ($(CONFIG_EAP_AKA), dyn)
419 CFLAGS += -DEAP_AKA_DYNAMIC
420 EAPDYN += ../src/eap_peer/eap_aka.so
421 else
422 CFLAGS += -DEAP_AKA
423 OBJS += ../src/eap_peer/eap_aka.o
424 OBJS_h += ../src/eap_server/eap_aka.o
425 endif
426 CONFIG_IEEE8021X_EAPOL=y
427 CONFIG_EAP_SIM_COMMON=y
428 endif
429
430 ifdef CONFIG_EAP_SIM_COMMON
431 OBJS += ../src/eap_common/eap_sim_common.o
432 OBJS_h += ../src/eap_server/eap_sim_db.o
433 NEED_AES=y
434 NEED_FIPS186_2_PRF=y
435 endif
436
437 ifdef CONFIG_EAP_FAST
438 # EAP-FAST
439 ifeq ($(CONFIG_EAP_FAST), dyn)
440 CFLAGS += -DEAP_FAST_DYNAMIC
441 EAPDYN += ../src/eap_peer/eap_fast.so
442 EAPDYN += ../src/eap_common/eap_fast_common.o
443 else
444 CFLAGS += -DEAP_FAST
445 OBJS += ../src/eap_peer/eap_fast.o ../src/eap_peer/eap_fast_pac.o
446 OBJS += ../src/eap_common/eap_fast_common.o
447 OBJS_h += ../src/eap_server/eap_fast.o
448 endif
449 TLS_FUNCS=y
450 NEED_T_PRF=y
451 endif
452
453 ifdef CONFIG_EAP_PAX
454 # EAP-PAX
455 ifeq ($(CONFIG_EAP_PAX), dyn)
456 CFLAGS += -DEAP_PAX_DYNAMIC
457 EAPDYN += ../src/eap_peer/eap_pax.so
458 else
459 CFLAGS += -DEAP_PAX
460 OBJS += ../src/eap_peer/eap_pax.o ../src/eap_common/eap_pax_common.o
461 OBJS_h += ../src/eap_server/eap_pax.o
462 endif
463 CONFIG_IEEE8021X_EAPOL=y
464 endif
465
466 ifdef CONFIG_EAP_SAKE
467 # EAP-SAKE
468 ifeq ($(CONFIG_EAP_SAKE), dyn)
469 CFLAGS += -DEAP_SAKE_DYNAMIC
470 EAPDYN += ../src/eap_peer/eap_sake.so
471 else
472 CFLAGS += -DEAP_SAKE
473 OBJS += ../src/eap_peer/eap_sake.o ../src/eap_common/eap_sake_common.o
474 OBJS_h += ../src/eap_server/eap_sake.o
475 endif
476 CONFIG_IEEE8021X_EAPOL=y
477 endif
478
479 ifdef CONFIG_EAP_GPSK
480 # EAP-GPSK
481 ifeq ($(CONFIG_EAP_GPSK), dyn)
482 CFLAGS += -DEAP_GPSK_DYNAMIC
483 EAPDYN += ../src/eap_peer/eap_gpsk.so
484 else
485 CFLAGS += -DEAP_GPSK
486 OBJS += ../src/eap_peer/eap_gpsk.o ../src/eap_common/eap_gpsk_common.o
487 OBJS_h += ../src/eap_server/eap_gpsk.o
488 endif
489 CONFIG_IEEE8021X_EAPOL=y
490 ifdef CONFIG_EAP_GPSK_SHA256
491 CFLAGS += -DEAP_GPSK_SHA256
492 endif
493 NEED_SHA256=y
494 endif
495
496 ifdef CONFIG_EAP_IKEV2
497 # EAP-IKEv2
498 ifeq ($(CONFIG_EAP_IKEV2), dyn)
499 CFLAGS += -DEAP_IKEV2_DYNAMIC
500 EAPDYN += ../src/eap_peer/eap_ikev2.so ../src/eap_peer/ikev2.o
501 EAPDYN += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o
502 else
503 CFLAGS += -DEAP_IKEV2
504 OBJS += ../src/eap_peer/eap_ikev2.o ../src/eap_peer/ikev2.o
505 OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o
506 OBJS_h += ../src/eap_server/eap_ikev2.o
507 OBJS_h += ../src/eap_server/ikev2.o
508 endif
509 CONFIG_IEEE8021X_EAPOL=y
510 NEED_DH_GROUPS=y
511 endif
512
513 ifdef CONFIG_EAP_VENDOR_TEST
514 ifeq ($(CONFIG_EAP_VENDOR_TEST), dyn)
515 CFLAGS += -DEAP_VENDOR_TEST_DYNAMIC
516 EAPDYN += ../src/eap_peer/eap_vendor_test.so
517 else
518 CFLAGS += -DEAP_VENDOR_TEST
519 OBJS += ../src/eap_peer/eap_vendor_test.o
520 OBJS_h += ../src/eap_server/eap_vendor_test.o
521 endif
522 CONFIG_IEEE8021X_EAPOL=y
523 endif
524
525 ifdef CONFIG_EAP_TNC
526 # EAP-TNC
527 CFLAGS += -DEAP_TNC
528 OBJS += ../src/eap_peer/eap_tnc.o
529 OBJS += ../src/eap_peer/tncc.o
530 NEED_BASE64=y
531 endif
532
533 ifdef CONFIG_IEEE8021X_EAPOL
534 # IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
535 CFLAGS += -DIEEE8021X_EAPOL
536 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
537 ifdef CONFIG_DYNAMIC_EAP_METHODS
538 CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS
539 LIBS += -ldl -rdynamic
540 endif
541 endif
542
543 ifdef CONFIG_EAP_SERVER
544 CFLAGS += -DEAP_SERVER
545 OBJS_h += ../src/eap_server/eap.o
546 OBJS_h += ../src/eap_server/eap_identity.o
547 OBJS_h += ../src/eap_server/eap_methods.o
548 endif
549
550 ifdef CONFIG_RADIUS_CLIENT
551 OBJS_h += ../src/utils/ip_addr.o
552 OBJS_h += ../src/radius/radius.o
553 OBJS_h += ../src/radius/radius_client.o
554 endif
555
556 ifdef CONFIG_AUTHENTICATOR
557 OBJS_h += ../hostapd/eapol_sm.o
558 OBJS_h += ../hostapd/ieee802_1x.o
559 endif
560
561 ifdef CONFIG_WPA_AUTHENTICATOR
562 OBJS_h += ../hostapd/wpa.o
563 OBJS_h += ../hostapd/wpa_auth_ie.o
564 ifdef CONFIG_IEEE80211R
565 OBJS_h += ../hostapd/wpa_ft.o
566 endif
567 ifdef CONFIG_PEERKEY
568 OBJS_h += ../hostapd/peerkey.o
569 endif
570 endif
571
572 ifdef CONFIG_PCSC
573 # PC/SC interface for smartcards (USIM, GSM SIM)
574 CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC
575 OBJS += ../src/utils/pcsc_funcs.o
576 # -lpthread may not be needed depending on how pcsc-lite was configured
577 ifdef CONFIG_NATIVE_WINDOWS
578 #Once MinGW gets support for WinScard, -lwinscard could be used instead of the
579 #dynamic symbol loading that is now used in pcsc_funcs.c
580 #LIBS += -lwinscard
581 else
582 LIBS += -lpcsclite -lpthread
583 endif
584 endif
585
586 ifdef CONFIG_SIM_SIMULATOR
587 CFLAGS += -DCONFIG_SIM_SIMULATOR
588 NEED_MILENAGE=y
589 endif
590
591 ifdef CONFIG_USIM_SIMULATOR
592 CFLAGS += -DCONFIG_USIM_SIMULATOR
593 NEED_MILENAGE=y
594 endif
595
596 ifdef NEED_MILENAGE
597 OBJS += ../src/hlr_auc_gw/milenage.o
598 endif
599
600 ifndef CONFIG_TLS
601 CONFIG_TLS=openssl
602 endif
603
604 ifeq ($(CONFIG_TLS), internal)
605 ifndef CONFIG_CRYPTO
606 CONFIG_CRYPTO=internal
607 endif
608 endif
609 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
610 CFLAGS += -DCONFIG_INTERNAL_X509
611 endif
612 ifeq ($(CONFIG_CRYPTO), internal)
613 CFLAGS += -DCONFIG_INTERNAL_X509
614 endif
615
616
617 ifdef TLS_FUNCS
618 # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
619 CFLAGS += -DEAP_TLS_FUNCS
620 OBJS += ../src/eap_peer/eap_tls_common.o
621 OBJS_h += ../src/eap_server/eap_tls_common.o
622 NEED_TLS_PRF=y
623 ifeq ($(CONFIG_TLS), openssl)
624 CFLAGS += -DEAP_TLS_OPENSSL
625 OBJS += ../src/crypto/tls_openssl.o
626 LIBS += -lssl -lcrypto
627 LIBS_p += -lcrypto
628 endif
629 ifeq ($(CONFIG_TLS), gnutls)
630 OBJS += ../src/crypto/tls_gnutls.o
631 LIBS += -lgnutls -lgcrypt -lgpg-error
632 LIBS_p += -lgcrypt
633 ifdef CONFIG_GNUTLS_EXTRA
634 CFLAGS += -DCONFIG_GNUTLS_EXTRA
635 LIBS += -lgnutls-extra
636 endif
637 endif
638 ifeq ($(CONFIG_TLS), schannel)
639 OBJS += ../src/crypto/tls_schannel.o
640 endif
641 ifeq ($(CONFIG_TLS), internal)
642 OBJS += ../src/crypto/tls_internal.o
643 OBJS += ../src/tls/tlsv1_common.o ../src/tls/tlsv1_record.o
644 OBJS += ../src/tls/tlsv1_cred.o ../src/tls/tlsv1_client.o
645 OBJS += ../src/tls/tlsv1_client_write.o ../src/tls/tlsv1_client_read.o
646 OBJS += ../src/tls/asn1.o ../src/tls/x509v3.o
647 OBJS_p += ../src/tls/asn1.o
648 OBJS_p += ../src/crypto/rc4.o ../src/crypto/aes_wrap.o ../src/crypto/aes.o
649 NEED_BASE64=y
650 NEED_TLS_PRF=y
651 CFLAGS += -DCONFIG_TLS_INTERNAL
652 CFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT
653 ifeq ($(CONFIG_CRYPTO), internal)
654 ifdef CONFIG_INTERNAL_LIBTOMMATH
655 CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
656 ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
657 CFLAGS += -DLTM_FAST
658 endif
659 else
660 LIBS += -ltommath
661 LIBS_p += -ltommath
662 endif
663 endif
664 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
665 LIBS += -ltomcrypt -ltfm
666 LIBS_p += -ltomcrypt -ltfm
667 endif
668 endif
669 ifeq ($(CONFIG_TLS), none)
670 OBJS += ../src/crypto/tls_none.o
671 CFLAGS += -DEAP_TLS_NONE
672 CONFIG_INTERNAL_AES=y
673 CONFIG_INTERNAL_SHA1=y
674 CONFIG_INTERNAL_MD5=y
675 CONFIG_INTERNAL_SHA256=y
676 endif
677 ifdef CONFIG_SMARTCARD
678 ifndef CONFIG_NATIVE_WINDOWS
679 ifneq ($(CONFIG_L2_PACKET), freebsd)
680 LIBS += -ldl
681 endif
682 endif
683 endif
684 NEED_CRYPTO=y
685 else
686 OBJS += ../src/crypto/tls_none.o
687 endif
688
689 ifdef CONFIG_PKCS12
690 CFLAGS += -DPKCS12_FUNCS
691 endif
692
693 ifdef CONFIG_SMARTCARD
694 CFLAGS += -DCONFIG_SMARTCARD
695 endif
696
697 ifdef MS_FUNCS
698 OBJS += ../src/crypto/ms_funcs.o
699 NEED_CRYPTO=y
700 endif
701
702 ifdef CHAP
703 OBJS += ../src/eap_common/chap.o
704 endif
705
706 ifdef NEED_CRYPTO
707 ifndef TLS_FUNCS
708 ifeq ($(CONFIG_TLS), openssl)
709 LIBS += -lcrypto
710 LIBS_p += -lcrypto
711 endif
712 ifeq ($(CONFIG_TLS), gnutls)
713 LIBS += -lgcrypt
714 LIBS_p += -lgcrypt
715 endif
716 ifeq ($(CONFIG_TLS), schannel)
717 endif
718 ifeq ($(CONFIG_TLS), internal)
719 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
720 LIBS += -ltomcrypt -ltfm
721 LIBS_p += -ltomcrypt -ltfm
722 endif
723 endif
724 endif
725 ifeq ($(CONFIG_TLS), openssl)
726 OBJS += ../src/crypto/crypto_openssl.o
727 OBJS_p += ../src/crypto/crypto_openssl.o
728 CONFIG_INTERNAL_SHA256=y
729 endif
730 ifeq ($(CONFIG_TLS), gnutls)
731 OBJS += ../src/crypto/crypto_gnutls.o
732 OBJS_p += ../src/crypto/crypto_gnutls.o
733 CONFIG_INTERNAL_SHA256=y
734 endif
735 ifeq ($(CONFIG_TLS), schannel)
736 OBJS += ../src/crypto/crypto_cryptoapi.o
737 OBJS_p += ../src/crypto/crypto_cryptoapi.o
738 CONFIG_INTERNAL_SHA256=y
739 endif
740 ifeq ($(CONFIG_TLS), internal)
741 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
742 OBJS += ../src/crypto/crypto_libtomcrypt.o
743 OBJS_p += ../src/crypto/crypto_libtomcrypt.o
744 CONFIG_INTERNAL_SHA256=y
745 endif
746 ifeq ($(CONFIG_CRYPTO), internal)
747 OBJS += ../src/crypto/crypto_internal.o ../src/tls/rsa.o ../src/tls/bignum.o
748 OBJS_p += ../src/crypto/crypto_internal.o ../src/tls/rsa.o ../src/tls/bignum.o
749 CFLAGS += -DCONFIG_CRYPTO_INTERNAL
750 CONFIG_INTERNAL_AES=y
751 CONFIG_INTERNAL_DES=y
752 CONFIG_INTERNAL_SHA1=y
753 CONFIG_INTERNAL_MD4=y
754 CONFIG_INTERNAL_MD5=y
755 CONFIG_INTERNAL_SHA256=y
756 endif
757 ifeq ($(CONFIG_CRYPTO), cryptoapi)
758 OBJS += ../src/crypto/crypto_cryptoapi.o
759 OBJS_p += ../src/crypto/crypto_cryptoapi.o
760 CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
761 CONFIG_INTERNAL_SHA256=y
762 endif
763 endif
764 ifeq ($(CONFIG_TLS), none)
765 OBJS += ../src/crypto/crypto_none.o
766 OBJS_p += ../src/crypto/crypto_none.o
767 CONFIG_INTERNAL_SHA256=y
768 endif
769 else
770 CONFIG_INTERNAL_AES=y
771 CONFIG_INTERNAL_SHA1=y
772 CONFIG_INTERNAL_MD5=y
773 endif
774
775 ifdef CONFIG_INTERNAL_AES
776 CFLAGS += -DINTERNAL_AES
777 endif
778 ifdef CONFIG_INTERNAL_SHA1
779 CFLAGS += -DINTERNAL_SHA1
780 endif
781 ifdef CONFIG_INTERNAL_SHA256
782 CFLAGS += -DINTERNAL_SHA256
783 endif
784 ifdef CONFIG_INTERNAL_MD5
785 CFLAGS += -DINTERNAL_MD5
786 endif
787 ifdef CONFIG_INTERNAL_MD4
788 CFLAGS += -DINTERNAL_MD4
789 endif
790 ifdef CONFIG_INTERNAL_DES
791 CFLAGS += -DINTERNAL_DES
792 endif
793
794 ifdef CONFIG_IEEE80211R
795 NEED_SHA256=y
796 endif
797
798 ifdef CONFIG_IEEE80211W
799 CFLAGS += -DCONFIG_IEEE80211W
800 NEED_SHA256=y
801 endif
802
803 ifdef NEED_SHA256
804 OBJS += ../src/crypto/sha256.o
805 CFLAGS += -DNEED_SHA256
806 endif
807
808 ifdef CONFIG_WIRELESS_EXTENSION
809 CFLAGS += -DCONFIG_WIRELESS_EXTENSION
810 OBJS_d += ../src/drivers/driver_wext.o
811 endif
812
813 ifdef CONFIG_CTRL_IFACE
814 ifeq ($(CONFIG_CTRL_IFACE), y)
815 ifdef CONFIG_NATIVE_WINDOWS
816 CONFIG_CTRL_IFACE=named_pipe
817 else
818 CONFIG_CTRL_IFACE=unix
819 endif
820 endif
821 CFLAGS += -DCONFIG_CTRL_IFACE
822 ifeq ($(CONFIG_CTRL_IFACE), unix)
823 CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
824 endif
825 ifeq ($(CONFIG_CTRL_IFACE), udp)
826 CFLAGS += -DCONFIG_CTRL_IFACE_UDP
827 endif
828 ifeq ($(CONFIG_CTRL_IFACE), named_pipe)
829 CFLAGS += -DCONFIG_CTRL_IFACE_NAMED_PIPE
830 endif
831 OBJS += ctrl_iface.o ctrl_iface_$(CONFIG_CTRL_IFACE).o
832 endif
833
834 ifdef CONFIG_CTRL_IFACE_DBUS
835 CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
836 OBJS += ctrl_iface_dbus.o ctrl_iface_dbus_handlers.o dbus_dict_helpers.o
837 ifndef DBUS_LIBS
838 DBUS_LIBS := $(shell pkg-config --libs dbus-1)
839 endif
840 LIBS += $(DBUS_LIBS)
841 ifndef DBUS_INCLUDE
842 DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1)
843 endif
844 dbus_version=$(subst ., ,$(shell pkg-config --modversion dbus-1))
845 DBUS_VERSION_MAJOR=$(word 1,$(dbus_version))
846 DBUS_VERSION_MINOR=$(word 2,$(dbus_version))
847 ifeq ($(DBUS_VERSION_MAJOR),)
848 DBUS_VERSION_MAJOR=0
849 endif
850 ifeq ($(DBUS_VERSION_MINOR),)
851 DBUS_VERSION_MINOR=0
852 endif
853 DBUS_INCLUDE += -DDBUS_VERSION_MAJOR=$(DBUS_VERSION_MAJOR)
854 DBUS_INCLUDE += -DDBUS_VERSION_MINOR=$(DBUS_VERSION_MINOR)
855 CFLAGS += $(DBUS_INCLUDE)
856 endif
857
858 ifdef CONFIG_READLINE
859 CFLAGS += -DCONFIG_READLINE
860 LIBS_c += -lncurses -lreadline
861 endif
862
863 ifdef CONFIG_NATIVE_WINDOWS
864 CFLAGS += -DCONFIG_NATIVE_WINDOWS
865 LIBS += -lws2_32 -lgdi32 -lcrypt32
866 LIBS_c += -lws2_32
867 LIBS_p += -lws2_32 -lgdi32
868 ifeq ($(CONFIG_CRYPTO), cryptoapi)
869 LIBS_p += -lcrypt32
870 endif
871 endif
872
873 ifdef CONFIG_NO_STDOUT_DEBUG
874 CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
875 ifndef CONFIG_CTRL_IFACE
876 CFLAGS += -DCONFIG_NO_WPA_MSG
877 endif
878 endif
879
880 ifdef CONFIG_IPV6
881 # for eapol_test only
882 CFLAGS += -DCONFIG_IPV6
883 endif
884
885 ifdef CONFIG_PEERKEY
886 CFLAGS += -DCONFIG_PEERKEY
887 endif
888
889 ifdef CONFIG_IEEE80211R
890 CFLAGS += -DCONFIG_IEEE80211R
891 OBJS += ../src/rsn_supp/wpa_ft.o
892 endif
893
894 ifndef CONFIG_NO_WPA
895 OBJS += ../src/rsn_supp/wpa.o
896 OBJS += ../src/rsn_supp/preauth.o
897 OBJS += ../src/rsn_supp/pmksa_cache.o
898 OBJS += ../src/rsn_supp/peerkey.o
899 OBJS += ../src/rsn_supp/wpa_ie.o
900 OBJS += ../src/common/wpa_common.o
901 NEED_AES=y
902 else
903 CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2
904 endif
905
906 ifdef CONFIG_NO_WPA2
907 CFLAGS += -DCONFIG_NO_WPA2
908 endif
909
910 ifdef CONFIG_NO_WPA_PASSPHRASE
911 CFLAGS += -DCONFIG_NO_PBKDF2
912 endif
913
914 ifdef CONFIG_NO_AES_EXTRAS
915 CFLAGS += -DCONFIG_NO_AES_WRAP
916 CFLAGS += -DCONFIG_NO_AES_CTR -DCONFIG_NO_AES_OMAC1
917 CFLAGS += -DCONFIG_NO_AES_EAX -DCONFIG_NO_AES_CBC
918 CFLAGS += -DCONFIG_NO_AES_ENCRYPT
919 CFLAGS += -DCONFIG_NO_AES_ENCRYPT_BLOCK
920 endif
921
922 ifdef NEED_AES
923 OBJS += ../src/crypto/aes_wrap.o ../src/crypto/aes.o
924 endif
925
926 ifdef NEED_DH_GROUPS
927 OBJS += ../src/crypto/dh_groups.o
928 endif
929
930 ifndef NEED_FIPS186_2_PRF
931 CFLAGS += -DCONFIG_NO_FIPS186_2_PRF
932 endif
933
934 ifndef NEED_T_PRF
935 CFLAGS += -DCONFIG_NO_T_PRF
936 endif
937
938 ifndef NEED_TLS_PRF
939 CFLAGS += -DCONFIG_NO_TLS_PRF
940 endif
941
942 ifdef NEED_BASE64
943 OBJS += ../src/utils/base64.o
944 endif
945
946 ifdef CONFIG_CLIENT_MLME
947 OBJS += mlme.o ../src/common/ieee802_11_common.o
948 CFLAGS += -DCONFIG_CLIENT_MLME
949 endif
950
951 ifndef CONFIG_MAIN
952 CONFIG_MAIN=main
953 endif
954
955 ifdef CONFIG_DEBUG_FILE
956 CFLAGS += -DCONFIG_DEBUG_FILE
957 endif
958
959 ifdef CONFIG_DELAYED_MIC_ERROR_REPORT
960 CFLAGS += -DCONFIG_DELAYED_MIC_ERROR_REPORT
961 endif
962
963 OBJS += ../src/drivers/scan_helpers.o
964
965 OBJS_wpa_rm := ctrl_iface.o mlme.o ctrl_iface_unix.o
966 OBJS_wpa := $(filter-out $(OBJS_wpa_rm),$(OBJS)) $(OBJS_h) tests/test_wpa.o
967 ifdef CONFIG_AUTHENTICATOR
968 OBJS_wpa += tests/link_test.o
969 endif
970 OBJS_wpa += $(OBJS_l2)
971 OBJS += wpa_supplicant.o events.o blacklist.o wpas_glue.o scan.o
972 OBJS_t := $(OBJS) $(OBJS_l2) eapol_test.o ../src/radius/radius.o ../src/radius/radius_client.o
973 OBJS_t += ../src/utils/ip_addr.o
974 OBJS_t2 := $(OBJS) $(OBJS_l2) preauth_test.o
975 OBJS += $(CONFIG_MAIN).o
976
977 ifdef CONFIG_PRIVSEP
978 OBJS_priv += $(OBJS_d) ../src/drivers/drivers.o ../src/drivers/scan_helpers.o
979 OBJS_priv += $(OBJS_l2)
980 OBJS_priv += ../src/utils/os_$(CONFIG_OS).o
981 OBJS_priv += ../src/utils/$(CONFIG_ELOOP).o
982 OBJS_priv += ../src/utils/common.o
983 OBJS_priv += ../src/utils/wpa_debug.o
984 OBJS_priv += wpa_priv.o
985 ifdef CONFIG_DRIVER_TEST
986 OBJS_priv += ../src/crypto/sha1.o
987 OBJS_priv += ../src/crypto/md5.o
988 ifeq ($(CONFIG_TLS), openssl)
989 OBJS_priv += ../src/crypto/crypto_openssl.o
990 endif
991 ifeq ($(CONFIG_TLS), gnutls)
992 OBJS_priv += ../src/crypto/crypto_gnutls.o
993 endif
994 ifeq ($(CONFIG_TLS), internal)
995 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
996 OBJS_priv += ../src/crypto/crypto_libtomcrypt.o
997 else
998 OBJS_priv += ../src/crypto/crypto_internal.o
999 endif
1000 endif
1001 endif # CONFIG_DRIVER_TEST
1002 OBJS += ../src/l2_packet/l2_packet_privsep.o
1003 OBJS += ../src/drivers/driver_privsep.o
1004 EXTRA_progs += wpa_priv
1005 else
1006 OBJS += $(OBJS_d) ../src/drivers/drivers.o
1007 OBJS += $(OBJS_l2)
1008 endif
1009
1010 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
1011 CFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED
1012 OBJS += ../src/drivers/ndis_events.o
1013 EXTRALIBS += -loleaut32 -lole32 -luuid
1014 ifdef PLATFORMSDKLIB
1015 EXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib
1016 else
1017 EXTRALIBS += WbemUuid.Lib
1018 endif
1019 endif
1020
1021 ifndef LDO
1022 LDO=$(CC)
1023 endif
1024
1025 dynamic_eap_methods: $(EAPDYN)
1026
1027 wpa_priv: $(OBJS_priv)
1028 $(LDO) $(LDFLAGS) -o wpa_priv $(OBJS_priv) $(LIBS)
1029
1030 wpa_supplicant: .config $(OBJS) $(EXTRA_progs)
1031 $(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS)
1032
1033 eapol_test: .config $(OBJS_t)
1034 $(LDO) $(LDFLAGS) -o eapol_test $(OBJS_t) $(LIBS)
1035
1036 preauth_test: .config $(OBJS_t2)
1037 $(LDO) $(LDFLAGS) -o preauth_test $(OBJS_t2) $(LIBS)
1038
1039 wpa_passphrase: $(OBJS_p)
1040 $(LDO) $(LDFLAGS) -o wpa_passphrase $(OBJS_p) $(LIBS_p)
1041
1042 wpa_cli: $(OBJS_c)
1043 $(LDO) $(LDFLAGS) -o wpa_cli $(OBJS_c) $(LIBS_c)
1044
1045 link_test: $(OBJS) $(OBJS_h) tests/link_test.o
1046 $(LDO) $(LDFLAGS) -o link_test $(OBJS) $(OBJS_h) tests/link_test.o $(LIBS)
1047
1048 test_wpa: $(OBJS_wpa) $(OBJS_h)
1049 $(LDO) $(LDFLAGS) -o test_wpa $(OBJS_wpa) $(LIBS)
1050
1051 OBJSa=../src/tls/asn1_test.o ../src/tls/asn1.o ../src/tls/x509v3.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_unix.o \
1052 ../src/crypto/crypto_$(CONFIG_CRYPTO).o ../src/crypto/md5.o ../src/crypto/sha1.o \
1053 ../src/crypto/rc4.o ../src/crypto/des.o ../src/crypto/aes_wrap.o \
1054 ../src/crypto/aes.o ../src/tls/bignum.o ../src/tls/rsa.o
1055 asn1_test: $(OBJSa)
1056 $(LDO) $(LDFLAGS) -o asn1_test $(OBJSa)
1057
1058 OBJSx=tests/test_x509v3.o ../src/tls/asn1.o ../src/tls/x509v3.o \
1059 ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_unix.o \
1060 ../src/crypto/crypto_$(CONFIG_CRYPTO).o \
1061 ../src/crypto/md5.o ../src/crypto/sha1.o ../src/crypto/aes.o \
1062 ../src/crypto/rc4.o ../src/crypto/des.o ../src/crypto/aes_wrap.o \
1063 ../src/crypto/sha256.o \
1064 ../src/tls/bignum.o ../src/tls/rsa.o
1065 test_x509v3: $(OBJSx)
1066 $(LDO) $(LDFLAGS) -o test_x509v3 $(OBJSx)
1067
1068 win_if_list: win_if_list.c
1069 $(LDO) $(LDFLAGS) -o $@ win_if_list.c $(CFLAGS) $(LIBS_w)
1070
1071 eap_psk.so: ../src/eap_peer/eap_psk.c ../src/eap_common/eap_psk_common.c
1072 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
1073 -Deap_peer_psk_register=eap_peer_method_dynamic_init
1074
1075 eap_pax.so: ../src/eap_peer/eap_pax.c ../src/eap_common/eap_pax_common.c
1076 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
1077 -Deap_peer_pax_register=eap_peer_method_dynamic_init
1078
1079 eap_sake.so: ../src/eap_peer/eap_sake.c ../src/eap_common/eap_sake_common.c
1080 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
1081 -Deap_peer_sake_register=eap_peer_method_dynamic_init
1082
1083 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
1084 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
1085 -Deap_peer_ikev2_register=eap_peer_method_dynamic_init
1086
1087 %.so: %.c
1088 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \
1089 -D$(*:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init
1090
1091
1092 wpa_supplicant.exe: wpa_supplicant
1093 mv -f $< $@
1094 wpa_cli.exe: wpa_cli
1095 mv -f $< $@
1096 wpa_passphrase.exe: wpa_passphrase
1097 mv -f $< $@
1098 win_if_list.exe: win_if_list
1099 mv -f $< $@
1100 eapol_test.exe: eapol_test
1101 mv -f $< $@
1102
1103 WINALL=wpa_supplicant.exe wpa_cli.exe wpa_passphrase.exe win_if_list.exe
1104
1105 windows-bin: $(WINALL)
1106 $(STRIP) $(WINALL)
1107
1108 wpa_gui/Makefile:
1109 qmake -o wpa_gui/Makefile wpa_gui/wpa_gui.pro
1110
1111 wpa_gui: wpa_gui/Makefile
1112 $(MAKE) -C wpa_gui
1113
1114 wpa_gui-qt4/Makefile:
1115 qmake -o wpa_gui-qt4/Makefile wpa_gui-qt4/wpa_gui.pro
1116
1117 wpa_gui-qt4: wpa_gui-qt4/Makefile
1118 $(MAKE) -C wpa_gui-qt4
1119
1120 TEST_MS_FUNCS_OBJS = ../src/crypto/crypto_openssl.o ../src/crypto/sha1.o ../src/crypto/md5.o \
1121 ../src/utils/os_unix.o ../src/crypto/rc4.o tests/test_ms_funcs.o
1122 test-ms_funcs: $(TEST_MS_FUNCS_OBJS)
1123 $(LDO) $(LDFLAGS) -o $@ $(TEST_MS_FUNCS_OBJS) $(LIBS) -lcrypto
1124 ./test-ms_funcs
1125 rm test-ms_funcs
1126
1127 TEST_SHA1_OBJS = ../src/crypto/sha1.o ../src/crypto/md5.o tests/test_sha1.o #../src/crypto/crypto_openssl.o
1128 test-sha1: $(TEST_SHA1_OBJS)
1129 $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA1_OBJS) $(LIBS)
1130 ./test-sha1
1131 rm test-sha1
1132
1133 TEST_SHA256_OBJS = ../src/crypto/sha256.o ../src/crypto/md5.o tests/test_sha256.o ../src/crypto/crypto_openssl.o
1134 test-sha256: $(TEST_SHA256_OBJS)
1135 $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA256_OBJS) $(LIBS)
1136 ./test-sha256
1137 rm test-sha256
1138
1139 TEST_AES_OBJS = ../src/crypto/aes_wrap.o ../src/crypto/aes.o tests/test_aes.o
1140 test-aes: $(TEST_AES_OBJS)
1141 $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
1142 ./test-aes
1143 rm test-aes
1144
1145 TEST_EAP_SIM_COMMON_OBJS = ../src/crypto/sha1.o ../src/crypto/md5.o \
1146 ../src/crypto/aes_wrap.o ../src/utils/common.o ../src/utils/os_unix.o \
1147 ../src/utils/wpa_debug.o ../src/crypto/aes.o \
1148 tests/test_eap_sim_common.o
1149 test-eap_sim_common: $(TEST_EAP_SIM_COMMON_OBJS)
1150 $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
1151 ./test-eap_sim_common
1152 rm test-eap_sim_common
1153
1154 TEST_MD4_OBJS = ../src/crypto/md4.o tests/test_md4.o #../src/crypto/crypto_openssl.o
1155 test-md4: $(TEST_MD4_OBJS)
1156 $(LDO) $(LDFLAGS) -o $@ $(TEST_MD4_OBJS) $(LIBS)
1157 ./test-md4
1158 rm test-md4
1159
1160 TEST_MD5_OBJS = ../src/crypto/md5.o tests/test_md5.o #../src/crypto/crypto_openssl.o
1161 test-md5: $(TEST_MD5_OBJS)
1162 $(LDO) $(LDFLAGS) -o $@ $(TEST_MD5_OBJS) $(LIBS)
1163 ./test-md5
1164 rm test-md5
1165
1166 tests: test-ms_funcs test-sha1 test-aes test-eap_sim_common test-md4 test-md5
1167
1168 clean:
1169 $(MAKE) -C ../src clean
1170 rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL)
1171
1172 %.eps: %.fig
1173 fig2dev -L eps $*.fig $*.eps
1174
1175 %.png: %.fig
1176 fig2dev -L png -m 3 $*.fig | pngtopnm | pnmscale 0.4 | pnmtopng \
1177 > $*.png
1178
1179 docs-pics: doc/wpa_supplicant.png doc/wpa_supplicant.eps
1180
1181 docs: docs-pics
1182 (cd ..; doxygen wpa_supplicant/doc/doxygen.full; cd wpa_supplicant)
1183 $(MAKE) -C doc/latex
1184 cp doc/latex/refman.pdf wpa_supplicant-devel.pdf
1185
1186 docs-fast: docs-pics
1187 doxygen doc/doxygen.fast
1188
1189 clean-docs:
1190 rm -rf doc/latex doc/html
1191 rm -f doc/wpa_supplicant.{eps,png} wpa_supplicant-devel.pdf
1192
1193 wpa_supplicant-sparse: .config $(OBJS)
1194 @echo Sparse run completed
1195
1196 run-sparse:
1197 CC="sparse -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -D__INT_MAX__=2147483647 -D__SHRT_MAX__=32767 -D__LONG_MAX__=2147483647 -D__SCHAR_MAX__=127 -Wbitwise" $(MAKE) wpa_supplicant-sparse
1198
1199 -include $(OBJS:%.o=%.d)