~ubuntu-branches/ubuntu/vivid/wpasupplicant/vivid

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Kel Modderman
  • Date: 2008-03-12 20:03:04 UTC
  • mfrom: (1.1.10 upstream)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20080312200304-4331y9wj46pdd34z
Tags: 0.6.3-1
* New upstream release.
* Drop patches applied upstream:
  - debian/patches/30_wpa_gui_qt4_eventhistoryui_rework.patch
  - debian/patches/31_wpa_gui_qt4_eventhistory_always_scrollbar.patch
  - debian/patches/32_wpa_gui_qt4_eventhistory_scroll_with_events.patch
  - debian/patches/40_dbus_ssid_data.patch
* Tidy up the clean target of debian/rules. Now that the madwifi headers are
  handled differently we no longer need to do any cleanup.
* Fix formatting error in debian/ifupdown/wpa_action.8 to make lintian
  quieter.
* Add patch to fix formatting errors in manpages build from sgml source. Use
  <emphasis> tags to hightlight keywords instead of surrounding them in
  strong quotes.
  - debian/patches/41_manpage_format_fixes.patch
* wpasupplicant binary package no longer suggests pcscd, guessnet, iproute
  or wireless-tools, nor does it recommend dhcp3-client. These are not
  needed.
* Add debian/patches/10_silence_siocsiwauth_icotl_failure.patch to disable
  ioctl failure messages that occur under normal conditions.
* Cherry pick two upstream git commits concerning the dbus interface:
  - debian/patches/11_avoid_dbus_version_namespace.patch
  - debian/patches/12_fix_potential_use_after_free.patch
* Add debian/patches/42_manpage_explain_available_drivers.patch to explain
  that not all of the driver backends are available in the provided
  wpa_supplicant binary, and that the canonical list of supported driver
  backends can be retrieved from the wpa_supplicant -h (help) output.
  (Closes: #466910)
* Add debian/patches/20_wpa_gui_qt4_disable_link_prl.patch to remove
  link_prl CONFIG compile flag added by qmake-qt4 >= 4.3.4-2 to avoid excess
  linking.

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)