6 CFLAGS
= -MMD
-O2
-Wall
-g
9 export LIBDIR ?
= /usr
/local
/lib
/
10 export BINDIR ?
= /usr
/local
/sbin
/
13 CFLAGS
+= -I..
/src
/crypto
14 CFLAGS
+= -I..
/src
/utils
15 CFLAGS
+= -I..
/src
/common
16 CFLAGS
+= -I..
/src
/rsn_supp
18 ALL
=wpa_supplicant wpa_passphrase wpa_cli
20 all: verify_config
$(ALL
) dynamic_eap_methods
23 @if
[ ! -r .config
]; then \
24 echo
'Building wpa_supplicant requires a configuration file'; \
25 echo
'(.config). See README for more instructions. You can'; \
26 echo
'run "cp defconfig .config" to create an example'; \
27 echo
'configuration.'; \
32 @if
[ -e .config
]; then \
33 echo
'.config exists - did not replace it'; \
36 echo CONFIG_DRIVER_HOSTAP
=y
>> .config
37 echo CONFIG_DRIVER_WEXT
=y
>> .config
38 echo CONFIG_WIRELESS_EXTENSION
=y
>> .config
41 mkdir
-p
$(DESTDIR
)$(BINDIR
)
42 for i in
$(ALL
); do cp
$$i $(DESTDIR
)$(BINDIR
)/$$i; done
43 $(MAKE
) -C ..
/src
install
46 OBJS
+= ..
/src
/utils
/common.o
47 OBJS
+= ..
/src
/utils
/wpa_debug.o
48 OBJS
+= ..
/src
/utils
/wpabuf.o
49 OBJS
+= ..
/src
/crypto
/md5.o
50 OBJS
+= ..
/src
/crypto
/rc4.o
51 OBJS
+= ..
/src
/crypto
/md4.o
52 OBJS
+= ..
/src
/crypto
/sha1.o
53 OBJS
+= ..
/src
/crypto
/des.o
54 OBJS_p
= wpa_passphrase.o
55 OBJS_p
+= ..
/src
/utils
/common.o
56 OBJS_p
+= ..
/src
/utils
/wpa_debug.o
57 OBJS_p
+= ..
/src
/crypto
/md5.o
58 OBJS_p
+= ..
/src
/crypto
/md4.o
59 OBJS_p
+= ..
/src
/crypto
/sha1.o
60 OBJS_p
+= ..
/src
/crypto
/des.o
61 OBJS_c
= wpa_cli.o ..
/src
/common
/wpa_ctrl.o
66 ifdef CONFIG_NATIVE_WINDOWS
73 ifeq ($(CONFIG_OS
), internal
)
74 CFLAGS
+= -DOS_NO_C_LIB_DEFINES
77 OBJS
+= ..
/src
/utils
/os_
$(CONFIG_OS
).o
78 OBJS_p
+= ..
/src
/utils
/os_
$(CONFIG_OS
).o
79 OBJS_c
+= ..
/src
/utils
/os_
$(CONFIG_OS
).o
84 OBJS
+= ..
/src
/utils
/$(CONFIG_ELOOP
).o
87 ifdef CONFIG_EAPOL_TEST
88 CFLAGS
+= -Werror
-DEAPOL_TEST
95 ifeq ($(CONFIG_BACKEND
), file
)
97 ifndef CONFIG_NO_CONFIG_BLOBS
100 CFLAGS
+= -DCONFIG_BACKEND_FILE
103 ifeq ($(CONFIG_BACKEND
), winreg
)
104 OBJS
+= config_winreg.o
107 ifeq ($(CONFIG_BACKEND
), none
)
108 OBJS
+= config_none.o
111 ifdef CONFIG_NO_CONFIG_WRITE
112 CFLAGS
+= -DCONFIG_NO_CONFIG_WRITE
115 ifdef CONFIG_NO_CONFIG_BLOBS
116 CFLAGS
+= -DCONFIG_NO_CONFIG_BLOBS
119 ifdef CONFIG_NO_SCAN_PROCESSING
120 CFLAGS
+= -DCONFIG_NO_SCAN_PROCESSING
123 ifdef CONFIG_DRIVER_HOSTAP
124 CFLAGS
+= -DCONFIG_DRIVER_HOSTAP
125 OBJS_d
+= ..
/src
/drivers
/driver_hostap.o
126 CONFIG_WIRELESS_EXTENSION
=y
129 ifdef CONFIG_DRIVER_WEXT
130 CFLAGS
+= -DCONFIG_DRIVER_WEXT
131 CONFIG_WIRELESS_EXTENSION
=y
134 ifdef CONFIG_DRIVER_NL80211
135 CFLAGS
+= -DCONFIG_DRIVER_NL80211
136 OBJS_d
+= ..
/src
/drivers
/driver_nl80211.o
138 ifdef CONFIG_CLIENT_MLME
139 OBJS_d
+= ..
/src
/utils
/radiotap.o
144 ifdef CONFIG_DRIVER_PRISM54
145 CFLAGS
+= -DCONFIG_DRIVER_PRISM54
146 OBJS_d
+= ..
/src
/drivers
/driver_prism54.o
147 CONFIG_WIRELESS_EXTENSION
=y
150 ifdef CONFIG_DRIVER_HERMES
151 CFLAGS
+= -DCONFIG_DRIVER_HERMES
152 OBJS_d
+= ..
/src
/drivers
/driver_hermes.o
153 CONFIG_WIRELESS_EXTENSION
=y
156 ifdef CONFIG_DRIVER_MADWIFI
157 CFLAGS
+= -DCONFIG_DRIVER_MADWIFI
158 OBJS_d
+= ..
/src
/drivers
/driver_madwifi.o
159 CONFIG_WIRELESS_EXTENSION
=y
162 ifdef CONFIG_DRIVER_ATMEL
163 CFLAGS
+= -DCONFIG_DRIVER_ATMEL
164 OBJS_d
+= ..
/src
/drivers
/driver_atmel.o
165 CONFIG_WIRELESS_EXTENSION
=y
168 ifdef CONFIG_DRIVER_NDISWRAPPER
169 CFLAGS
+= -DCONFIG_DRIVER_NDISWRAPPER
170 OBJS_d
+= ..
/src
/drivers
/driver_ndiswrapper.o
171 CONFIG_WIRELESS_EXTENSION
=y
174 ifdef CONFIG_DRIVER_RALINK
175 CFLAGS
+= -DCONFIG_DRIVER_RALINK
176 OBJS_d
+= ..
/src
/drivers
/driver_ralink.o
179 ifdef CONFIG_DRIVER_BROADCOM
180 CFLAGS
+= -DCONFIG_DRIVER_BROADCOM
181 OBJS_d
+= ..
/src
/drivers
/driver_broadcom.o
184 ifdef CONFIG_DRIVER_IPW
185 CFLAGS
+= -DCONFIG_DRIVER_IPW
186 OBJS_d
+= ..
/src
/drivers
/driver_ipw.o
187 CONFIG_WIRELESS_EXTENSION
=y
190 ifdef CONFIG_DRIVER_BSD
191 CFLAGS
+= -DCONFIG_DRIVER_BSD
192 OBJS_d
+= ..
/src
/drivers
/driver_bsd.o
193 ifndef CONFIG_L2_PACKET
194 CONFIG_L2_PACKET
=freebsd
198 ifdef CONFIG_DRIVER_NDIS
199 CFLAGS
+= -DCONFIG_DRIVER_NDIS
200 OBJS_d
+= ..
/src
/drivers
/driver_ndis.o
201 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
202 OBJS_d
+= ..
/src
/drivers
/driver_ndis_.o
204 ifndef CONFIG_L2_PACKET
205 CONFIG_L2_PACKET
=pcap
208 ifdef CONFIG_USE_NDISUIO
209 CFLAGS
+= -DCONFIG_USE_NDISUIO
213 ifdef CONFIG_DRIVER_WIRED
214 CFLAGS
+= -DCONFIG_DRIVER_WIRED
215 OBJS_d
+= ..
/src
/drivers
/driver_wired.o
218 ifdef CONFIG_DRIVER_TEST
219 CFLAGS
+= -DCONFIG_DRIVER_TEST
220 OBJS_d
+= ..
/src
/drivers
/driver_test.o
223 ifdef CONFIG_DRIVER_OSX
224 CFLAGS
+= -DCONFIG_DRIVER_OSX
225 OBJS_d
+= ..
/src
/drivers
/driver_osx.o
226 LDFLAGS
+= -framework CoreFoundation
227 LDFLAGS
+= -F
/System
/Library
/PrivateFrameworks
-framework Apple80211
230 ifdef CONFIG_DRIVER_PS3
231 CFLAGS
+= -DCONFIG_DRIVER_PS3
-m64
232 OBJS_d
+= ..
/src
/drivers
/driver_ps3.o
236 ifdef CONFIG_DRIVER_IPHONE
237 CFLAGS
+= -DCONFIG_DRIVER_IPHONE
238 OBJS_d
+= ..
/src
/drivers
/driver_iphone.o
239 OBJS_d
+= ..
/src
/drivers
/MobileApple80211.o
240 LIBS
+= -framework CoreFoundation
243 ifdef CONFIG_DRIVER_ROBOSWITCH
244 CFLAGS
+= -DCONFIG_DRIVER_ROBOSWITCH
245 OBJS_d
+= ..
/src
/drivers
/driver_roboswitch.o
248 ifndef CONFIG_L2_PACKET
249 CONFIG_L2_PACKET
=linux
252 OBJS_l2
+= ..
/src
/l2_packet
/l2_packet_
$(CONFIG_L2_PACKET
).o
254 ifeq ($(CONFIG_L2_PACKET
), pcap
)
256 CFLAGS
+= -DCONFIG_WINPCAP
257 LIBS
+= -lwpcap
-lpacket
260 LIBS
+= -ldnet
-lpcap
264 ifeq ($(CONFIG_L2_PACKET
), winpcap
)
265 LIBS
+= -lwpcap
-lpacket
269 ifeq ($(CONFIG_L2_PACKET
), freebsd
)
275 ifeq ($(CONFIG_EAP_TLS
), dyn
)
276 CFLAGS
+= -DEAP_TLS_DYNAMIC
277 EAPDYN
+= ..
/src
/eap_peer
/eap_tls.so
280 OBJS
+= ..
/src
/eap_peer
/eap_tls.o
281 OBJS_h
+= ..
/src
/eap_server
/eap_tls.o
284 CONFIG_IEEE8021X_EAPOL
=y
287 ifdef CONFIG_EAP_PEAP
289 ifeq ($(CONFIG_EAP_PEAP
), dyn
)
290 CFLAGS
+= -DEAP_PEAP_DYNAMIC
291 EAPDYN
+= ..
/src
/eap_peer
/eap_peap.so
294 OBJS
+= ..
/src
/eap_peer
/eap_peap.o
295 OBJS
+= ..
/src
/eap_common
/eap_peap_common.o
296 OBJS_h
+= ..
/src
/eap_server
/eap_peap.o
299 CONFIG_IEEE8021X_EAPOL
=y
302 ifdef CONFIG_EAP_TTLS
304 ifeq ($(CONFIG_EAP_TTLS
), dyn
)
305 CFLAGS
+= -DEAP_TTLS_DYNAMIC
306 EAPDYN
+= ..
/src
/eap_peer
/eap_ttls.so
309 OBJS
+= ..
/src
/eap_peer
/eap_ttls.o
310 OBJS_h
+= ..
/src
/eap_server
/eap_ttls.o
315 CONFIG_IEEE8021X_EAPOL
=y
320 ifeq ($(CONFIG_EAP_MD5
), dyn
)
321 CFLAGS
+= -DEAP_MD5_DYNAMIC
322 EAPDYN
+= ..
/src
/eap_peer
/eap_md5.so
325 OBJS
+= ..
/src
/eap_peer
/eap_md5.o
326 OBJS_h
+= ..
/src
/eap_server
/eap_md5.o
329 CONFIG_IEEE8021X_EAPOL
=y
332 # backwards compatibility for old spelling
333 ifdef CONFIG_MSCHAPV2
334 ifndef CONFIG_EAP_MSCHAPV2
335 CONFIG_EAP_MSCHAPV2
=y
339 ifdef CONFIG_EAP_MSCHAPV2
341 ifeq ($(CONFIG_EAP_MSCHAPV2
), dyn
)
342 CFLAGS
+= -DEAP_MSCHAPv2_DYNAMIC
343 EAPDYN
+= ..
/src
/eap_peer
/eap_mschapv2.so
344 EAPDYN
+= ..
/src
/eap_peer
/mschapv2.so
346 CFLAGS
+= -DEAP_MSCHAPv2
347 OBJS
+= ..
/src
/eap_peer
/eap_mschapv2.o
348 OBJS
+= ..
/src
/eap_peer
/mschapv2.o
349 OBJS_h
+= ..
/src
/eap_server
/eap_mschapv2.o
352 CONFIG_IEEE8021X_EAPOL
=y
357 ifeq ($(CONFIG_EAP_GTC
), dyn
)
358 CFLAGS
+= -DEAP_GTC_DYNAMIC
359 EAPDYN
+= ..
/src
/eap_peer
/eap_gtc.so
362 OBJS
+= ..
/src
/eap_peer
/eap_gtc.o
363 OBJS_h
+= ..
/src
/eap_server
/eap_gtc.o
365 CONFIG_IEEE8021X_EAPOL
=y
370 ifeq ($(CONFIG_EAP_OTP
), dyn
)
371 CFLAGS
+= -DEAP_OTP_DYNAMIC
372 EAPDYN
+= ..
/src
/eap_peer
/eap_otp.so
375 OBJS
+= ..
/src
/eap_peer
/eap_otp.o
377 CONFIG_IEEE8021X_EAPOL
=y
382 ifeq ($(CONFIG_EAP_SIM
), dyn
)
383 CFLAGS
+= -DEAP_SIM_DYNAMIC
384 EAPDYN
+= ..
/src
/eap_peer
/eap_sim.so
387 OBJS
+= ..
/src
/eap_peer
/eap_sim.o
388 OBJS_h
+= ..
/src
/eap_server
/eap_sim.o
390 CONFIG_IEEE8021X_EAPOL
=y
391 CONFIG_EAP_SIM_COMMON
=y
394 ifdef CONFIG_EAP_LEAP
396 ifeq ($(CONFIG_EAP_LEAP
), dyn
)
397 CFLAGS
+= -DEAP_LEAP_DYNAMIC
398 EAPDYN
+= ..
/src
/eap_peer
/eap_leap.so
401 OBJS
+= ..
/src
/eap_peer
/eap_leap.o
404 CONFIG_IEEE8021X_EAPOL
=y
409 ifeq ($(CONFIG_EAP_PSK
), dyn
)
410 CFLAGS
+= -DEAP_PSK_DYNAMIC
411 EAPDYN
+= ..
/src
/eap_peer
/eap_psk.so
414 OBJS
+= ..
/src
/eap_peer
/eap_psk.o ..
/src
/eap_common
/eap_psk_common.o
415 OBJS_h
+= ..
/src
/eap_server
/eap_psk.o
417 CONFIG_IEEE8021X_EAPOL
=y
423 ifeq ($(CONFIG_EAP_AKA
), dyn
)
424 CFLAGS
+= -DEAP_AKA_DYNAMIC
425 EAPDYN
+= ..
/src
/eap_peer
/eap_aka.so
428 OBJS
+= ..
/src
/eap_peer
/eap_aka.o
429 OBJS_h
+= ..
/src
/eap_server
/eap_aka.o
431 CONFIG_IEEE8021X_EAPOL
=y
432 CONFIG_EAP_SIM_COMMON
=y
435 ifdef CONFIG_EAP_AKA_PRIME
437 ifeq ($(CONFIG_EAP_AKA_PRIME
), dyn
)
438 CFLAGS
+= -DEAP_AKA_PRIME_DYNAMIC
440 CFLAGS
+= -DEAP_AKA_PRIME
445 ifdef CONFIG_EAP_SIM_COMMON
446 OBJS
+= ..
/src
/eap_common
/eap_sim_common.o
447 OBJS_h
+= ..
/src
/eap_server
/eap_sim_db.o
452 ifdef CONFIG_EAP_FAST
454 ifeq ($(CONFIG_EAP_FAST
), dyn
)
455 CFLAGS
+= -DEAP_FAST_DYNAMIC
456 EAPDYN
+= ..
/src
/eap_peer
/eap_fast.so
457 EAPDYN
+= ..
/src
/eap_common
/eap_fast_common.o
460 OBJS
+= ..
/src
/eap_peer
/eap_fast.o ..
/src
/eap_peer
/eap_fast_pac.o
461 OBJS
+= ..
/src
/eap_common
/eap_fast_common.o
462 OBJS_h
+= ..
/src
/eap_server
/eap_fast.o
465 CONFIG_IEEE8021X_EAPOL
=y
471 ifeq ($(CONFIG_EAP_PAX
), dyn
)
472 CFLAGS
+= -DEAP_PAX_DYNAMIC
473 EAPDYN
+= ..
/src
/eap_peer
/eap_pax.so
476 OBJS
+= ..
/src
/eap_peer
/eap_pax.o ..
/src
/eap_common
/eap_pax_common.o
477 OBJS_h
+= ..
/src
/eap_server
/eap_pax.o
479 CONFIG_IEEE8021X_EAPOL
=y
482 ifdef CONFIG_EAP_SAKE
484 ifeq ($(CONFIG_EAP_SAKE
), dyn
)
485 CFLAGS
+= -DEAP_SAKE_DYNAMIC
486 EAPDYN
+= ..
/src
/eap_peer
/eap_sake.so
489 OBJS
+= ..
/src
/eap_peer
/eap_sake.o ..
/src
/eap_common
/eap_sake_common.o
490 OBJS_h
+= ..
/src
/eap_server
/eap_sake.o
492 CONFIG_IEEE8021X_EAPOL
=y
495 ifdef CONFIG_EAP_GPSK
497 ifeq ($(CONFIG_EAP_GPSK
), dyn
)
498 CFLAGS
+= -DEAP_GPSK_DYNAMIC
499 EAPDYN
+= ..
/src
/eap_peer
/eap_gpsk.so
502 OBJS
+= ..
/src
/eap_peer
/eap_gpsk.o ..
/src
/eap_common
/eap_gpsk_common.o
503 OBJS_h
+= ..
/src
/eap_server
/eap_gpsk.o
505 CONFIG_IEEE8021X_EAPOL
=y
506 ifdef CONFIG_EAP_GPSK_SHA256
507 CFLAGS
+= -DEAP_GPSK_SHA256
514 CFLAGS
+= -DCONFIG_WPS
-DEAP_WSC
515 OBJS
+= wps_supplicant.o
516 OBJS
+= ..
/src
/utils
/uuid.o
517 OBJS
+= ..
/src
/eap_peer
/eap_wsc.o ..
/src
/eap_common
/eap_wsc_common.o
518 OBJS
+= ..
/src
/wps
/wps.o
519 OBJS
+= ..
/src
/wps
/wps_common.o
520 OBJS
+= ..
/src
/wps
/wps_attr_parse.o
521 OBJS
+= ..
/src
/wps
/wps_attr_build.o
522 OBJS
+= ..
/src
/wps
/wps_attr_process.o
523 OBJS
+= ..
/src
/wps
/wps_dev_attr.o
524 OBJS
+= ..
/src
/wps
/wps_enrollee.o
525 OBJS
+= ..
/src
/wps
/wps_registrar.o
526 OBJS_h
+= ..
/src
/eap_server
/eap_wsc.o
527 CONFIG_IEEE8021X_EAPOL
=y
534 CFLAGS
+= -DCONFIG_WPS_UFD
535 OBJS
+= ..
/src
/wps
/wps_ufd.o
540 CFLAGS
+= -DCONFIG_WPS_NFC
541 OBJS
+= ..
/src
/wps
/ndef.o
542 OBJS
+= ..
/src
/wps
/wps_nfc.o
544 ifdef CONFIG_WPS_NFC_PN531
545 PN531_PATH ?
= /usr
/local
/src
/nfc
546 CFLAGS
+= -DCONFIG_WPS_NFC_PN531
547 CFLAGS
+= -I
${PN531_PATH}/inc
548 OBJS
+= ..
/src
/wps
/wps_nfc_pn531.o
549 LIBS
+= ${PN531_PATH}/lib
/wpsnfc.dll
550 LIBS
+= ${PN531_PATH}/lib
/libnfc_mapping_pn53x.dll
555 CFLAGS
+= -DCONFIG_WPS_OOB
558 ifdef CONFIG_WPS_UPNP
559 CFLAGS
+= -DCONFIG_WPS_UPNP
560 OBJS
+= ..
/src
/wps
/wps_upnp.o
561 OBJS
+= ..
/src
/wps
/wps_upnp_ssdp.o
562 OBJS
+= ..
/src
/wps
/wps_upnp_web.o
563 OBJS
+= ..
/src
/wps
/wps_upnp_event.o
564 OBJS
+= ..
/src
/wps
/httpread.o
569 ifdef CONFIG_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
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
579 OBJS_h
+= ..
/src
/eap_server
/eap_ikev2.o
580 OBJS_h
+= ..
/src
/eap_server
/ikev2.o
582 CONFIG_IEEE8021X_EAPOL
=y
586 ifdef CONFIG_EAP_VENDOR_TEST
587 ifeq ($(CONFIG_EAP_VENDOR_TEST
), dyn
)
588 CFLAGS
+= -DEAP_VENDOR_TEST_DYNAMIC
589 EAPDYN
+= ..
/src
/eap_peer
/eap_vendor_test.so
591 CFLAGS
+= -DEAP_VENDOR_TEST
592 OBJS
+= ..
/src
/eap_peer
/eap_vendor_test.o
593 OBJS_h
+= ..
/src
/eap_server
/eap_vendor_test.o
595 CONFIG_IEEE8021X_EAPOL
=y
601 OBJS
+= ..
/src
/eap_peer
/eap_tnc.o
602 OBJS
+= ..
/src
/eap_peer
/tncc.o
603 OBJS_h
+= ..
/src
/eap_server
/eap_tnc.o
604 OBJS_h
+= ..
/src
/eap_server
/tncs.o
606 ifndef CONFIG_NATIVE_WINDOWS
607 ifndef CONFIG_DRIVER_BSD
613 ifdef CONFIG_IEEE8021X_EAPOL
614 # IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
615 CFLAGS
+= -DIEEE8021X_EAPOL
616 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
617 ifdef CONFIG_DYNAMIC_EAP_METHODS
618 CFLAGS
+= -DCONFIG_DYNAMIC_EAP_METHODS
619 LIBS
+= -ldl
-rdynamic
624 CFLAGS
+= -DCONFIG_AP
627 ifdef CONFIG_EAP_SERVER
628 CFLAGS
+= -DEAP_SERVER
629 OBJS_h
+= ..
/src
/eap_server
/eap.o
630 OBJS_h
+= ..
/src
/eap_server
/eap_identity.o
631 OBJS_h
+= ..
/src
/eap_server
/eap_methods.o
634 ifdef CONFIG_RADIUS_CLIENT
635 OBJS_h
+= ..
/src
/utils
/ip_addr.o
636 OBJS_h
+= ..
/src
/radius
/radius.o
637 OBJS_h
+= ..
/src
/radius
/radius_client.o
640 ifdef CONFIG_AUTHENTICATOR
641 OBJS_h
+= ..
/hostapd
/eapol_sm.o
642 OBJS_h
+= ..
/hostapd
/ieee802_1x.o
645 ifdef CONFIG_WPA_AUTHENTICATOR
646 OBJS_h
+= ..
/hostapd
/wpa.o
647 OBJS_h
+= ..
/hostapd
/wpa_auth_ie.o
648 ifdef CONFIG_IEEE80211R
649 OBJS_h
+= ..
/hostapd
/wpa_ft.o
652 OBJS_h
+= ..
/hostapd
/peerkey.o
657 # PC/SC interface for smartcards (USIM, GSM SIM)
658 CFLAGS
+= -DPCSC_FUNCS
-I
/usr
/include/PCSC
659 OBJS
+= ..
/src
/utils
/pcsc_funcs.o
660 # -lpthread may not be needed depending on how pcsc-lite was configured
661 ifdef CONFIG_NATIVE_WINDOWS
662 #Once MinGW gets support for WinScard, -lwinscard could be used instead of the
663 #dynamic symbol loading that is now used in pcsc_funcs.c
666 LIBS
+= -lpcsclite
-lpthread
670 ifdef CONFIG_SIM_SIMULATOR
671 CFLAGS
+= -DCONFIG_SIM_SIMULATOR
675 ifdef CONFIG_USIM_SIMULATOR
676 CFLAGS
+= -DCONFIG_USIM_SIMULATOR
681 OBJS
+= ..
/src
/hlr_auc_gw
/milenage.o
688 ifeq ($(CONFIG_TLS
), internal
)
690 CONFIG_CRYPTO
=internal
693 ifeq ($(CONFIG_CRYPTO
), libtomcrypt
)
694 CFLAGS
+= -DCONFIG_INTERNAL_X509
696 ifeq ($(CONFIG_CRYPTO
), internal
)
697 CFLAGS
+= -DCONFIG_INTERNAL_X509
702 # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
703 CFLAGS
+= -DEAP_TLS_FUNCS
704 OBJS
+= ..
/src
/eap_peer
/eap_tls_common.o
705 OBJS_h
+= ..
/src
/eap_server
/eap_tls_common.o
707 ifeq ($(CONFIG_TLS
), openssl
)
708 CFLAGS
+= -DEAP_TLS_OPENSSL
709 OBJS
+= ..
/src
/crypto
/tls_openssl.o
710 LIBS
+= -lssl
-lcrypto
713 ifeq ($(CONFIG_TLS
), gnutls
)
714 OBJS
+= ..
/src
/crypto
/tls_gnutls.o
715 LIBS
+= -lgnutls
-lgcrypt
-lgpg-error
717 ifdef CONFIG_GNUTLS_EXTRA
718 CFLAGS
+= -DCONFIG_GNUTLS_EXTRA
719 LIBS
+= -lgnutls-extra
722 ifeq ($(CONFIG_TLS
), schannel
)
723 OBJS
+= ..
/src
/crypto
/tls_schannel.o
725 ifeq ($(CONFIG_TLS
), internal
)
726 OBJS
+= ..
/src
/crypto
/tls_internal.o
727 OBJS
+= ..
/src
/tls
/tlsv1_common.o ..
/src
/tls
/tlsv1_record.o
728 OBJS
+= ..
/src
/tls
/tlsv1_cred.o ..
/src
/tls
/tlsv1_client.o
729 OBJS
+= ..
/src
/tls
/tlsv1_client_write.o ..
/src
/tls
/tlsv1_client_read.o
730 OBJS
+= ..
/src
/tls
/asn1.o ..
/src
/tls
/rsa.o ..
/src
/tls
/x509v3.o
731 OBJS_p
+= ..
/src
/tls
/asn1.o ..
/src
/tls
/rsa.o
732 OBJS_p
+= ..
/src
/crypto
/rc4.o ..
/src
/crypto
/aes_wrap.o ..
/src
/crypto
/aes.o
735 CFLAGS
+= -DCONFIG_TLS_INTERNAL
736 CFLAGS
+= -DCONFIG_TLS_INTERNAL_CLIENT
737 ifeq ($(CONFIG_CRYPTO
), internal
)
739 ifeq ($(CONFIG_CRYPTO
), libtomcrypt
)
740 LIBS
+= -ltomcrypt
-ltfm
741 LIBS_p
+= -ltomcrypt
-ltfm
744 ifeq ($(CONFIG_TLS
), none
)
745 OBJS
+= ..
/src
/crypto
/tls_none.o
746 CFLAGS
+= -DEAP_TLS_NONE
747 CONFIG_INTERNAL_AES
=y
748 CONFIG_INTERNAL_SHA1
=y
749 CONFIG_INTERNAL_MD5
=y
750 CONFIG_INTERNAL_SHA256
=y
752 ifdef CONFIG_SMARTCARD
753 ifndef CONFIG_NATIVE_WINDOWS
754 ifneq ($(CONFIG_L2_PACKET
), freebsd
)
761 OBJS
+= ..
/src
/crypto
/tls_none.o
765 CFLAGS
+= -DPKCS12_FUNCS
768 ifdef CONFIG_SMARTCARD
769 CFLAGS
+= -DCONFIG_SMARTCARD
773 OBJS
+= ..
/src
/crypto
/ms_funcs.o
778 OBJS
+= ..
/src
/eap_common
/chap.o
783 ifeq ($(CONFIG_TLS
), openssl
)
787 ifeq ($(CONFIG_TLS
), gnutls
)
791 ifeq ($(CONFIG_TLS
), schannel
)
793 ifeq ($(CONFIG_TLS
), internal
)
794 ifeq ($(CONFIG_CRYPTO
), libtomcrypt
)
795 LIBS
+= -ltomcrypt
-ltfm
796 LIBS_p
+= -ltomcrypt
-ltfm
800 ifeq ($(CONFIG_TLS
), openssl
)
801 OBJS
+= ..
/src
/crypto
/crypto_openssl.o
802 OBJS_p
+= ..
/src
/crypto
/crypto_openssl.o
803 CONFIG_INTERNAL_SHA256
=y
805 ifeq ($(CONFIG_TLS
), gnutls
)
806 OBJS
+= ..
/src
/crypto
/crypto_gnutls.o
807 OBJS_p
+= ..
/src
/crypto
/crypto_gnutls.o
808 CONFIG_INTERNAL_SHA256
=y
810 ifeq ($(CONFIG_TLS
), schannel
)
811 OBJS
+= ..
/src
/crypto
/crypto_cryptoapi.o
812 OBJS_p
+= ..
/src
/crypto
/crypto_cryptoapi.o
813 CONFIG_INTERNAL_SHA256
=y
815 ifeq ($(CONFIG_TLS
), internal
)
816 ifeq ($(CONFIG_CRYPTO
), libtomcrypt
)
817 OBJS
+= ..
/src
/crypto
/crypto_libtomcrypt.o
818 OBJS_p
+= ..
/src
/crypto
/crypto_libtomcrypt.o
819 CONFIG_INTERNAL_SHA256
=y
821 ifeq ($(CONFIG_CRYPTO
), internal
)
822 OBJS
+= ..
/src
/crypto
/crypto_internal.o ..
/src
/tls
/bignum.o
823 OBJS_p
+= ..
/src
/crypto
/crypto_internal.o ..
/src
/tls
/bignum.o
824 CFLAGS
+= -DCONFIG_CRYPTO_INTERNAL
825 ifdef CONFIG_INTERNAL_LIBTOMMATH
826 CFLAGS
+= -DCONFIG_INTERNAL_LIBTOMMATH
827 ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
834 CONFIG_INTERNAL_AES
=y
835 CONFIG_INTERNAL_DES
=y
836 CONFIG_INTERNAL_SHA1
=y
837 CONFIG_INTERNAL_MD4
=y
838 CONFIG_INTERNAL_MD5
=y
839 CONFIG_INTERNAL_SHA256
=y
841 ifeq ($(CONFIG_CRYPTO
), cryptoapi
)
842 OBJS
+= ..
/src
/crypto
/crypto_cryptoapi.o
843 OBJS_p
+= ..
/src
/crypto
/crypto_cryptoapi.o
844 CFLAGS
+= -DCONFIG_CRYPTO_CRYPTOAPI
845 CONFIG_INTERNAL_SHA256
=y
848 ifeq ($(CONFIG_TLS
), none
)
849 OBJS
+= ..
/src
/crypto
/crypto_none.o
850 OBJS_p
+= ..
/src
/crypto
/crypto_none.o
851 CONFIG_INTERNAL_SHA256
=y
854 CONFIG_INTERNAL_AES
=y
855 CONFIG_INTERNAL_SHA1
=y
856 CONFIG_INTERNAL_MD5
=y
859 ifdef CONFIG_INTERNAL_AES
860 CFLAGS
+= -DINTERNAL_AES
862 ifdef CONFIG_INTERNAL_SHA1
863 CFLAGS
+= -DINTERNAL_SHA1
865 ifdef CONFIG_INTERNAL_SHA256
866 CFLAGS
+= -DINTERNAL_SHA256
868 ifdef CONFIG_INTERNAL_MD5
869 CFLAGS
+= -DINTERNAL_MD5
871 ifdef CONFIG_INTERNAL_MD4
872 CFLAGS
+= -DINTERNAL_MD4
874 ifdef CONFIG_INTERNAL_DES
875 CFLAGS
+= -DINTERNAL_DES
878 ifdef CONFIG_IEEE80211R
882 ifdef CONFIG_IEEE80211W
883 CFLAGS
+= -DCONFIG_IEEE80211W
888 OBJS
+= ..
/src
/crypto
/sha256.o
889 CFLAGS
+= -DNEED_SHA256
892 ifdef CONFIG_WIRELESS_EXTENSION
893 CFLAGS
+= -DCONFIG_WIRELESS_EXTENSION
894 OBJS_d
+= ..
/src
/drivers
/driver_wext.o
897 ifdef CONFIG_CTRL_IFACE
898 ifeq ($(CONFIG_CTRL_IFACE
), y
)
899 ifdef CONFIG_NATIVE_WINDOWS
900 CONFIG_CTRL_IFACE
=named_pipe
902 CONFIG_CTRL_IFACE
=unix
905 CFLAGS
+= -DCONFIG_CTRL_IFACE
906 ifeq ($(CONFIG_CTRL_IFACE
), unix
)
907 CFLAGS
+= -DCONFIG_CTRL_IFACE_UNIX
909 ifeq ($(CONFIG_CTRL_IFACE
), udp
)
910 CFLAGS
+= -DCONFIG_CTRL_IFACE_UDP
912 ifeq ($(CONFIG_CTRL_IFACE
), named_pipe
)
913 CFLAGS
+= -DCONFIG_CTRL_IFACE_NAMED_PIPE
915 OBJS
+= ctrl_iface.o ctrl_iface_
$(CONFIG_CTRL_IFACE
).o
918 ifdef CONFIG_CTRL_IFACE_DBUS
919 CFLAGS
+= -DCONFIG_CTRL_IFACE_DBUS
-DDBUS_API_SUBJECT_TO_CHANGE
920 OBJS
+= ctrl_iface_dbus.o ctrl_iface_dbus_handlers.o dbus_dict_helpers.o
922 DBUS_LIBS
:= $(shell pkg-config
--libs dbus-1
)
926 DBUS_INCLUDE
:= $(shell pkg-config
--cflags dbus-1
)
928 dbus_version
=$(subst .
, ,$(shell pkg-config
--modversion dbus-1
))
929 DBUS_VERSION_MAJOR
=$(word 1,$(dbus_version
))
930 DBUS_VERSION_MINOR
=$(word 2,$(dbus_version
))
931 ifeq ($(DBUS_VERSION_MAJOR
),)
934 ifeq ($(DBUS_VERSION_MINOR
),)
937 DBUS_INCLUDE
+= -DDBUS_VERSION_MAJOR
=$(DBUS_VERSION_MAJOR
)
938 DBUS_INCLUDE
+= -DDBUS_VERSION_MINOR
=$(DBUS_VERSION_MINOR
)
939 CFLAGS
+= $(DBUS_INCLUDE
)
942 ifdef CONFIG_READLINE
943 CFLAGS
+= -DCONFIG_READLINE
944 LIBS_c
+= -lncurses
-lreadline
947 ifdef CONFIG_NATIVE_WINDOWS
948 CFLAGS
+= -DCONFIG_NATIVE_WINDOWS
949 LIBS
+= -lws2_32
-lgdi32
-lcrypt32
951 LIBS_p
+= -lws2_32
-lgdi32
952 ifeq ($(CONFIG_CRYPTO
), cryptoapi
)
957 ifdef CONFIG_NO_STDOUT_DEBUG
958 CFLAGS
+= -DCONFIG_NO_STDOUT_DEBUG
959 ifndef CONFIG_CTRL_IFACE
960 CFLAGS
+= -DCONFIG_NO_WPA_MSG
965 # for eapol_test only
966 CFLAGS
+= -DCONFIG_IPV6
970 CFLAGS
+= -DCONFIG_PEERKEY
973 ifdef CONFIG_IEEE80211R
974 CFLAGS
+= -DCONFIG_IEEE80211R
975 OBJS
+= ..
/src
/rsn_supp
/wpa_ft.o
980 OBJS
+= ..
/src
/rsn_supp
/wpa.o
981 OBJS
+= ..
/src
/rsn_supp
/preauth.o
982 OBJS
+= ..
/src
/rsn_supp
/pmksa_cache.o
983 OBJS
+= ..
/src
/rsn_supp
/peerkey.o
984 OBJS
+= ..
/src
/rsn_supp
/wpa_ie.o
985 OBJS
+= ..
/src
/common
/wpa_common.o
988 CFLAGS
+= -DCONFIG_NO_WPA
-DCONFIG_NO_WPA2
991 ifdef CONFIG_IBSS_RSN
992 CFLAGS
+= -DCONFIG_IBSS_RSN
994 OBJS
+= ..
/hostapd
/wpa.o
995 OBJS
+= ..
/hostapd
/wpa_auth_ie.o
996 OBJS
+= ..
/hostapd
/pmksa_cache.o
997 OBJS
+= ..
/src
/radius
/radius.o
998 ifdef CONFIG_IEEE80211R
999 OBJS
+= ..
/hostapd
/wpa_ft.o
1001 ifdef CONFIG_PEERKEY
1002 OBJS
+= ..
/hostapd
/peerkey.o
1006 ifdef CONFIG_NO_WPA2
1007 CFLAGS
+= -DCONFIG_NO_WPA2
1010 ifdef CONFIG_NO_WPA_PASSPHRASE
1011 CFLAGS
+= -DCONFIG_NO_PBKDF2
1014 ifdef CONFIG_NO_AES_EXTRAS
1015 CFLAGS
+= -DCONFIG_NO_AES_WRAP
1016 CFLAGS
+= -DCONFIG_NO_AES_CTR
-DCONFIG_NO_AES_OMAC1
1017 CFLAGS
+= -DCONFIG_NO_AES_EAX
-DCONFIG_NO_AES_CBC
1018 CFLAGS
+= -DCONFIG_NO_AES_ENCRYPT
1019 CFLAGS
+= -DCONFIG_NO_AES_ENCRYPT_BLOCK
1023 OBJS
+= ..
/src
/crypto
/aes_wrap.o ..
/src
/crypto
/aes.o
1026 ifdef NEED_DH_GROUPS
1027 OBJS
+= ..
/src
/crypto
/dh_groups.o
1030 ifndef NEED_FIPS186_2_PRF
1031 CFLAGS
+= -DCONFIG_NO_FIPS186_2_PRF
1035 CFLAGS
+= -DCONFIG_NO_T_PRF
1039 CFLAGS
+= -DCONFIG_NO_TLS_PRF
1043 OBJS
+= ..
/src
/utils
/base64.o
1048 CFLAGS
+= -DCONFIG_SME
1051 ifdef CONFIG_CLIENT_MLME
1053 CFLAGS
+= -DCONFIG_CLIENT_MLME
1057 ifdef NEED_80211_COMMON
1058 OBJS
+= ..
/src
/common
/ieee802_11_common.o
1065 ifdef CONFIG_DEBUG_FILE
1066 CFLAGS
+= -DCONFIG_DEBUG_FILE
1069 ifdef CONFIG_DELAYED_MIC_ERROR_REPORT
1070 CFLAGS
+= -DCONFIG_DELAYED_MIC_ERROR_REPORT
1073 OBJS
+= ..
/src
/drivers
/scan_helpers.o
1075 OBJS_wpa_rm
:= ctrl_iface.o mlme.o ctrl_iface_unix.o
1076 OBJS_wpa
:= $(filter-out $(OBJS_wpa_rm
),$(OBJS
)) $(OBJS_h
) tests
/test_wpa.o
1077 ifdef CONFIG_AUTHENTICATOR
1078 OBJS_wpa
+= tests
/link_test.o
1080 OBJS_wpa
+= $(OBJS_l2
)
1081 OBJS
+= wpa_supplicant.o events.o blacklist.o wpas_glue.o scan.o
1082 OBJS_t
:= $(OBJS
) $(OBJS_l2
) eapol_test.o ..
/src
/radius
/radius_client.o
1083 ifndef CONFIG_IBSS_RSN
1084 OBJS_t
+= ..
/src
/radius
/radius.o
1086 OBJS_t
+= ..
/src
/utils
/ip_addr.o
1087 OBJS_t2
:= $(OBJS
) $(OBJS_l2
) preauth_test.o
1088 OBJS
+= $(CONFIG_MAIN
).o
1090 ifdef CONFIG_PRIVSEP
1091 OBJS_priv
+= $(OBJS_d
) ..
/src
/drivers
/drivers.o ..
/src
/drivers
/scan_helpers.o
1092 OBJS_priv
+= $(OBJS_l2
)
1093 OBJS_priv
+= ..
/src
/utils
/os_
$(CONFIG_OS
).o
1094 OBJS_priv
+= ..
/src
/utils
/$(CONFIG_ELOOP
).o
1095 OBJS_priv
+= ..
/src
/utils
/common.o
1096 OBJS_priv
+= ..
/src
/utils
/wpa_debug.o
1097 OBJS_priv
+= ..
/src
/utils
/wpabuf.o
1098 OBJS_priv
+= wpa_priv.o
1099 ifdef CONFIG_DRIVER_TEST
1100 OBJS_priv
+= ..
/src
/crypto
/sha1.o
1101 OBJS_priv
+= ..
/src
/crypto
/md5.o
1102 ifeq ($(CONFIG_TLS
), openssl
)
1103 OBJS_priv
+= ..
/src
/crypto
/crypto_openssl.o
1105 ifeq ($(CONFIG_TLS
), gnutls
)
1106 OBJS_priv
+= ..
/src
/crypto
/crypto_gnutls.o
1108 ifeq ($(CONFIG_TLS
), internal
)
1109 ifeq ($(CONFIG_CRYPTO
), libtomcrypt
)
1110 OBJS_priv
+= ..
/src
/crypto
/crypto_libtomcrypt.o
1112 OBJS_priv
+= ..
/src
/crypto
/crypto_internal.o
1115 endif # CONFIG_DRIVER_TEST
1116 OBJS
+= ..
/src
/l2_packet
/l2_packet_privsep.o
1117 OBJS
+= ..
/src
/drivers
/driver_privsep.o
1118 EXTRA_progs
+= wpa_priv
1120 OBJS
+= $(OBJS_d
) ..
/src
/drivers
/drivers.o
1124 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
1125 CFLAGS
+= -DCONFIG_NDIS_EVENTS_INTEGRATED
1126 OBJS
+= ..
/src
/drivers
/ndis_events.o
1127 EXTRALIBS
+= -loleaut32
-lole32
-luuid
1128 ifdef PLATFORMSDKLIB
1129 EXTRALIBS
+= $(PLATFORMSDKLIB
)/WbemUuid.Lib
1131 EXTRALIBS
+= WbemUuid.Lib
1139 dynamic_eap_methods
: $(EAPDYN
)
1141 wpa_priv
: $(OBJS_priv
)
1142 $(LDO
) $(LDFLAGS
) -o wpa_priv
$(OBJS_priv
) $(LIBS
)
1144 wpa_supplicant
: .config
$(OBJS
) $(EXTRA_progs
)
1145 $(LDO
) $(LDFLAGS
) -o wpa_supplicant
$(OBJS
) $(LIBS
) $(EXTRALIBS
)
1147 eapol_test
: .config
$(OBJS_t
)
1148 $(LDO
) $(LDFLAGS
) -o eapol_test
$(OBJS_t
) $(LIBS
)
1150 preauth_test
: .config
$(OBJS_t2
)
1151 $(LDO
) $(LDFLAGS
) -o preauth_test
$(OBJS_t2
) $(LIBS
)
1153 wpa_passphrase
: $(OBJS_p
)
1154 $(LDO
) $(LDFLAGS
) -o wpa_passphrase
$(OBJS_p
) $(LIBS_p
)
1157 $(LDO
) $(LDFLAGS
) -o wpa_cli
$(OBJS_c
) $(LIBS_c
)
1159 link_test
: $(OBJS
) $(OBJS_h
) tests
/link_test.o
1160 $(LDO
) $(LDFLAGS
) -o link_test
$(OBJS
) $(OBJS_h
) tests
/link_test.o
$(LIBS
)
1162 test_wpa
: $(OBJS_wpa
) $(OBJS_h
)
1163 $(LDO
) $(LDFLAGS
) -o test_wpa
$(OBJS_wpa
) $(LIBS
)
1165 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 \
1166 ..
/src
/crypto
/crypto_
$(CONFIG_CRYPTO
).o ..
/src
/crypto
/md5.o ..
/src
/crypto
/sha1.o \
1167 ..
/src
/crypto
/rc4.o ..
/src
/crypto
/des.o ..
/src
/crypto
/aes_wrap.o \
1168 ..
/src
/crypto
/aes.o ..
/src
/tls
/bignum.o ..
/src
/tls
/rsa.o
1170 $(LDO
) $(LDFLAGS
) -o asn1_test
$(OBJSa
)
1172 OBJSx
=tests
/test_x509v3.o ..
/src
/tls
/asn1.o ..
/src
/tls
/x509v3.o \
1173 ..
/src
/utils
/common.o ..
/src
/utils
/wpa_debug.o ..
/src
/utils
/os_unix.o \
1174 ..
/src
/crypto
/crypto_
$(CONFIG_CRYPTO
).o \
1175 ..
/src
/crypto
/md5.o ..
/src
/crypto
/sha1.o ..
/src
/crypto
/aes.o \
1176 ..
/src
/crypto
/rc4.o ..
/src
/crypto
/des.o ..
/src
/crypto
/aes_wrap.o \
1177 ..
/src
/crypto
/sha256.o \
1178 ..
/src
/tls
/bignum.o ..
/src
/tls
/rsa.o
1179 test_x509v3
: $(OBJSx
)
1180 $(LDO
) $(LDFLAGS
) -o test_x509v3
$(OBJSx
)
1182 win_if_list
: win_if_list.c
1183 $(LDO
) $(LDFLAGS
) -o
$@ win_if_list.c
$(CFLAGS
) $(LIBS_w
)
1185 eap_psk.so
: ..
/src
/eap_peer
/eap_psk.c ..
/src
/eap_common
/eap_psk_common.c
1186 $(CC
) -o
$@
$(CFLAGS
) -shared
-rdynamic
-fPIC
$^ \
1187 -Deap_peer_psk_register
=eap_peer_method_dynamic_init
1189 eap_pax.so
: ..
/src
/eap_peer
/eap_pax.c ..
/src
/eap_common
/eap_pax_common.c
1190 $(CC
) -o
$@
$(CFLAGS
) -shared
-rdynamic
-fPIC
$^ \
1191 -Deap_peer_pax_register
=eap_peer_method_dynamic_init
1193 eap_sake.so
: ..
/src
/eap_peer
/eap_sake.c ..
/src
/eap_common
/eap_sake_common.c
1194 $(CC
) -o
$@
$(CFLAGS
) -shared
-rdynamic
-fPIC
$^ \
1195 -Deap_peer_sake_register
=eap_peer_method_dynamic_init
1197 eap_wsc.so
: ..
/src
/eap_peer
/eap_wsc.c ..
/src
/eap_common
/eap_wsc_common.c ..
/src
/wps
/wps.c
1198 $(CC
) -o
$@
$(CFLAGS
) -shared
-rdynamic
-fPIC
$^ \
1199 -Deap_peer_wsc_register
=eap_peer_method_dynamic_init
1201 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
1202 $(CC
) -o
$@
$(CFLAGS
) -shared
-rdynamic
-fPIC
$^ \
1203 -Deap_peer_ikev2_register
=eap_peer_method_dynamic_init
1206 $(CC
) -o
$@
$(CFLAGS
) -shared
-rdynamic
-fPIC
$< \
1207 -D
$(*F
:eap_
%=eap_peer_
%)_register
=eap_peer_method_dynamic_init
1210 wpa_supplicant.exe
: wpa_supplicant
1212 wpa_cli.exe
: wpa_cli
1214 wpa_passphrase.exe
: wpa_passphrase
1216 win_if_list.exe
: win_if_list
1218 eapol_test.exe
: eapol_test
1221 WINALL
=wpa_supplicant.exe wpa_cli.exe wpa_passphrase.exe win_if_list.exe
1223 windows-bin
: $(WINALL
)
1227 qmake
-o wpa_gui
/Makefile wpa_gui
/wpa_gui.pro
1229 wpa_gui
: wpa_gui
/Makefile
1232 wpa_gui-qt4
/Makefile
:
1233 qmake
-o wpa_gui-qt4
/Makefile wpa_gui-qt4
/wpa_gui.pro
1235 wpa_gui-qt4
: wpa_gui-qt4
/Makefile
1236 $(MAKE
) -C wpa_gui-qt4
1238 TEST_MS_FUNCS_OBJS
= ..
/src
/crypto
/crypto_openssl.o ..
/src
/crypto
/sha1.o ..
/src
/crypto
/md5.o \
1239 ..
/src
/utils
/os_unix.o ..
/src
/crypto
/rc4.o tests
/test_ms_funcs.o
1240 test-ms_funcs
: $(TEST_MS_FUNCS_OBJS
)
1241 $(LDO
) $(LDFLAGS
) -o
$@
$(TEST_MS_FUNCS_OBJS
) $(LIBS
) -lcrypto
1245 TEST_SHA1_OBJS
= ..
/src
/crypto
/sha1.o ..
/src
/crypto
/md5.o tests
/test_sha1.o
#../src/crypto/crypto_openssl.o
1246 test-sha1
: $(TEST_SHA1_OBJS
)
1247 $(LDO
) $(LDFLAGS
) -o
$@
$(TEST_SHA1_OBJS
) $(LIBS
)
1251 TEST_SHA256_OBJS
= ..
/src
/crypto
/sha256.o ..
/src
/crypto
/md5.o tests
/test_sha256.o ..
/src
/utils
/os_unix.o ..
/src
/crypto
/crypto_openssl.o
1252 test-sha256
: $(TEST_SHA256_OBJS
)
1253 $(LDO
) $(LDFLAGS
) -o
$@
$(TEST_SHA256_OBJS
) $(LIBS
)
1257 TEST_AES_OBJS
= ..
/src
/crypto
/aes_wrap.o ..
/src
/crypto
/aes.o tests
/test_aes.o
1258 test-aes
: $(TEST_AES_OBJS
)
1259 $(LDO
) $(LDFLAGS
) -o
$@
$(TEST_AES_OBJS
) $(LIBS
)
1263 TEST_EAP_SIM_COMMON_OBJS
= ..
/src
/crypto
/sha1.o ..
/src
/crypto
/md5.o \
1264 ..
/src
/crypto
/aes_wrap.o ..
/src
/utils
/common.o ..
/src
/utils
/os_unix.o \
1265 ..
/src
/utils
/wpa_debug.o ..
/src
/crypto
/aes.o \
1266 tests
/test_eap_sim_common.o
1267 test-eap_sim_common
: $(TEST_EAP_SIM_COMMON_OBJS
)
1268 $(LDO
) $(LDFLAGS
) -o
$@
$(TEST_AES_OBJS
) $(LIBS
)
1269 .
/test-eap_sim_common
1270 rm test-eap_sim_common
1272 TEST_MD4_OBJS
= ..
/src
/crypto
/md4.o tests
/test_md4.o
#../src/crypto/crypto_openssl.o
1273 test-md4
: $(TEST_MD4_OBJS
)
1274 $(LDO
) $(LDFLAGS
) -o
$@
$(TEST_MD4_OBJS
) $(LIBS
)
1278 TEST_MD5_OBJS
= ..
/src
/crypto
/md5.o tests
/test_md5.o
#../src/crypto/crypto_openssl.o
1279 test-md5
: $(TEST_MD5_OBJS
)
1280 $(LDO
) $(LDFLAGS
) -o
$@
$(TEST_MD5_OBJS
) $(LIBS
)
1284 tests
: test-ms_funcs test-sha1 test-aes test-eap_sim_common test-md4 test-md5
1287 $(MAKE
) -C ..
/src
clean
1288 rm -f core
*~
*.o
*.d eap_
*.so
$(ALL
) $(WINALL
)
1291 fig2dev
-L eps
$*.fig
$*.eps
1294 fig2dev
-L png
-m
3 $*.fig | pngtopnm | pnmscale
0.4 | pnmtopng \
1297 docs-pics
: doc
/wpa_supplicant.png doc
/wpa_supplicant.eps
1300 (cd ..
; doxygen wpa_supplicant
/doc
/doxygen.full
; cd wpa_supplicant
)
1301 $(MAKE
) -C doc
/latex
1302 cp doc
/latex
/refman.pdf wpa_supplicant-devel.pdf
1304 docs-fast
: docs-pics
1305 (cd ..
; doxygen wpa_supplicant
/doc
/doxygen.fast
; cd wpa_supplicant
)
1308 rm -rf doc
/latex doc
/html
1309 rm -f doc
/wpa_supplicant.
{eps
,png
} wpa_supplicant-devel.pdf
1311 -include $(OBJS
:%.o
=%.d
)