~ubuntu-branches/ubuntu/gutsy/wpasupplicant/gutsy

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler, Alexander Sack
  • Date: 2007-08-26 16:06:57 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20070826160657-2m8pxoweuxe8f93t
Tags: 0.6.0+0.5.8-0ubuntu1
* New upstream release
* remove patch 11_erroneous_manpage_ref, applied upstream
* remove patch 25_wpas_dbus_unregister_iface_fix, applied upstream

[ Alexander Sack ]
* bumping upstream version to replace development version 0.6.0 with
  this package from stable release branch.
* attempt to fix wierd timeout and high latency issues by going
  back to stable upstream version (0.5.9) (LP: #140763,
  LP: #141233).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
ifndef CC
 
2
CC=gcc
 
3
endif
 
4
 
 
5
ifndef CFLAGS
 
6
CFLAGS = -MMD -O2 -Wall -g
 
7
endif
 
8
 
 
9
# Include directories for CVS version
 
10
CFLAGS += -I. -I../utils -I../hostapd
 
11
 
 
12
ALL=wpa_supplicant wpa_passphrase wpa_cli
 
13
 
 
14
all: verify_config $(ALL) dynamic_eap_methods
 
15
 
 
16
verify_config:
 
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.'; \
 
22
                exit 1; \
 
23
        fi
 
24
 
 
25
mkconfig:
 
26
        @if [ -e .config ]; then \
 
27
                echo '.config exists - did not replace it'; \
 
28
                exit 1; \
 
29
        fi
 
30
        echo CONFIG_DRIVER_HOSTAP=y >> .config
 
31
        echo CONFIG_DRIVER_WEXT=y >> .config
 
32
        echo CONFIG_WIRELESS_EXTENSION=y >> .config
 
33
 
 
34
install: all
 
35
        mkdir -p $(DESTDIR)/usr/local/sbin/
 
36
        for i in $(ALL); do cp $$i $(DESTDIR)/usr/local/sbin/$$i; done
 
37
 
 
38
OBJS = config.o \
 
39
        common.o md5.o md4.o \
 
40
        rc4.o sha1.o des.o
 
41
OBJS_p = wpa_passphrase.o sha1.o md5.o md4.o \
 
42
        common.o des.o
 
43
OBJS_c = wpa_cli.o wpa_ctrl.o
 
44
 
 
45
-include .config
 
46
 
 
47
ifndef CONFIG_OS
 
48
ifdef CONFIG_NATIVE_WINDOWS
 
49
CONFIG_OS=win32
 
50
else
 
51
CONFIG_OS=unix
 
52
endif
 
53
endif
 
54
 
 
55
ifeq ($(CONFIG_OS), internal)
 
56
CFLAGS += -DOS_NO_C_LIB_DEFINES
 
57
endif
 
58
 
 
59
OBJS += os_$(CONFIG_OS).o
 
60
OBJS_p += os_$(CONFIG_OS).o
 
61
OBJS_c += os_$(CONFIG_OS).o
 
62
 
 
63
ifndef CONFIG_ELOOP
 
64
CONFIG_ELOOP=eloop
 
65
endif
 
66
OBJS += $(CONFIG_ELOOP).o
 
67
 
 
68
 
 
69
ifdef CONFIG_EAPOL_TEST
 
70
CFLAGS += -Werror -DEAPOL_TEST
 
71
endif
 
72
 
 
73
ifndef CONFIG_BACKEND
 
74
CONFIG_BACKEND=file
 
75
endif
 
76
 
 
77
ifeq ($(CONFIG_BACKEND), file)
 
78
OBJS += config_file.o base64.o
 
79
CFLAGS += -DCONFIG_BACKEND_FILE
 
80
endif
 
81
 
 
82
ifeq ($(CONFIG_BACKEND), winreg)
 
83
OBJS += config_winreg.o
 
84
endif
 
85
 
 
86
ifeq ($(CONFIG_BACKEND), none)
 
87
OBJS += config_none.o
 
88
endif
 
89
 
 
90
ifdef CONFIG_DRIVER_HOSTAP
 
91
CFLAGS += -DCONFIG_DRIVER_HOSTAP
 
92
OBJS_d += driver_hostap.o
 
93
CONFIG_WIRELESS_EXTENSION=y
 
94
endif
 
95
 
 
96
ifdef CONFIG_DRIVER_WEXT
 
97
CFLAGS += -DCONFIG_DRIVER_WEXT
 
98
CONFIG_WIRELESS_EXTENSION=y
 
99
endif
 
100
 
 
101
ifdef CONFIG_DRIVER_PRISM54
 
102
CFLAGS += -DCONFIG_DRIVER_PRISM54
 
103
OBJS_d += driver_prism54.o
 
104
CONFIG_WIRELESS_EXTENSION=y
 
105
endif
 
106
 
 
107
ifdef CONFIG_DRIVER_HERMES
 
108
CFLAGS += -DCONFIG_DRIVER_HERMES
 
109
OBJS_d += driver_hermes.o
 
110
CONFIG_WIRELESS_EXTENSION=y
 
111
endif
 
112
 
 
113
ifdef CONFIG_DRIVER_MADWIFI
 
114
CFLAGS += -DCONFIG_DRIVER_MADWIFI
 
115
OBJS_d += driver_madwifi.o
 
116
CONFIG_WIRELESS_EXTENSION=y
 
117
endif
 
118
 
 
119
ifdef CONFIG_DRIVER_ATMEL
 
120
CFLAGS += -DCONFIG_DRIVER_ATMEL
 
121
OBJS_d += driver_atmel.o
 
122
CONFIG_WIRELESS_EXTENSION=y
 
123
endif
 
124
 
 
125
ifdef CONFIG_DRIVER_NDISWRAPPER
 
126
CFLAGS += -DCONFIG_DRIVER_NDISWRAPPER
 
127
OBJS_d += driver_ndiswrapper.o
 
128
CONFIG_WIRELESS_EXTENSION=y
 
129
endif
 
130
 
 
131
ifdef CONFIG_DRIVER_BROADCOM
 
132
CFLAGS += -DCONFIG_DRIVER_BROADCOM
 
133
OBJS_d += driver_broadcom.o
 
134
endif
 
135
 
 
136
ifdef CONFIG_DRIVER_IPW
 
137
CFLAGS += -DCONFIG_DRIVER_IPW
 
138
OBJS_d += driver_ipw.o
 
139
CONFIG_WIRELESS_EXTENSION=y
 
140
endif
 
141
 
 
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
 
147
endif
 
148
endif
 
149
 
 
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
 
155
endif
 
156
CONFIG_WINPCAP=y
 
157
ifdef CONFIG_USE_NDISUIO
 
158
CFLAGS += -DCONFIG_USE_NDISUIO
 
159
endif
 
160
endif
 
161
 
 
162
ifdef CONFIG_DRIVER_WIRED
 
163
CFLAGS += -DCONFIG_DRIVER_WIRED
 
164
OBJS_d += driver_wired.o
 
165
endif
 
166
 
 
167
ifdef CONFIG_DRIVER_TEST
 
168
CFLAGS += -DCONFIG_DRIVER_TEST
 
169
OBJS_d += driver_test.o
 
170
endif
 
171
 
 
172
ifndef CONFIG_L2_PACKET
 
173
CONFIG_L2_PACKET=linux
 
174
endif
 
175
 
 
176
OBJS += l2_packet_$(CONFIG_L2_PACKET).o
 
177
 
 
178
ifeq ($(CONFIG_L2_PACKET), pcap)
 
179
ifdef CONFIG_WINPCAP
 
180
CFLAGS += -DCONFIG_WINPCAP
 
181
LIBS += -lwpcap -lpacket
 
182
LIBS_w += -lwpcap
 
183
else
 
184
LIBS += -ldnet -lpcap
 
185
endif
 
186
endif
 
187
 
 
188
ifeq ($(CONFIG_L2_PACKET), winpcap)
 
189
LIBS += -lwpcap -lpacket
 
190
LIBS_w += -lwpcap
 
191
endif
 
192
 
 
193
ifeq ($(CONFIG_L2_PACKET), freebsd)
 
194
LIBS += -lpcap
 
195
endif
 
196
 
 
197
ifdef CONFIG_EAP_TLS
 
198
# EAP-TLS
 
199
ifeq ($(CONFIG_EAP_TLS), dyn)
 
200
CFLAGS += -DEAP_TLS_DYNAMIC
 
201
EAPDYN += eap_tls.so
 
202
else
 
203
CFLAGS += -DEAP_TLS
 
204
OBJS += eap_tls.o
 
205
endif
 
206
TLS_FUNCS=y
 
207
CONFIG_IEEE8021X_EAPOL=y
 
208
endif
 
209
 
 
210
ifdef CONFIG_EAP_PEAP
 
211
# EAP-PEAP
 
212
ifeq ($(CONFIG_EAP_PEAP), dyn)
 
213
CFLAGS += -DEAP_PEAP_DYNAMIC
 
214
EAPDYN += eap_peap.so
 
215
else
 
216
CFLAGS += -DEAP_PEAP
 
217
OBJS += eap_peap.o
 
218
endif
 
219
TLS_FUNCS=y
 
220
CONFIG_IEEE8021X_EAPOL=y
 
221
CONFIG_EAP_TLV=y
 
222
endif
 
223
 
 
224
ifdef CONFIG_EAP_TTLS
 
225
# EAP-TTLS
 
226
ifeq ($(CONFIG_EAP_TTLS), dyn)
 
227
CFLAGS += -DEAP_TTLS_DYNAMIC
 
228
EAPDYN += eap_ttls.so
 
229
else
 
230
CFLAGS += -DEAP_TTLS
 
231
OBJS += eap_ttls.o
 
232
endif
 
233
MS_FUNCS=y
 
234
TLS_FUNCS=y
 
235
CONFIG_IEEE8021X_EAPOL=y
 
236
endif
 
237
 
 
238
ifdef CONFIG_EAP_MD5
 
239
# EAP-MD5
 
240
ifeq ($(CONFIG_EAP_MD5), dyn)
 
241
CFLAGS += -DEAP_MD5_DYNAMIC
 
242
EAPDYN += eap_md5.so
 
243
else
 
244
CFLAGS += -DEAP_MD5
 
245
OBJS += eap_md5.o
 
246
endif
 
247
CONFIG_IEEE8021X_EAPOL=y
 
248
endif
 
249
 
 
250
# backwards compatibility for old spelling
 
251
ifdef CONFIG_MSCHAPV2
 
252
ifndef CONFIG_EAP_MSCHAPV2
 
253
CONFIG_EAP_MSCHAPV2=y
 
254
endif
 
255
endif
 
256
 
 
257
ifdef CONFIG_EAP_MSCHAPV2
 
258
# EAP-MSCHAPv2
 
259
ifeq ($(CONFIG_EAP_MSCHAPV2), dyn)
 
260
CFLAGS += -DEAP_MSCHAPv2_DYNAMIC
 
261
EAPDYN += eap_mschapv2.so
 
262
else
 
263
CFLAGS += -DEAP_MSCHAPv2
 
264
OBJS += eap_mschapv2.o
 
265
endif
 
266
MS_FUNCS=y
 
267
CONFIG_IEEE8021X_EAPOL=y
 
268
endif
 
269
 
 
270
ifdef CONFIG_EAP_GTC
 
271
# EAP-GTC
 
272
ifeq ($(CONFIG_EAP_GTC), dyn)
 
273
CFLAGS += -DEAP_GTC_DYNAMIC
 
274
EAPDYN += eap_gtc.so
 
275
else
 
276
CFLAGS += -DEAP_GTC
 
277
OBJS += eap_gtc.o
 
278
endif
 
279
CONFIG_IEEE8021X_EAPOL=y
 
280
endif
 
281
 
 
282
ifdef CONFIG_EAP_OTP
 
283
# EAP-OTP
 
284
ifeq ($(CONFIG_EAP_OTP), dyn)
 
285
CFLAGS += -DEAP_OTP_DYNAMIC
 
286
EAPDYN += eap_otp.so
 
287
else
 
288
CFLAGS += -DEAP_OTP
 
289
OBJS += eap_otp.o
 
290
endif
 
291
CONFIG_IEEE8021X_EAPOL=y
 
292
endif
 
293
 
 
294
ifdef CONFIG_EAP_SIM
 
295
# EAP-SIM
 
296
ifeq ($(CONFIG_EAP_SIM), dyn)
 
297
CFLAGS += -DEAP_SIM_DYNAMIC
 
298
EAPDYN += eap_sim.so
 
299
else
 
300
CFLAGS += -DEAP_SIM
 
301
OBJS += eap_sim.o
 
302
endif
 
303
CONFIG_IEEE8021X_EAPOL=y
 
304
CONFIG_EAP_SIM_COMMON=y
 
305
endif
 
306
 
 
307
ifdef CONFIG_EAP_LEAP
 
308
# EAP-LEAP
 
309
ifeq ($(CONFIG_EAP_LEAP), dyn)
 
310
CFLAGS += -DEAP_LEAP_DYNAMIC
 
311
EAPDYN += eap_leap.so
 
312
else
 
313
CFLAGS += -DEAP_LEAP
 
314
OBJS += eap_leap.o
 
315
endif
 
316
MS_FUNCS=y
 
317
CONFIG_IEEE8021X_EAPOL=y
 
318
endif
 
319
 
 
320
ifdef CONFIG_EAP_PSK
 
321
# EAP-PSK
 
322
ifeq ($(CONFIG_EAP_PSK), dyn)
 
323
CFLAGS += -DEAP_PSK_DYNAMIC
 
324
EAPDYN += eap_psk.so
 
325
else
 
326
CFLAGS += -DEAP_PSK
 
327
OBJS += eap_psk.o eap_psk_common.o
 
328
endif
 
329
CONFIG_IEEE8021X_EAPOL=y
 
330
NEED_AES=y
 
331
endif
 
332
 
 
333
ifdef CONFIG_EAP_AKA
 
334
# EAP-AKA
 
335
ifeq ($(CONFIG_EAP_AKA), dyn)
 
336
CFLAGS += -DEAP_AKA_DYNAMIC
 
337
EAPDYN += eap_aka.so
 
338
else
 
339
CFLAGS += -DEAP_AKA
 
340
OBJS += eap_aka.o
 
341
endif
 
342
CONFIG_IEEE8021X_EAPOL=y
 
343
CONFIG_EAP_SIM_COMMON=y
 
344
endif
 
345
 
 
346
ifdef CONFIG_EAP_SIM_COMMON
 
347
OBJS += eap_sim_common.o
 
348
NEED_AES=y
 
349
endif
 
350
 
 
351
ifdef CONFIG_EAP_TLV
 
352
# EAP-TLV
 
353
CFLAGS += -DEAP_TLV
 
354
OBJS += eap_tlv.o
 
355
endif
 
356
 
 
357
ifdef CONFIG_EAP_FAST
 
358
# EAP-FAST
 
359
ifeq ($(CONFIG_EAP_FAST), dyn)
 
360
CFLAGS += -DEAP_FAST_DYNAMIC
 
361
EAPDYN += eap_fast.so
 
362
else
 
363
CFLAGS += -DEAP_FAST
 
364
OBJS += eap_fast.o
 
365
endif
 
366
TLS_FUNCS=y
 
367
endif
 
368
 
 
369
ifdef CONFIG_EAP_PAX
 
370
# EAP-PAX
 
371
ifeq ($(CONFIG_EAP_PAX), dyn)
 
372
CFLAGS += -DEAP_PAX_DYNAMIC
 
373
EAPDYN += eap_pax.so
 
374
else
 
375
CFLAGS += -DEAP_PAX
 
376
OBJS += eap_pax.o eap_pax_common.o
 
377
endif
 
378
CONFIG_IEEE8021X_EAPOL=y
 
379
endif
 
380
 
 
381
ifdef CONFIG_EAP_SAKE
 
382
# EAP-SAKE
 
383
ifeq ($(CONFIG_EAP_SAKE), dyn)
 
384
CFLAGS += -DEAP_SAKE_DYNAMIC
 
385
EAPDYN += eap_sake.so
 
386
else
 
387
CFLAGS += -DEAP_SAKE
 
388
OBJS += eap_sake.o eap_sake_common.o
 
389
endif
 
390
CONFIG_IEEE8021X_EAPOL=y
 
391
endif
 
392
 
 
393
ifdef CONFIG_EAP_GPSK
 
394
# EAP-GPSK
 
395
ifeq ($(CONFIG_EAP_GPSK), dyn)
 
396
CFLAGS += -DEAP_GPSK_DYNAMIC
 
397
EAPDYN += eap_gpsk.so
 
398
else
 
399
CFLAGS += -DEAP_GPSK
 
400
OBJS += eap_gpsk.o eap_gpsk_common.o
 
401
endif
 
402
CONFIG_IEEE8021X_EAPOL=y
 
403
ifdef CONFIG_EAP_GPSK_SHA256
 
404
CFLAGS += -DEAP_GPSK_SHA256
 
405
NEED_SHA256=y
 
406
endif
 
407
endif
 
408
 
 
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
 
413
else
 
414
CFLAGS += -DEAP_VENDOR_TEST
 
415
OBJS += eap_vendor_test.o
 
416
endif
 
417
CONFIG_IEEE8021X_EAPOL=y
 
418
endif
 
419
 
 
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
 
427
endif
 
428
endif
 
429
 
 
430
ifdef CONFIG_PCSC
 
431
# PC/SC interface for smartcards (USIM, GSM SIM)
 
432
CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC
 
433
OBJS += pcsc_funcs.o
 
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
 
438
#LIBS += -lwinscard
 
439
else
 
440
LIBS += -lpcsclite -lpthread
 
441
endif
 
442
endif
 
443
 
 
444
ifndef CONFIG_TLS
 
445
CONFIG_TLS=openssl
 
446
endif
 
447
 
 
448
ifeq ($(CONFIG_TLS), internal)
 
449
ifndef CONFIG_CRYPTO
 
450
CONFIG_CRYPTO=internal
 
451
endif
 
452
endif
 
453
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
 
454
CFLAGS += -DCONFIG_INTERNAL_X509
 
455
endif
 
456
ifeq ($(CONFIG_CRYPTO), internal)
 
457
CFLAGS += -DCONFIG_INTERNAL_X509
 
458
endif
 
459
 
 
460
 
 
461
ifdef TLS_FUNCS
 
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
 
469
LIBS_p += -lcrypto
 
470
endif
 
471
ifeq ($(CONFIG_TLS), gnutls)
 
472
OBJS += tls_gnutls.o
 
473
LIBS += -lgnutls -lgcrypt -lgpg-error
 
474
LIBS_p += -lgcrypt
 
475
ifdef CONFIG_GNUTLS_EXTRA
 
476
CFLAGS += -DCONFIG_GNUTLS_EXTRA
 
477
LIBS += -lgnutls-extra
 
478
endif
 
479
endif
 
480
ifeq ($(CONFIG_TLS), schannel)
 
481
OBJS += tls_schannel.o
 
482
endif
 
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)
 
487
OBJS += base64.o
 
488
endif
 
489
CFLAGS += -DCONFIG_TLS_INTERNAL
 
490
ifeq ($(CONFIG_CRYPTO), internal)
 
491
ifdef CONFIG_INTERNAL_LIBTOMMATH
 
492
CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
 
493
else
 
494
LIBS += -ltommath
 
495
LIBS_p += -ltommath
 
496
endif
 
497
endif
 
498
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
 
499
LIBS += -ltomcrypt -ltfm
 
500
LIBS_p += -ltomcrypt -ltfm
 
501
endif
 
502
endif
 
503
ifeq ($(CONFIG_TLS), none)
 
504
OBJS += tls_none.o
 
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
 
510
endif
 
511
ifdef CONFIG_SMARTCARD
 
512
ifndef CONFIG_NATIVE_WINDOWS
 
513
ifneq ($(CONFIG_L2_PACKET), freebsd)
 
514
LIBS += -ldl
 
515
endif
 
516
endif
 
517
endif
 
518
NEED_CRYPTO=y
 
519
else
 
520
OBJS += tls_none.o
 
521
endif
 
522
 
 
523
ifdef CONFIG_PKCS12
 
524
CFLAGS += -DPKCS12_FUNCS
 
525
endif
 
526
 
 
527
ifdef CONFIG_SMARTCARD
 
528
CFLAGS += -DCONFIG_SMARTCARD
 
529
endif
 
530
 
 
531
ifdef MS_FUNCS
 
532
OBJS += ms_funcs.o
 
533
NEED_CRYPTO=y
 
534
endif
 
535
 
 
536
ifdef NEED_CRYPTO
 
537
ifndef TLS_FUNCS
 
538
ifeq ($(CONFIG_TLS), openssl)
 
539
LIBS += -lcrypto
 
540
LIBS_p += -lcrypto
 
541
endif
 
542
ifeq ($(CONFIG_TLS), gnutls)
 
543
LIBS += -lgcrypt
 
544
LIBS_p += -lgcrypt
 
545
endif
 
546
ifeq ($(CONFIG_TLS), schannel)
 
547
endif
 
548
ifeq ($(CONFIG_TLS), internal)
 
549
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
 
550
LIBS += -ltomcrypt -ltfm
 
551
LIBS_p += -ltomcrypt -ltfm
 
552
endif
 
553
endif
 
554
endif
 
555
ifeq ($(CONFIG_TLS), openssl)
 
556
OBJS += crypto.o
 
557
OBJS_p += crypto.o
 
558
CONFIG_INTERNAL_SHA256=y
 
559
endif
 
560
ifeq ($(CONFIG_TLS), gnutls)
 
561
OBJS += crypto_gnutls.o
 
562
OBJS_p += crypto_gnutls.o
 
563
CONFIG_INTERNAL_SHA256=y
 
564
endif
 
565
ifeq ($(CONFIG_TLS), schannel)
 
566
OBJS += crypto_cryptoapi.o
 
567
OBJS_p += crypto_cryptoapi.o
 
568
CONFIG_INTERNAL_SHA256=y
 
569
endif
 
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
 
575
endif
 
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
 
586
endif
 
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
 
592
endif
 
593
endif
 
594
ifeq ($(CONFIG_TLS), none)
 
595
OBJS += crypto_none.o
 
596
OBJS_p += crypto_none.o
 
597
CONFIG_INTERNAL_SHA256=y
 
598
endif
 
599
else
 
600
CONFIG_INTERNAL_AES=y
 
601
CONFIG_INTERNAL_SHA1=y
 
602
CONFIG_INTERNAL_MD5=y
 
603
endif
 
604
 
 
605
ifdef CONFIG_INTERNAL_AES
 
606
CFLAGS += -DINTERNAL_AES
 
607
endif
 
608
ifdef CONFIG_INTERNAL_SHA1
 
609
CFLAGS += -DINTERNAL_SHA1
 
610
endif
 
611
ifdef CONFIG_INTERNAL_SHA256
 
612
CFLAGS += -DINTERNAL_SHA256
 
613
endif
 
614
ifdef CONFIG_INTERNAL_MD5
 
615
CFLAGS += -DINTERNAL_MD5
 
616
endif
 
617
ifdef CONFIG_INTERNAL_MD4
 
618
CFLAGS += -DINTERNAL_MD4
 
619
endif
 
620
ifdef CONFIG_INTERNAL_DES
 
621
CFLAGS += -DINTERNAL_DES
 
622
endif
 
623
 
 
624
ifdef NEED_SHA256
 
625
OBJS += sha256.o
 
626
endif
 
627
 
 
628
ifdef CONFIG_WIRELESS_EXTENSION
 
629
CFLAGS += -DCONFIG_WIRELESS_EXTENSION
 
630
OBJS_d += driver_wext.o
 
631
endif
 
632
 
 
633
ifdef CONFIG_CTRL_IFACE
 
634
ifeq ($(CONFIG_CTRL_IFACE), y)
 
635
ifdef CONFIG_NATIVE_WINDOWS
 
636
CONFIG_CTRL_IFACE=named_pipe
 
637
else
 
638
CONFIG_CTRL_IFACE=unix
 
639
endif
 
640
endif
 
641
CFLAGS += -DCONFIG_CTRL_IFACE
 
642
ifeq ($(CONFIG_CTRL_IFACE), unix)
 
643
CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
 
644
endif
 
645
ifeq ($(CONFIG_CTRL_IFACE), udp)
 
646
CFLAGS += -DCONFIG_CTRL_IFACE_UDP
 
647
endif
 
648
ifeq ($(CONFIG_CTRL_IFACE), named_pipe)
 
649
CFLAGS += -DCONFIG_CTRL_IFACE_NAMED_PIPE
 
650
endif
 
651
OBJS += ctrl_iface.o ctrl_iface_$(CONFIG_CTRL_IFACE).o
 
652
endif
 
653
 
 
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`
 
659
endif
 
660
 
 
661
ifdef CONFIG_READLINE
 
662
CFLAGS += -DCONFIG_READLINE
 
663
LIBS_c += -lncurses -lreadline
 
664
endif
 
665
 
 
666
ifdef CONFIG_NATIVE_WINDOWS
 
667
CFLAGS += -DCONFIG_NATIVE_WINDOWS
 
668
LIBS += -lws2_32 -lgdi32 -lcrypt32
 
669
LIBS_c += -lws2_32
 
670
LIBS_p += -lws2_32
 
671
ifeq ($(CONFIG_CRYPTO), cryptoapi)
 
672
LIBS_p += -lcrypt32
 
673
endif
 
674
endif
 
675
 
 
676
ifdef CONFIG_NO_STDOUT_DEBUG
 
677
CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
 
678
ifndef CONFIG_CTRL_IFACE
 
679
CFLAGS += -DCONFIG_NO_WPA_MSG
 
680
endif
 
681
endif
 
682
 
 
683
ifdef CONFIG_IPV6
 
684
# for eapol_test only
 
685
CFLAGS += -DCONFIG_IPV6
 
686
endif
 
687
 
 
688
ifdef CONFIG_PEERKEY
 
689
CFLAGS += -DCONFIG_PEERKEY
 
690
endif
 
691
 
 
692
ifdef CONFIG_IEEE80211W
 
693
CFLAGS += -DCONFIG_IEEE80211W
 
694
NEED_SHA256=y
 
695
endif
 
696
 
 
697
ifndef CONFIG_NO_WPA
 
698
OBJS += wpa.o preauth.o pmksa_cache.o
 
699
NEED_AES=y
 
700
else
 
701
CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2
 
702
endif
 
703
 
 
704
ifdef CONFIG_NO_WPA2
 
705
CFLAGS += -DCONFIG_NO_WPA2
 
706
endif
 
707
 
 
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
 
712
endif
 
713
 
 
714
ifdef NEED_AES
 
715
OBJS += aes_wrap.o
 
716
endif
 
717
 
 
718
ifdef CONFIG_CLIENT_MLME
 
719
OBJS += mlme.o
 
720
CFLAGS += -DCONFIG_CLIENT_MLME
 
721
endif
 
722
 
 
723
ifndef CONFIG_MAIN
 
724
CONFIG_MAIN=main
 
725
endif
 
726
 
 
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)
 
731
 
 
732
ifdef CONFIG_NDIS_EVENTS_INTEGRATED
 
733
CFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED
 
734
OBJS += ndis_events.o
 
735
EXTRALIBS += -loleaut32 -lole32 -luuid
 
736
ifdef PLATFORMSDKLIB
 
737
EXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib
 
738
else
 
739
EXTRALIBS += WbemUuid.Lib
 
740
endif
 
741
endif
 
742
 
 
743
ifndef LDO
 
744
LDO=$(CC)
 
745
endif
 
746
 
 
747
dynamic_eap_methods: $(EAPDYN)
 
748
 
 
749
wpa_supplicant: .config $(OBJS)
 
750
        $(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS)
 
751
 
 
752
eapol_test: .config $(OBJS_t)
 
753
        $(LDO) $(LDFLAGS) -o eapol_test $(OBJS_t) $(LIBS)
 
754
 
 
755
preauth_test: .config $(OBJS_t2) 
 
756
        $(LDO) $(LDFLAGS) -o preauth_test $(OBJS_t2) $(LIBS)
 
757
 
 
758
wpa_passphrase: $(OBJS_p)
 
759
        $(LDO) $(LDFLAGS) -o wpa_passphrase $(OBJS_p) $(LIBS_p)
 
760
 
 
761
wpa_cli: $(OBJS_c)
 
762
        $(LDO) $(LDFLAGS) -o wpa_cli $(OBJS_c) $(LIBS_c)
 
763
 
 
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 \
 
767
        bignum.o rsa.o
 
768
asn1_test: $(OBJSa)
 
769
        $(LDO) $(LDFLAGS) -o asn1_test $(OBJSa)
 
770
 
 
771
OBJSx=tests/test_x509v3.o asn1.o x509v3.o \
 
772
        common.o os_unix.o \
 
773
        crypto_$(CONFIG_CRYPTO).o \
 
774
        md5.o sha1.o \
 
775
        rc4.o des.o aes_wrap.o \
 
776
        bignum.o rsa.o
 
777
test_x509v3: $(OBJSx)
 
778
        $(LDO) $(LDFLAGS) -o test_x509v3 $(OBJSx)
 
779
 
 
780
win_if_list: win_if_list.c
 
781
        $(LDO) $(LDFLAGS) -o $@ win_if_list.c $(CFLAGS) $(LIBS_w)
 
782
 
 
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
 
786
 
 
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
 
790
 
 
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
 
794
 
 
795
%.so: %.c
 
796
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \
 
797
                -D$(*:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init
 
798
 
 
799
 
 
800
wpa_supplicant.exe: wpa_supplicant
 
801
        mv -f $< $@
 
802
wpa_cli.exe: wpa_cli
 
803
        mv -f $< $@
 
804
wpa_passphrase.exe: wpa_passphrase
 
805
        mv -f $< $@
 
806
win_if_list.exe: win_if_list
 
807
        mv -f $< $@
 
808
eapol_test.exe: eapol_test
 
809
        mv -f $< $@
 
810
 
 
811
WINALL=wpa_supplicant.exe wpa_cli.exe wpa_passphrase.exe win_if_list.exe
 
812
 
 
813
windows-bin: $(WINALL)
 
814
        $(STRIP) $(WINALL)
 
815
 
 
816
wpa_gui/Makefile:
 
817
        qmake -o wpa_gui/Makefile wpa_gui/wpa_gui.pro 
 
818
 
 
819
wpa_gui: wpa_gui/Makefile
 
820
        $(MAKE) -C wpa_gui
 
821
 
 
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
 
826
        ./test-ms_funcs
 
827
        rm test-ms_funcs
 
828
 
 
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)
 
832
        ./test-sha1
 
833
        rm test-sha1
 
834
 
 
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)
 
838
        ./test-sha256
 
839
        rm test-sha256
 
840
 
 
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)
 
844
        ./test-aes
 
845
        rm test-aes
 
846
 
 
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
 
854
 
 
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)
 
858
        ./test-md4
 
859
        rm test-md4
 
860
 
 
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)
 
864
        ./test-md5
 
865
        rm test-md5
 
866
 
 
867
tests: test-ms_funcs test-sha1 test-aes test-eap_sim_common test-md4 test-md5
 
868
 
 
869
clean:
 
870
        rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL)
 
871
 
 
872
%.eps: %.fig
 
873
        fig2dev -L eps $*.fig $*.eps
 
874
 
 
875
%.png: %.fig
 
876
        fig2dev -L png -m 3 $*.fig | pngtopnm | pnmscale 0.4 | pnmtopng \
 
877
                > $*.png
 
878
 
 
879
docs-pics: doc/wpa_supplicant.png doc/wpa_supplicant.eps
 
880
 
 
881
docs: docs-pics
 
882
        doxygen doc/doxygen.full
 
883
        $(MAKE) -C doc/latex
 
884
        cp doc/latex/refman.pdf wpa_supplicant-devel.pdf
 
885
 
 
886
docs-fast: docs-pics
 
887
        doxygen doc/doxygen.fast
 
888
 
 
889
clean-docs:
 
890
        rm -rf doc/latex doc/html
 
891
        rm -f doc/wpa_supplicant.{eps,png} wpa_supplicant-devel.pdf
 
892
 
 
893
-include $(OBJS:%.o=%.d)