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 driver_ndis_.o
153 ifndef CONFIG_L2_PACKET
154 CONFIG_L2_PACKET=pcap
157 ifdef CONFIG_USE_NDISUIO
158 CFLAGS += -DCONFIG_USE_NDISUIO
162 ifdef CONFIG_DRIVER_WIRED
163 CFLAGS += -DCONFIG_DRIVER_WIRED
164 OBJS_d += driver_wired.o
167 ifdef CONFIG_DRIVER_TEST
168 CFLAGS += -DCONFIG_DRIVER_TEST
169 OBJS_d += driver_test.o
172 ifndef CONFIG_L2_PACKET
173 CONFIG_L2_PACKET=linux
176 OBJS += l2_packet_$(CONFIG_L2_PACKET).o
178 ifeq ($(CONFIG_L2_PACKET), pcap)
180 CFLAGS += -DCONFIG_WINPCAP
181 LIBS += -lwpcap -lpacket
184 LIBS += -ldnet -lpcap
188 ifeq ($(CONFIG_L2_PACKET), winpcap)
189 LIBS += -lwpcap -lpacket
193 ifeq ($(CONFIG_L2_PACKET), freebsd)
199 ifeq ($(CONFIG_EAP_TLS), dyn)
200 CFLAGS += -DEAP_TLS_DYNAMIC
207 CONFIG_IEEE8021X_EAPOL=y
210 ifdef CONFIG_EAP_PEAP
212 ifeq ($(CONFIG_EAP_PEAP), dyn)
213 CFLAGS += -DEAP_PEAP_DYNAMIC
214 EAPDYN += eap_peap.so
220 CONFIG_IEEE8021X_EAPOL=y
224 ifdef CONFIG_EAP_TTLS
226 ifeq ($(CONFIG_EAP_TTLS), dyn)
227 CFLAGS += -DEAP_TTLS_DYNAMIC
228 EAPDYN += eap_ttls.so
235 CONFIG_IEEE8021X_EAPOL=y
240 ifeq ($(CONFIG_EAP_MD5), dyn)
241 CFLAGS += -DEAP_MD5_DYNAMIC
247 CONFIG_IEEE8021X_EAPOL=y
250 # backwards compatibility for old spelling
251 ifdef CONFIG_MSCHAPV2
252 ifndef CONFIG_EAP_MSCHAPV2
253 CONFIG_EAP_MSCHAPV2=y
257 ifdef CONFIG_EAP_MSCHAPV2
259 ifeq ($(CONFIG_EAP_MSCHAPV2), dyn)
260 CFLAGS += -DEAP_MSCHAPv2_DYNAMIC
261 EAPDYN += eap_mschapv2.so
263 CFLAGS += -DEAP_MSCHAPv2
264 OBJS += eap_mschapv2.o
267 CONFIG_IEEE8021X_EAPOL=y
272 ifeq ($(CONFIG_EAP_GTC), dyn)
273 CFLAGS += -DEAP_GTC_DYNAMIC
279 CONFIG_IEEE8021X_EAPOL=y
284 ifeq ($(CONFIG_EAP_OTP), dyn)
285 CFLAGS += -DEAP_OTP_DYNAMIC
291 CONFIG_IEEE8021X_EAPOL=y
296 ifeq ($(CONFIG_EAP_SIM), dyn)
297 CFLAGS += -DEAP_SIM_DYNAMIC
303 CONFIG_IEEE8021X_EAPOL=y
304 CONFIG_EAP_SIM_COMMON=y
307 ifdef CONFIG_EAP_LEAP
309 ifeq ($(CONFIG_EAP_LEAP), dyn)
310 CFLAGS += -DEAP_LEAP_DYNAMIC
311 EAPDYN += eap_leap.so
317 CONFIG_IEEE8021X_EAPOL=y
322 ifeq ($(CONFIG_EAP_PSK), dyn)
323 CFLAGS += -DEAP_PSK_DYNAMIC
327 OBJS += eap_psk.o eap_psk_common.o
329 CONFIG_IEEE8021X_EAPOL=y
335 ifeq ($(CONFIG_EAP_AKA), dyn)
336 CFLAGS += -DEAP_AKA_DYNAMIC
342 CONFIG_IEEE8021X_EAPOL=y
343 CONFIG_EAP_SIM_COMMON=y
346 ifdef CONFIG_EAP_SIM_COMMON
347 OBJS += eap_sim_common.o
357 ifdef CONFIG_EAP_FAST
359 ifeq ($(CONFIG_EAP_FAST), dyn)
360 CFLAGS += -DEAP_FAST_DYNAMIC
361 EAPDYN += eap_fast.so
371 ifeq ($(CONFIG_EAP_PAX), dyn)
372 CFLAGS += -DEAP_PAX_DYNAMIC
376 OBJS += eap_pax.o eap_pax_common.o
378 CONFIG_IEEE8021X_EAPOL=y
381 ifdef CONFIG_EAP_SAKE
383 ifeq ($(CONFIG_EAP_SAKE), dyn)
384 CFLAGS += -DEAP_SAKE_DYNAMIC
385 EAPDYN += eap_sake.so
388 OBJS += eap_sake.o eap_sake_common.o
390 CONFIG_IEEE8021X_EAPOL=y
393 ifdef CONFIG_EAP_GPSK
395 ifeq ($(CONFIG_EAP_GPSK), dyn)
396 CFLAGS += -DEAP_GPSK_DYNAMIC
397 EAPDYN += eap_gpsk.so
400 OBJS += eap_gpsk.o eap_gpsk_common.o
402 CONFIG_IEEE8021X_EAPOL=y
403 ifdef CONFIG_EAP_GPSK_SHA256
404 CFLAGS += -DEAP_GPSK_SHA256
409 ifdef CONFIG_EAP_VENDOR_TEST
410 ifeq ($(CONFIG_EAP_VENDOR_TEST), dyn)
411 CFLAGS += -DEAP_VENDOR_TEST_DYNAMIC
412 EAPDYN += eap_vendor_test.so
414 CFLAGS += -DEAP_VENDOR_TEST
415 OBJS += eap_vendor_test.o
417 CONFIG_IEEE8021X_EAPOL=y
420 ifdef CONFIG_IEEE8021X_EAPOL
421 # IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
422 CFLAGS += -DIEEE8021X_EAPOL
423 OBJS += eapol_sm.o eap.o eap_methods.o
424 ifdef CONFIG_DYNAMIC_EAP_METHODS
425 CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS
426 LIBS += -ldl -rdynamic
431 # PC/SC interface for smartcards (USIM, GSM SIM)
432 CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC
434 # -lpthread may not be needed depending on how pcsc-lite was configured
435 ifdef CONFIG_NATIVE_WINDOWS
436 #Once MinGW gets support for WinScard, -lwinscard could be used instead of the
437 #dynamic symbol loading that is now used in pcsc_funcs.c
440 LIBS += -lpcsclite -lpthread
448 ifeq ($(CONFIG_TLS), internal)
450 CONFIG_CRYPTO=internal
453 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
454 CFLAGS += -DCONFIG_INTERNAL_X509
456 ifeq ($(CONFIG_CRYPTO), internal)
457 CFLAGS += -DCONFIG_INTERNAL_X509
462 # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
463 CFLAGS += -DEAP_TLS_FUNCS
464 OBJS += eap_tls_common.o
465 ifeq ($(CONFIG_TLS), openssl)
466 CFLAGS += -DEAP_TLS_OPENSSL
467 OBJS += tls_openssl.o
468 LIBS += -lssl -lcrypto
471 ifeq ($(CONFIG_TLS), gnutls)
473 LIBS += -lgnutls -lgcrypt -lgpg-error
475 ifdef CONFIG_GNUTLS_EXTRA
476 CFLAGS += -DCONFIG_GNUTLS_EXTRA
477 LIBS += -lgnutls-extra
480 ifeq ($(CONFIG_TLS), schannel)
481 OBJS += tls_schannel.o
483 ifeq ($(CONFIG_TLS), internal)
484 OBJS += tls_internal.o tlsv1_common.o tlsv1_client.o asn1.o x509v3.o
485 OBJS_p += asn1.o rc4.o aes_wrap.o
486 ifneq ($(CONFIG_BACKEND), file)
489 CFLAGS += -DCONFIG_TLS_INTERNAL
490 ifeq ($(CONFIG_CRYPTO), internal)
491 ifdef CONFIG_INTERNAL_LIBTOMMATH
492 CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
498 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
499 LIBS += -ltomcrypt -ltfm
500 LIBS_p += -ltomcrypt -ltfm
503 ifeq ($(CONFIG_TLS), none)
505 CFLAGS += -DEAP_TLS_NONE
506 CONFIG_INTERNAL_AES=y
507 CONFIG_INTERNAL_SHA1=y
508 CONFIG_INTERNAL_MD5=y
509 CONFIG_INTERNAL_SHA256=y
511 ifdef CONFIG_SMARTCARD
512 ifndef CONFIG_NATIVE_WINDOWS
513 ifneq ($(CONFIG_L2_PACKET), freebsd)
524 CFLAGS += -DPKCS12_FUNCS
527 ifdef CONFIG_SMARTCARD
528 CFLAGS += -DCONFIG_SMARTCARD
538 ifeq ($(CONFIG_TLS), openssl)
542 ifeq ($(CONFIG_TLS), gnutls)
546 ifeq ($(CONFIG_TLS), schannel)
548 ifeq ($(CONFIG_TLS), internal)
549 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
550 LIBS += -ltomcrypt -ltfm
551 LIBS_p += -ltomcrypt -ltfm
555 ifeq ($(CONFIG_TLS), openssl)
558 CONFIG_INTERNAL_SHA256=y
560 ifeq ($(CONFIG_TLS), gnutls)
561 OBJS += crypto_gnutls.o
562 OBJS_p += crypto_gnutls.o
563 CONFIG_INTERNAL_SHA256=y
565 ifeq ($(CONFIG_TLS), schannel)
566 OBJS += crypto_cryptoapi.o
567 OBJS_p += crypto_cryptoapi.o
568 CONFIG_INTERNAL_SHA256=y
570 ifeq ($(CONFIG_TLS), internal)
571 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
572 OBJS += crypto_libtomcrypt.o
573 OBJS_p += crypto_libtomcrypt.o
574 CONFIG_INTERNAL_SHA256=y
576 ifeq ($(CONFIG_CRYPTO), internal)
577 OBJS += crypto_internal.o rsa.o bignum.o
578 OBJS_p += crypto_internal.o rsa.o bignum.o
579 CFLAGS += -DCONFIG_CRYPTO_INTERNAL
580 CONFIG_INTERNAL_AES=y
581 CONFIG_INTERNAL_DES=y
582 CONFIG_INTERNAL_SHA1=y
583 CONFIG_INTERNAL_MD4=y
584 CONFIG_INTERNAL_MD5=y
585 CONFIG_INTERNAL_SHA256=y
587 ifeq ($(CONFIG_CRYPTO), cryptoapi)
588 OBJS += crypto_cryptoapi.o
589 OBJS_p += crypto_cryptoapi.o
590 CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
591 CONFIG_INTERNAL_SHA256=y
594 ifeq ($(CONFIG_TLS), none)
595 OBJS += crypto_none.o
596 OBJS_p += crypto_none.o
597 CONFIG_INTERNAL_SHA256=y
600 CONFIG_INTERNAL_AES=y
601 CONFIG_INTERNAL_SHA1=y
602 CONFIG_INTERNAL_MD5=y
605 ifdef CONFIG_INTERNAL_AES
606 CFLAGS += -DINTERNAL_AES
608 ifdef CONFIG_INTERNAL_SHA1
609 CFLAGS += -DINTERNAL_SHA1
611 ifdef CONFIG_INTERNAL_SHA256
612 CFLAGS += -DINTERNAL_SHA256
614 ifdef CONFIG_INTERNAL_MD5
615 CFLAGS += -DINTERNAL_MD5
617 ifdef CONFIG_INTERNAL_MD4
618 CFLAGS += -DINTERNAL_MD4
620 ifdef CONFIG_INTERNAL_DES
621 CFLAGS += -DINTERNAL_DES
628 ifdef CONFIG_WIRELESS_EXTENSION
629 CFLAGS += -DCONFIG_WIRELESS_EXTENSION
630 OBJS_d += driver_wext.o
633 ifdef CONFIG_CTRL_IFACE
634 ifeq ($(CONFIG_CTRL_IFACE), y)
635 ifdef CONFIG_NATIVE_WINDOWS
636 CONFIG_CTRL_IFACE=named_pipe
638 CONFIG_CTRL_IFACE=unix
641 CFLAGS += -DCONFIG_CTRL_IFACE
642 ifeq ($(CONFIG_CTRL_IFACE), unix)
643 CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
645 ifeq ($(CONFIG_CTRL_IFACE), udp)
646 CFLAGS += -DCONFIG_CTRL_IFACE_UDP
648 ifeq ($(CONFIG_CTRL_IFACE), named_pipe)
649 CFLAGS += -DCONFIG_CTRL_IFACE_NAMED_PIPE
651 OBJS += ctrl_iface.o ctrl_iface_$(CONFIG_CTRL_IFACE).o
654 ifdef CONFIG_CTRL_IFACE_DBUS
655 CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
656 OBJS += ctrl_iface_dbus.o ctrl_iface_dbus_handlers.o dbus_dict_helpers.o
657 LIBS += `pkg-config --libs dbus-1`
658 CFLAGS += `pkg-config --cflags dbus-1`
661 ifdef CONFIG_READLINE
662 CFLAGS += -DCONFIG_READLINE
663 LIBS_c += -lncurses -lreadline
666 ifdef CONFIG_NATIVE_WINDOWS
667 CFLAGS += -DCONFIG_NATIVE_WINDOWS
668 LIBS += -lws2_32 -lgdi32 -lcrypt32
671 ifeq ($(CONFIG_CRYPTO), cryptoapi)
676 ifdef CONFIG_NO_STDOUT_DEBUG
677 CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
678 ifndef CONFIG_CTRL_IFACE
679 CFLAGS += -DCONFIG_NO_WPA_MSG
684 # for eapol_test only
685 CFLAGS += -DCONFIG_IPV6
689 CFLAGS += -DCONFIG_PEERKEY
692 ifdef CONFIG_IEEE80211W
693 CFLAGS += -DCONFIG_IEEE80211W
698 OBJS += wpa.o preauth.o pmksa_cache.o
701 CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2
705 CFLAGS += -DCONFIG_NO_WPA2
708 ifdef CONFIG_NO_AES_EXTRAS
709 CFLAGS += -DCONFIG_NO_AES_WRAP
710 CFLAGS += -DCONFIG_NO_AES_CTR -DCONFIG_NO_AES_OMAC1
711 CFLAGS += -DCONFIG_NO_AES_EAX -DCONFIG_NO_AES_CBC
718 ifdef CONFIG_CLIENT_MLME
720 CFLAGS += -DCONFIG_CLIENT_MLME
727 OBJS += wpa_supplicant.o events.o
728 OBJS_t := $(OBJS) eapol_test.o radius.o radius_client.o
729 OBJS_t2 := $(OBJS) preauth_test.o
730 OBJS += $(CONFIG_MAIN).o drivers.o $(OBJS_d)
732 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
733 CFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED
734 OBJS += ndis_events.o
735 EXTRALIBS += -loleaut32 -lole32 -luuid
737 EXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib
739 EXTRALIBS += WbemUuid.Lib
747 dynamic_eap_methods: $(EAPDYN)
749 wpa_supplicant: .config $(OBJS)
750 $(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS)
752 eapol_test: .config $(OBJS_t)
753 $(LDO) $(LDFLAGS) -o eapol_test $(OBJS_t) $(LIBS)
755 preauth_test: .config $(OBJS_t2)
756 $(LDO) $(LDFLAGS) -o preauth_test $(OBJS_t2) $(LIBS)
758 wpa_passphrase: $(OBJS_p)
759 $(LDO) $(LDFLAGS) -o wpa_passphrase $(OBJS_p) $(LIBS_p)
762 $(LDO) $(LDFLAGS) -o wpa_cli $(OBJS_c) $(LIBS_c)
764 OBJSa=asn1_test.o asn1.o x509v3.o common.o os_unix.o \
765 crypto_$(CONFIG_CRYPTO).o md5.o sha1.o \
766 rc4.o des.o aes_wrap.o \
769 $(LDO) $(LDFLAGS) -o asn1_test $(OBJSa)
771 OBJSx=tests/test_x509v3.o asn1.o x509v3.o \
773 crypto_$(CONFIG_CRYPTO).o \
775 rc4.o des.o aes_wrap.o \
777 test_x509v3: $(OBJSx)
778 $(LDO) $(LDFLAGS) -o test_x509v3 $(OBJSx)
780 win_if_list: win_if_list.c
781 $(LDO) $(LDFLAGS) -o $@ win_if_list.c $(CFLAGS) $(LIBS_w)
783 eap_psk.so: eap_psk.c eap_psk_common.c
784 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
785 -Deap_peer_psk_register=eap_peer_method_dynamic_init
787 eap_pax.so: eap_pax.c eap_pax_common.c
788 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
789 -Deap_peer_pax_register=eap_peer_method_dynamic_init
791 eap_sake.so: eap_sake.c eap_sake_common.c
792 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
793 -Deap_peer_sake_register=eap_peer_method_dynamic_init
796 $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \
797 -D$(*:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init
800 wpa_supplicant.exe: wpa_supplicant
804 wpa_passphrase.exe: wpa_passphrase
806 win_if_list.exe: win_if_list
808 eapol_test.exe: eapol_test
811 WINALL=wpa_supplicant.exe wpa_cli.exe wpa_passphrase.exe win_if_list.exe
813 windows-bin: $(WINALL)
817 qmake -o wpa_gui/Makefile wpa_gui/wpa_gui.pro
819 wpa_gui: wpa_gui/Makefile
822 TEST_MS_FUNCS_OBJS = crypto.o sha1.o md5.o \
823 os_unix.o rc4.o tests/test_ms_funcs.o
824 test-ms_funcs: $(TEST_MS_FUNCS_OBJS)
825 $(LDO) $(LDFLAGS) -o $@ $(TEST_MS_FUNCS_OBJS) $(LIBS) -lcrypto
829 TEST_SHA1_OBJS = sha1.o md5.o tests/test_sha1.o #crypto.o
830 test-sha1: $(TEST_SHA1_OBJS)
831 $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA1_OBJS) $(LIBS)
835 TEST_SHA256_OBJS = sha256.o md5.o tests/test_sha256.o crypto.o
836 test-sha256: $(TEST_SHA256_OBJS)
837 $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA256_OBJS) $(LIBS)
841 TEST_AES_OBJS = aes_wrap.o tests/test_aes.o # crypto.o
842 test-aes: $(TEST_AES_OBJS)
843 $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
847 TEST_EAP_SIM_COMMON_OBJS = sha1.o md5.o \
848 aes_wrap.o common.o os_unix.o \
849 tests/test_eap_sim_common.o
850 test-eap_sim_common: $(TEST_EAP_SIM_COMMON_OBJS)
851 $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
852 ./test-eap_sim_common
853 rm test-eap_sim_common
855 TEST_MD4_OBJS = md4.o tests/test_md4.o #crypto.o
856 test-md4: $(TEST_MD4_OBJS)
857 $(LDO) $(LDFLAGS) -o $@ $(TEST_MD4_OBJS) $(LIBS)
861 TEST_MD5_OBJS = md5.o tests/test_md5.o #crypto.o
862 test-md5: $(TEST_MD5_OBJS)
863 $(LDO) $(LDFLAGS) -o $@ $(TEST_MD5_OBJS) $(LIBS)
867 tests: test-ms_funcs test-sha1 test-aes test-eap_sim_common test-md4 test-md5
870 rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL)
873 fig2dev -L eps $*.fig $*.eps
876 fig2dev -L png -m 3 $*.fig | pngtopnm | pnmscale 0.4 | pnmtopng \
879 docs-pics: doc/wpa_supplicant.png doc/wpa_supplicant.eps
882 doxygen doc/doxygen.full
884 cp doc/latex/refman.pdf wpa_supplicant-devel.pdf
887 doxygen doc/doxygen.fast
890 rm -rf doc/latex doc/html
891 rm -f doc/wpa_supplicant.{eps,png} wpa_supplicant-devel.pdf
893 -include $(OBJS:%.o=%.d)