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)