6 CFLAGS = -MMD -O2 -Wall -g
9 # Include directories for CVS version
10 CFLAGS += -I. -I../utils -I../hostapd
12 ALL=wpa_supplicant wpa_passphrase wpa_cli
14 all: verify_config $(ALL) dynamic_eap_methods
17 @if [ ! -r .config ]; then \
18 echo 'Building wpa_supplicant requires a configuration file'; \
19 echo '(.config). See README for more instructions. You can'; \
20 echo 'run "cp defconfig .config" to create an example'; \
21 echo 'configuration.'; \
26 @if [ -e .config ]; then \
27 echo '.config exists - did not replace it'; \
30 echo CONFIG_DRIVER_HOSTAP=y >> .config
31 echo CONFIG_DRIVER_WEXT=y >> .config
32 echo CONFIG_WIRELESS_EXTENSION=y >> .config
35 mkdir -p $(DESTDIR)/usr/local/sbin/
36 for i in $(ALL); do cp $$i $(DESTDIR)/usr/local/sbin/$$i; done
39 common.o md5.o md4.o \
41 OBJS_p = wpa_passphrase.o sha1.o md5.o md4.o \
43 OBJS_c = wpa_cli.o wpa_ctrl.o
48 ifdef CONFIG_NATIVE_WINDOWS
55 ifeq ($(CONFIG_OS), internal)
56 CFLAGS += -DOS_NO_C_LIB_DEFINES
59 OBJS += os_$(CONFIG_OS).o
60 OBJS_p += os_$(CONFIG_OS).o
61 OBJS_c += os_$(CONFIG_OS).o
66 OBJS += $(CONFIG_ELOOP).o
69 ifdef CONFIG_EAPOL_TEST
70 CFLAGS += -Werror -DEAPOL_TEST
77 ifeq ($(CONFIG_BACKEND), file)
78 OBJS += config_file.o base64.o
79 CFLAGS += -DCONFIG_BACKEND_FILE
82 ifeq ($(CONFIG_BACKEND), winreg)
83 OBJS += config_winreg.o
86 ifeq ($(CONFIG_BACKEND), none)
90 ifdef CONFIG_DRIVER_HOSTAP
91 CFLAGS += -DCONFIG_DRIVER_HOSTAP
92 OBJS_d += driver_hostap.o
93 CONFIG_WIRELESS_EXTENSION=y
96 ifdef CONFIG_DRIVER_WEXT
97 CFLAGS += -DCONFIG_DRIVER_WEXT
98 CONFIG_WIRELESS_EXTENSION=y
101 ifdef CONFIG_DRIVER_PRISM54
102 CFLAGS += -DCONFIG_DRIVER_PRISM54
103 OBJS_d += driver_prism54.o
104 CONFIG_WIRELESS_EXTENSION=y
107 ifdef CONFIG_DRIVER_HERMES
108 CFLAGS += -DCONFIG_DRIVER_HERMES
109 OBJS_d += driver_hermes.o
110 CONFIG_WIRELESS_EXTENSION=y
113 ifdef CONFIG_DRIVER_MADWIFI
114 CFLAGS += -DCONFIG_DRIVER_MADWIFI
115 OBJS_d += driver_madwifi.o
116 CONFIG_WIRELESS_EXTENSION=y
119 ifdef CONFIG_DRIVER_ATMEL
120 CFLAGS += -DCONFIG_DRIVER_ATMEL
121 OBJS_d += driver_atmel.o
122 CONFIG_WIRELESS_EXTENSION=y
125 ifdef CONFIG_DRIVER_NDISWRAPPER
126 CFLAGS += -DCONFIG_DRIVER_NDISWRAPPER
127 OBJS_d += driver_ndiswrapper.o
128 CONFIG_WIRELESS_EXTENSION=y
131 ifdef CONFIG_DRIVER_BROADCOM
132 CFLAGS += -DCONFIG_DRIVER_BROADCOM
133 OBJS_d += driver_broadcom.o
136 ifdef CONFIG_DRIVER_IPW
137 CFLAGS += -DCONFIG_DRIVER_IPW
138 OBJS_d += driver_ipw.o
139 CONFIG_WIRELESS_EXTENSION=y
142 ifdef CONFIG_DRIVER_BSD
143 CFLAGS += -DCONFIG_DRIVER_BSD
144 OBJS_d += driver_bsd.o
145 ifndef CONFIG_L2_PACKET
146 CONFIG_L2_PACKET=freebsd
150 ifdef CONFIG_DRIVER_NDIS
151 CFLAGS += -DCONFIG_DRIVER_NDIS
152 OBJS_d += driver_ndis.o
153 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
154 OBJS_d += driver_ndis_.o
156 ifndef CONFIG_L2_PACKET
157 CONFIG_L2_PACKET=pcap
160 ifdef CONFIG_USE_NDISUIO
161 CFLAGS += -DCONFIG_USE_NDISUIO
165 ifdef CONFIG_DRIVER_WIRED
166 CFLAGS += -DCONFIG_DRIVER_WIRED
167 OBJS_d += driver_wired.o
170 ifdef CONFIG_DRIVER_TEST
171 CFLAGS += -DCONFIG_DRIVER_TEST
172 OBJS_d += driver_test.o
175 ifndef CONFIG_L2_PACKET
176 CONFIG_L2_PACKET=linux
179 OBJS += l2_packet_$(CONFIG_L2_PACKET).o
181 ifeq ($(CONFIG_L2_PACKET), pcap)
183 CFLAGS += -DCONFIG_WINPCAP
184 LIBS += -lwpcap -lpacket
187 LIBS += -ldnet -lpcap
191 ifeq ($(CONFIG_L2_PACKET), winpcap)
192 LIBS += -lwpcap -lpacket
196 ifeq ($(CONFIG_L2_PACKET), freebsd)
202 ifeq ($(CONFIG_EAP_TLS), dyn)
203 CFLAGS += -DEAP_TLS_DYNAMIC
210 CONFIG_IEEE8021X_EAPOL=y
213 ifdef CONFIG_EAP_PEAP
215 ifeq ($(CONFIG_EAP_PEAP), dyn)
216 CFLAGS += -DEAP_PEAP_DYNAMIC
217 EAPDYN += eap_peap.so
223 CONFIG_IEEE8021X_EAPOL=y
227 ifdef CONFIG_EAP_TTLS
229 ifeq ($(CONFIG_EAP_TTLS), dyn)
230 CFLAGS += -DEAP_TTLS_DYNAMIC
231 EAPDYN += eap_ttls.so
238 CONFIG_IEEE8021X_EAPOL=y
243 ifeq ($(CONFIG_EAP_MD5), dyn)
244 CFLAGS += -DEAP_MD5_DYNAMIC
250 CONFIG_IEEE8021X_EAPOL=y
253 # backwards compatibility for old spelling
254 ifdef CONFIG_MSCHAPV2
255 ifndef CONFIG_EAP_MSCHAPV2
256 CONFIG_EAP_MSCHAPV2=y
260 ifdef CONFIG_EAP_MSCHAPV2
262 ifeq ($(CONFIG_EAP_MSCHAPV2), dyn)
263 CFLAGS += -DEAP_MSCHAPv2_DYNAMIC
264 EAPDYN += eap_mschapv2.so
266 CFLAGS += -DEAP_MSCHAPv2
267 OBJS += eap_mschapv2.o
270 CONFIG_IEEE8021X_EAPOL=y
275 ifeq ($(CONFIG_EAP_GTC), dyn)
276 CFLAGS += -DEAP_GTC_DYNAMIC
282 CONFIG_IEEE8021X_EAPOL=y
287 ifeq ($(CONFIG_EAP_OTP), dyn)
288 CFLAGS += -DEAP_OTP_DYNAMIC
294 CONFIG_IEEE8021X_EAPOL=y
299 ifeq ($(CONFIG_EAP_SIM), dyn)
300 CFLAGS += -DEAP_SIM_DYNAMIC
306 CONFIG_IEEE8021X_EAPOL=y
307 CONFIG_EAP_SIM_COMMON=y
310 ifdef CONFIG_EAP_LEAP
312 ifeq ($(CONFIG_EAP_LEAP), dyn)
313 CFLAGS += -DEAP_LEAP_DYNAMIC
314 EAPDYN += eap_leap.so
320 CONFIG_IEEE8021X_EAPOL=y
325 ifeq ($(CONFIG_EAP_PSK), dyn)
326 CFLAGS += -DEAP_PSK_DYNAMIC
330 OBJS += eap_psk.o eap_psk_common.o
332 CONFIG_IEEE8021X_EAPOL=y
338 ifeq ($(CONFIG_EAP_AKA), dyn)
339 CFLAGS += -DEAP_AKA_DYNAMIC
345 CONFIG_IEEE8021X_EAPOL=y
346 CONFIG_EAP_SIM_COMMON=y
349 ifdef CONFIG_EAP_SIM_COMMON
350 OBJS += eap_sim_common.o
360 ifdef CONFIG_EAP_FAST
362 ifeq ($(CONFIG_EAP_FAST), dyn)
363 CFLAGS += -DEAP_FAST_DYNAMIC
364 EAPDYN += eap_fast.so
374 ifeq ($(CONFIG_EAP_PAX), dyn)
375 CFLAGS += -DEAP_PAX_DYNAMIC
379 OBJS += eap_pax.o eap_pax_common.o
381 CONFIG_IEEE8021X_EAPOL=y
384 ifdef CONFIG_EAP_SAKE
386 ifeq ($(CONFIG_EAP_SAKE), dyn)
387 CFLAGS += -DEAP_SAKE_DYNAMIC
388 EAPDYN += eap_sake.so
391 OBJS += eap_sake.o eap_sake_common.o
393 CONFIG_IEEE8021X_EAPOL=y
396 ifdef CONFIG_EAP_GPSK
398 ifeq ($(CONFIG_EAP_GPSK), dyn)
399 CFLAGS += -DEAP_GPSK_DYNAMIC
400 EAPDYN += eap_gpsk.so
403 OBJS += eap_gpsk.o eap_gpsk_common.o
405 CONFIG_IEEE8021X_EAPOL=y
406 ifdef CONFIG_EAP_GPSK_SHA256
407 CFLAGS += -DEAP_GPSK_SHA256
412 ifdef CONFIG_EAP_VENDOR_TEST
413 ifeq ($(CONFIG_EAP_VENDOR_TEST), dyn)
414 CFLAGS += -DEAP_VENDOR_TEST_DYNAMIC
415 EAPDYN += eap_vendor_test.so
417 CFLAGS += -DEAP_VENDOR_TEST
418 OBJS += eap_vendor_test.o
420 CONFIG_IEEE8021X_EAPOL=y
423 ifdef CONFIG_IEEE8021X_EAPOL
424 # IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
425 CFLAGS += -DIEEE8021X_EAPOL
426 OBJS += eapol_sm.o eap.o eap_methods.o
427 ifdef CONFIG_DYNAMIC_EAP_METHODS
428 CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS
429 LIBS += -ldl -rdynamic
434 # PC/SC interface for smartcards (USIM, GSM SIM)
435 CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC
437 # -lpthread may not be needed depending on how pcsc-lite was configured
438 ifdef CONFIG_NATIVE_WINDOWS
439 #Once MinGW gets support for WinScard, -lwinscard could be used instead of the
440 #dynamic symbol loading that is now used in pcsc_funcs.c
443 LIBS += -lpcsclite -lpthread
451 ifeq ($(CONFIG_TLS), internal)
453 CONFIG_CRYPTO=internal
456 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
457 CFLAGS += -DCONFIG_INTERNAL_X509
459 ifeq ($(CONFIG_CRYPTO), internal)
460 CFLAGS += -DCONFIG_INTERNAL_X509
465 # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
466 CFLAGS += -DEAP_TLS_FUNCS
467 OBJS += eap_tls_common.o
468 ifeq ($(CONFIG_TLS), openssl)
469 CFLAGS += -DEAP_TLS_OPENSSL
470 OBJS += tls_openssl.o
471 LIBS += -lssl -lcrypto
474 ifeq ($(CONFIG_TLS), gnutls)
476 LIBS += -lgnutls -lgcrypt -lgpg-error
478 ifdef CONFIG_GNUTLS_EXTRA
479 CFLAGS += -DCONFIG_GNUTLS_EXTRA
480 LIBS += -lgnutls-extra
483 ifeq ($(CONFIG_TLS), schannel)
484 OBJS += tls_schannel.o
486 ifeq ($(CONFIG_TLS), internal)
487 OBJS += tls_internal.o tlsv1_common.o tlsv1_client.o asn1.o x509v3.o
488 OBJS_p += asn1.o rc4.o aes_wrap.o
489 ifneq ($(CONFIG_BACKEND), file)
492 CFLAGS += -DCONFIG_TLS_INTERNAL
493 ifeq ($(CONFIG_CRYPTO), internal)
494 ifdef CONFIG_INTERNAL_LIBTOMMATH
495 CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
501 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
502 LIBS += -ltomcrypt -ltfm
503 LIBS_p += -ltomcrypt -ltfm
506 ifeq ($(CONFIG_TLS), none)
508 CFLAGS += -DEAP_TLS_NONE
509 CONFIG_INTERNAL_AES=y
510 CONFIG_INTERNAL_SHA1=y
511 CONFIG_INTERNAL_MD5=y
512 CONFIG_INTERNAL_SHA256=y
514 ifdef CONFIG_SMARTCARD
515 ifndef CONFIG_NATIVE_WINDOWS
516 ifneq ($(CONFIG_L2_PACKET), freebsd)
527 CFLAGS += -DPKCS12_FUNCS
530 ifdef CONFIG_SMARTCARD
531 CFLAGS += -DCONFIG_SMARTCARD
541 ifeq ($(CONFIG_TLS), openssl)
545 ifeq ($(CONFIG_TLS), gnutls)
549 ifeq ($(CONFIG_TLS), schannel)
551 ifeq ($(CONFIG_TLS), internal)
552 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
553 LIBS += -ltomcrypt -ltfm
554 LIBS_p += -ltomcrypt -ltfm
558 ifeq ($(CONFIG_TLS), openssl)
561 CONFIG_INTERNAL_SHA256=y
563 ifeq ($(CONFIG_TLS), gnutls)
564 OBJS += crypto_gnutls.o
565 OBJS_p += crypto_gnutls.o
566 CONFIG_INTERNAL_SHA256=y
568 ifeq ($(CONFIG_TLS), schannel)
569 OBJS += crypto_cryptoapi.o
570 OBJS_p += crypto_cryptoapi.o
571 CONFIG_INTERNAL_SHA256=y
573 ifeq ($(CONFIG_TLS), internal)
574 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
575 OBJS += crypto_libtomcrypt.o
576 OBJS_p += crypto_libtomcrypt.o
577 CONFIG_INTERNAL_SHA256=y
579 ifeq ($(CONFIG_CRYPTO), internal)
580 OBJS += crypto_internal.o rsa.o bignum.o
581 OBJS_p += crypto_internal.o rsa.o bignum.o
582 CFLAGS += -DCONFIG_CRYPTO_INTERNAL
583 CONFIG_INTERNAL_AES=y
584 CONFIG_INTERNAL_DES=y
585 CONFIG_INTERNAL_SHA1=y
586 CONFIG_INTERNAL_MD4=y
587 CONFIG_INTERNAL_MD5=y
588 CONFIG_INTERNAL_SHA256=y
590 ifeq ($(CONFIG_CRYPTO), cryptoapi)
591 OBJS += crypto_cryptoapi.o
592 OBJS_p += crypto_cryptoapi.o
593 CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
594 CONFIG_INTERNAL_SHA256=y
597 ifeq ($(CONFIG_TLS), none)
598 OBJS += crypto_none.o
599 OBJS_p += crypto_none.o
600 CONFIG_INTERNAL_SHA256=y
603 CONFIG_INTERNAL_AES=y
604 CONFIG_INTERNAL_SHA1=y
605 CONFIG_INTERNAL_MD5=y
608 ifdef CONFIG_INTERNAL_AES
609 CFLAGS += -DINTERNAL_AES
611 ifdef CONFIG_INTERNAL_SHA1
612 CFLAGS += -DINTERNAL_SHA1
614 ifdef CONFIG_INTERNAL_SHA256
615 CFLAGS += -DINTERNAL_SHA256
617 ifdef CONFIG_INTERNAL_MD5
618 CFLAGS += -DINTERNAL_MD5
620 ifdef CONFIG_INTERNAL_MD4
621 CFLAGS += -DINTERNAL_MD4
623 ifdef CONFIG_INTERNAL_DES
624 CFLAGS += -DINTERNAL_DES
631 ifdef CONFIG_WIRELESS_EXTENSION
632 CFLAGS += -DCONFIG_WIRELESS_EXTENSION
633 OBJS_d += driver_wext.o
636 ifdef CONFIG_CTRL_IFACE
637 ifeq ($(CONFIG_CTRL_IFACE), y)
638 ifdef CONFIG_NATIVE_WINDOWS
639 CONFIG_CTRL_IFACE=named_pipe
641 CONFIG_CTRL_IFACE=unix
644 CFLAGS += -DCONFIG_CTRL_IFACE
645 ifeq ($(CONFIG_CTRL_IFACE), unix)
646 CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
648 ifeq ($(CONFIG_CTRL_IFACE), udp)
649 CFLAGS += -DCONFIG_CTRL_IFACE_UDP
651 ifeq ($(CONFIG_CTRL_IFACE), named_pipe)
652 CFLAGS += -DCONFIG_CTRL_IFACE_NAMED_PIPE
654 OBJS += ctrl_iface.o ctrl_iface_$(CONFIG_CTRL_IFACE).o
657 ifdef CONFIG_CTRL_IFACE_DBUS
658 CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
659 OBJS += ctrl_iface_dbus.o ctrl_iface_dbus_handlers.o dbus_dict_helpers.o
661 DBUS_LIBS := $(shell pkg-config --libs dbus-1)
665 DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1)
667 dbus_version=$(subst ., ,$(shell pkg-config --modversion dbus-1))
668 DBUS_VERSION_MAJOR=$(word 1,$(dbus_version))
669 DBUS_VERSION_MINOR=$(word 2,$(dbus_version))
670 ifeq ($(DBUS_VERSION_MAJOR),)
673 ifeq ($(DBUS_VERSION_MINOR),)
676 DBUS_INCLUDE += -DDBUS_VERSION_MAJOR=$(DBUS_VERSION_MAJOR)
677 DBUS_INCLUDE += -DDBUS_VERSION_MINOR=$(DBUS_VERSION_MINOR)
678 CFLAGS += $(DBUS_INCLUDE)
681 ifdef CONFIG_READLINE
682 CFLAGS += -DCONFIG_READLINE
683 LIBS_c += -lncurses -lreadline
686 ifdef CONFIG_NATIVE_WINDOWS
687 CFLAGS += -DCONFIG_NATIVE_WINDOWS
688 LIBS += -lws2_32 -lgdi32 -lcrypt32
691 ifeq ($(CONFIG_CRYPTO), cryptoapi)
696 ifdef CONFIG_NO_STDOUT_DEBUG
697 CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
698 ifndef CONFIG_CTRL_IFACE
699 CFLAGS += -DCONFIG_NO_WPA_MSG
704 # for eapol_test only
705 CFLAGS += -DCONFIG_IPV6
709 CFLAGS += -DCONFIG_PEERKEY
712 ifdef CONFIG_IEEE80211W
713 CFLAGS += -DCONFIG_IEEE80211W
718 OBJS += wpa.o preauth.o pmksa_cache.o
721 CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2
725 CFLAGS += -DCONFIG_NO_WPA2
728 ifdef CONFIG_NO_AES_EXTRAS
729 CFLAGS += -DCONFIG_NO_AES_WRAP
730 CFLAGS += -DCONFIG_NO_AES_CTR -DCONFIG_NO_AES_OMAC1
731 CFLAGS += -DCONFIG_NO_AES_EAX -DCONFIG_NO_AES_CBC
738 ifdef CONFIG_CLIENT_MLME
740 CFLAGS += -DCONFIG_CLIENT_MLME
747 ifdef CONFIG_DEBUG_FILE
748 CFLAGS += -DCONFIG_DEBUG_FILE
751 OBJS += wpa_supplicant.o events.o
752 OBJS_t := $(OBJS) eapol_test.o radius.o radius_client.o
753 OBJS_t2 := $(OBJS) preauth_test.o
754 OBJS += $(CONFIG_MAIN).o drivers.o $(OBJS_d)
756 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
757 CFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED
758 OBJS += ndis_events.o
759 EXTRALIBS += -loleaut32 -lole32 -luuid
761 EXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib
763 EXTRALIBS += WbemUuid.Lib
771 dynamic_eap_methods: $(EAPDYN)
773 wpa_supplicant: .config $(OBJS)
774 $(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS)
776 eapol_test: .config $(OBJS_t)
777 $(LDO) $(LDFLAGS) -o eapol_test $(OBJS_t) $(LIBS)
779 preauth_test: .config $(OBJS_t2)
780 $(LDO) $(LDFLAGS) -o preauth_test $(OBJS_t2) $(LIBS)
782 wpa_passphrase: $(OBJS_p)
783 $(LDO) $(LDFLAGS) -o wpa_passphrase $(OBJS_p) $(LIBS_p)
786 $(LDO) $(LDFLAGS) -o wpa_cli $(OBJS_c) $(LIBS_c)
788 OBJSa=asn1_test.o asn1.o x509v3.o common.o os_unix.o \
789 crypto_$(CONFIG_CRYPTO).o md5.o sha1.o \
790 rc4.o des.o aes_wrap.o \
793 $(LDO) $(LDFLAGS) -o asn1_test $(OBJSa)
795 OBJSx=tests/test_x509v3.o asn1.o x509v3.o \
797 crypto_$(CONFIG_CRYPTO).o \
799 rc4.o des.o aes_wrap.o \
801 test_x509v3: $(OBJSx)
802 $(LDO) $(LDFLAGS) -o test_x509v3 $(OBJSx)
804 win_if_list: win_if_list.c
805 $(LDO) $(LDFLAGS) -o $@ win_if_list.c $(CFLAGS) $(LIBS_w)
807 eap_psk.so: eap_psk.c eap_psk_common.c
808 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
809 -Deap_peer_psk_register=eap_peer_method_dynamic_init
811 eap_pax.so: eap_pax.c eap_pax_common.c
812 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
813 -Deap_peer_pax_register=eap_peer_method_dynamic_init
815 eap_sake.so: eap_sake.c eap_sake_common.c
816 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
817 -Deap_peer_sake_register=eap_peer_method_dynamic_init
820 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \
821 -D$(*:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init
824 wpa_supplicant.exe: wpa_supplicant
828 wpa_passphrase.exe: wpa_passphrase
830 win_if_list.exe: win_if_list
832 eapol_test.exe: eapol_test
835 WINALL=wpa_supplicant.exe wpa_cli.exe wpa_passphrase.exe win_if_list.exe
837 windows-bin: $(WINALL)
841 qmake -o wpa_gui/Makefile wpa_gui/wpa_gui.pro
843 wpa_gui: wpa_gui/Makefile
846 TEST_MS_FUNCS_OBJS = crypto.o sha1.o md5.o \
847 os_unix.o rc4.o tests/test_ms_funcs.o
848 test-ms_funcs: $(TEST_MS_FUNCS_OBJS)
849 $(LDO) $(LDFLAGS) -o $@ $(TEST_MS_FUNCS_OBJS) $(LIBS) -lcrypto
853 TEST_SHA1_OBJS = sha1.o md5.o tests/test_sha1.o #crypto.o
854 test-sha1: $(TEST_SHA1_OBJS)
855 $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA1_OBJS) $(LIBS)
859 TEST_SHA256_OBJS = sha256.o md5.o tests/test_sha256.o crypto.o
860 test-sha256: $(TEST_SHA256_OBJS)
861 $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA256_OBJS) $(LIBS)
865 TEST_AES_OBJS = aes_wrap.o tests/test_aes.o # crypto.o
866 test-aes: $(TEST_AES_OBJS)
867 $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
871 TEST_EAP_SIM_COMMON_OBJS = sha1.o md5.o \
872 aes_wrap.o common.o os_unix.o \
873 tests/test_eap_sim_common.o
874 test-eap_sim_common: $(TEST_EAP_SIM_COMMON_OBJS)
875 $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
876 ./test-eap_sim_common
877 rm test-eap_sim_common
879 TEST_MD4_OBJS = md4.o tests/test_md4.o #crypto.o
880 test-md4: $(TEST_MD4_OBJS)
881 $(LDO) $(LDFLAGS) -o $@ $(TEST_MD4_OBJS) $(LIBS)
885 TEST_MD5_OBJS = md5.o tests/test_md5.o #crypto.o
886 test-md5: $(TEST_MD5_OBJS)
887 $(LDO) $(LDFLAGS) -o $@ $(TEST_MD5_OBJS) $(LIBS)
891 tests: test-ms_funcs test-sha1 test-aes test-eap_sim_common test-md4 test-md5
894 rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL)
897 fig2dev -L eps $*.fig $*.eps
900 fig2dev -L png -m 3 $*.fig | pngtopnm | pnmscale 0.4 | pnmtopng \
903 docs-pics: doc/wpa_supplicant.png doc/wpa_supplicant.eps
906 doxygen doc/doxygen.full
908 cp doc/latex/refman.pdf wpa_supplicant-devel.pdf
911 doxygen doc/doxygen.fast
914 rm -rf doc/latex doc/html
915 rm -f doc/wpa_supplicant.{eps,png} wpa_supplicant-devel.pdf
917 -include $(OBJS:%.o=%.d)