~ubuntu-branches/ubuntu/natty/wpasupplicant/natty

« back to all changes in this revision

Viewing changes to .pc/01_use_pkg-config_for_pcsc-lite_module.patch/wpa_supplicant/Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Kel Modderman
  • Date: 2010-02-27 11:30:53 UTC
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: james.westby@ubuntu.com-20100227113053-x8pdibn0kmq3hjt1
* Switch to source format 3.0 (quilt), drop quilt build dependency
  and remove '--with quilt' from dh command in debian/rules.
* Fix "FTBFS on kfreebsd-gnu" with addition of 21_kfreebsd.patch.
  Thanks to work by Stefan Lippers-Hollmann and Petr Salinger.
  (Closes: #480572)
* Disable experimental feature CONFIG_IEEE80211W (management frame
  protection) due to it not being supported by any driver but ath9k
  and it generating ioctl errors which cause much concern among users
  for little to no benefit.
* Add traling blank line to debian/NEWS to assist apt-listchanges as
  per lintian advice.
* Cherry pick 30_cfg80211_association_optimisation.patch from upstream
  git. Add cfg80211-specific optimization to avoid silly behavior.

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
export LIBDIR ?= /usr/local/lib/
 
10
export BINDIR ?= /usr/local/sbin/
 
11
 
 
12
CFLAGS += -I../src
 
13
CFLAGS += -I../src/crypto
 
14
CFLAGS += -I../src/utils
 
15
CFLAGS += -I../src/common
 
16
CFLAGS += -I../src/rsn_supp
 
17
 
 
18
ALL=wpa_supplicant wpa_passphrase wpa_cli
 
19
 
 
20
all: verify_config $(ALL) dynamic_eap_methods
 
21
 
 
22
verify_config:
 
23
        @if [ ! -r .config ]; then \
 
24
                echo 'Building wpa_supplicant requires a configuration file'; \
 
25
                echo '(.config). See README for more instructions. You can'; \
 
26
                echo 'run "cp defconfig .config" to create an example'; \
 
27
                echo 'configuration.'; \
 
28
                exit 1; \
 
29
        fi
 
30
 
 
31
mkconfig:
 
32
        @if [ -e .config ]; then \
 
33
                echo '.config exists - did not replace it'; \
 
34
                exit 1; \
 
35
        fi
 
36
        echo CONFIG_DRIVER_HOSTAP=y >> .config
 
37
        echo CONFIG_DRIVER_WEXT=y >> .config
 
38
 
 
39
install: all
 
40
        mkdir -p $(DESTDIR)$(BINDIR)
 
41
        for i in $(ALL); do cp $$i $(DESTDIR)$(BINDIR)/$$i; done
 
42
        $(MAKE) -C ../src install
 
43
 
 
44
OBJS = config.o
 
45
OBJS += ../src/utils/common.o
 
46
OBJS += ../src/utils/wpa_debug.o
 
47
OBJS += ../src/utils/wpabuf.o
 
48
OBJS += ../src/crypto/md5.o
 
49
OBJS += ../src/crypto/rc4.o
 
50
OBJS += ../src/crypto/md4.o
 
51
OBJS += ../src/crypto/sha1.o
 
52
OBJS += ../src/crypto/des.o
 
53
OBJS_p = wpa_passphrase.o
 
54
OBJS_p += ../src/utils/common.o
 
55
OBJS_p += ../src/utils/wpa_debug.o
 
56
OBJS_p += ../src/crypto/md5.o
 
57
OBJS_p += ../src/crypto/md4.o
 
58
OBJS_p += ../src/crypto/sha1.o
 
59
OBJS_p += ../src/crypto/des.o
 
60
OBJS_c = wpa_cli.o ../src/common/wpa_ctrl.o
 
61
 
 
62
-include .config
 
63
 
 
64
ifndef CONFIG_OS
 
65
ifdef CONFIG_NATIVE_WINDOWS
 
66
CONFIG_OS=win32
 
67
else
 
68
CONFIG_OS=unix
 
69
endif
 
70
endif
 
71
 
 
72
ifeq ($(CONFIG_OS), internal)
 
73
CFLAGS += -DOS_NO_C_LIB_DEFINES
 
74
endif
 
75
 
 
76
OBJS += ../src/utils/os_$(CONFIG_OS).o
 
77
OBJS_p += ../src/utils/os_$(CONFIG_OS).o
 
78
OBJS_c += ../src/utils/os_$(CONFIG_OS).o
 
79
 
 
80
ifndef CONFIG_ELOOP
 
81
CONFIG_ELOOP=eloop
 
82
endif
 
83
OBJS += ../src/utils/$(CONFIG_ELOOP).o
 
84
 
 
85
 
 
86
ifdef CONFIG_EAPOL_TEST
 
87
CFLAGS += -Werror -DEAPOL_TEST
 
88
endif
 
89
 
 
90
ifndef CONFIG_BACKEND
 
91
CONFIG_BACKEND=file
 
92
endif
 
93
 
 
94
ifeq ($(CONFIG_BACKEND), file)
 
95
OBJS += config_file.o
 
96
ifndef CONFIG_NO_CONFIG_BLOBS
 
97
NEED_BASE64=y
 
98
endif
 
99
CFLAGS += -DCONFIG_BACKEND_FILE
 
100
endif
 
101
 
 
102
ifeq ($(CONFIG_BACKEND), winreg)
 
103
OBJS += config_winreg.o
 
104
endif
 
105
 
 
106
ifeq ($(CONFIG_BACKEND), none)
 
107
OBJS += config_none.o
 
108
endif
 
109
 
 
110
ifdef CONFIG_NO_CONFIG_WRITE
 
111
CFLAGS += -DCONFIG_NO_CONFIG_WRITE
 
112
endif
 
113
 
 
114
ifdef CONFIG_NO_CONFIG_BLOBS
 
115
CFLAGS += -DCONFIG_NO_CONFIG_BLOBS
 
116
endif
 
117
 
 
118
ifdef CONFIG_NO_SCAN_PROCESSING
 
119
CFLAGS += -DCONFIG_NO_SCAN_PROCESSING
 
120
endif
 
121
 
 
122
ifdef CONFIG_DRIVER_HOSTAP
 
123
CFLAGS += -DCONFIG_DRIVER_HOSTAP
 
124
OBJS_d += ../src/drivers/driver_hostap.o
 
125
CONFIG_WIRELESS_EXTENSION=y
 
126
endif
 
127
 
 
128
ifdef CONFIG_DRIVER_WEXT
 
129
CFLAGS += -DCONFIG_DRIVER_WEXT
 
130
CONFIG_WIRELESS_EXTENSION=y
 
131
endif
 
132
 
 
133
ifdef CONFIG_DRIVER_NL80211
 
134
CFLAGS += -DCONFIG_DRIVER_NL80211
 
135
OBJS_d += ../src/drivers/driver_nl80211.o
 
136
LIBS += -lnl
 
137
ifdef CONFIG_CLIENT_MLME
 
138
OBJS_d += ../src/drivers/radiotap.o
 
139
endif
 
140
endif
 
141
 
 
142
ifdef CONFIG_DRIVER_PRISM54
 
143
CFLAGS += -DCONFIG_DRIVER_PRISM54
 
144
OBJS_d += ../src/drivers/driver_prism54.o
 
145
CONFIG_WIRELESS_EXTENSION=y
 
146
endif
 
147
 
 
148
ifdef CONFIG_DRIVER_HERMES
 
149
CFLAGS += -DCONFIG_DRIVER_HERMES
 
150
OBJS_d += ../src/drivers/driver_hermes.o
 
151
CONFIG_WIRELESS_EXTENSION=y
 
152
endif
 
153
 
 
154
ifdef CONFIG_DRIVER_MADWIFI
 
155
CFLAGS += -DCONFIG_DRIVER_MADWIFI
 
156
OBJS_d += ../src/drivers/driver_madwifi.o
 
157
CONFIG_WIRELESS_EXTENSION=y
 
158
endif
 
159
 
 
160
ifdef CONFIG_DRIVER_ATMEL
 
161
CFLAGS += -DCONFIG_DRIVER_ATMEL
 
162
OBJS_d += ../src/drivers/driver_atmel.o
 
163
CONFIG_WIRELESS_EXTENSION=y
 
164
endif
 
165
 
 
166
ifdef CONFIG_DRIVER_NDISWRAPPER
 
167
CFLAGS += -DCONFIG_DRIVER_NDISWRAPPER
 
168
OBJS_d += ../src/drivers/driver_ndiswrapper.o
 
169
CONFIG_WIRELESS_EXTENSION=y
 
170
endif
 
171
 
 
172
ifdef CONFIG_DRIVER_RALINK
 
173
CFLAGS += -DCONFIG_DRIVER_RALINK
 
174
OBJS_d += ../src/drivers/driver_ralink.o
 
175
endif
 
176
 
 
177
ifdef CONFIG_DRIVER_BROADCOM
 
178
CFLAGS += -DCONFIG_DRIVER_BROADCOM
 
179
OBJS_d += ../src/drivers/driver_broadcom.o
 
180
endif
 
181
 
 
182
ifdef CONFIG_DRIVER_IPW
 
183
CFLAGS += -DCONFIG_DRIVER_IPW
 
184
OBJS_d += ../src/drivers/driver_ipw.o
 
185
CONFIG_WIRELESS_EXTENSION=y
 
186
endif
 
187
 
 
188
ifdef CONFIG_DRIVER_BSD
 
189
CFLAGS += -DCONFIG_DRIVER_BSD
 
190
OBJS_d += ../src/drivers/driver_bsd.o
 
191
ifndef CONFIG_L2_PACKET
 
192
CONFIG_L2_PACKET=freebsd
 
193
endif
 
194
endif
 
195
 
 
196
ifdef CONFIG_DRIVER_NDIS
 
197
CFLAGS += -DCONFIG_DRIVER_NDIS
 
198
OBJS_d += ../src/drivers/driver_ndis.o
 
199
ifdef CONFIG_NDIS_EVENTS_INTEGRATED
 
200
OBJS_d += ../src/drivers/driver_ndis_.o
 
201
endif
 
202
ifndef CONFIG_L2_PACKET
 
203
CONFIG_L2_PACKET=pcap
 
204
endif
 
205
CONFIG_WINPCAP=y
 
206
ifdef CONFIG_USE_NDISUIO
 
207
CFLAGS += -DCONFIG_USE_NDISUIO
 
208
endif
 
209
endif
 
210
 
 
211
ifdef CONFIG_DRIVER_WIRED
 
212
CFLAGS += -DCONFIG_DRIVER_WIRED
 
213
OBJS_d += ../src/drivers/driver_wired.o
 
214
endif
 
215
 
 
216
ifdef CONFIG_DRIVER_TEST
 
217
CFLAGS += -DCONFIG_DRIVER_TEST
 
218
OBJS_d += ../src/drivers/driver_test.o
 
219
endif
 
220
 
 
221
ifdef CONFIG_DRIVER_OSX
 
222
CFLAGS += -DCONFIG_DRIVER_OSX
 
223
OBJS_d += ../src/drivers/driver_osx.o
 
224
LDFLAGS += -framework CoreFoundation
 
225
LDFLAGS += -F/System/Library/PrivateFrameworks -framework Apple80211
 
226
endif
 
227
 
 
228
ifdef CONFIG_DRIVER_PS3
 
229
CFLAGS += -DCONFIG_DRIVER_PS3 -m64
 
230
OBJS_d += ../src/drivers/driver_ps3.o
 
231
LDFLAGS += -m64
 
232
endif
 
233
 
 
234
ifdef CONFIG_DRIVER_IPHONE
 
235
CFLAGS += -DCONFIG_DRIVER_IPHONE
 
236
OBJS_d += ../src/drivers/driver_iphone.o
 
237
OBJS_d += ../src/drivers/MobileApple80211.o
 
238
LIBS += -framework CoreFoundation
 
239
endif
 
240
 
 
241
ifdef CONFIG_DRIVER_ROBOSWITCH
 
242
CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
 
243
OBJS_d += ../src/drivers/driver_roboswitch.o
 
244
endif
 
245
 
 
246
ifndef CONFIG_L2_PACKET
 
247
CONFIG_L2_PACKET=linux
 
248
endif
 
249
 
 
250
OBJS_l2 += ../src/l2_packet/l2_packet_$(CONFIG_L2_PACKET).o
 
251
 
 
252
ifeq ($(CONFIG_L2_PACKET), pcap)
 
253
ifdef CONFIG_WINPCAP
 
254
CFLAGS += -DCONFIG_WINPCAP
 
255
LIBS += -lwpcap -lpacket
 
256
LIBS_w += -lwpcap
 
257
else
 
258
LIBS += -ldnet -lpcap
 
259
endif
 
260
endif
 
261
 
 
262
ifeq ($(CONFIG_L2_PACKET), winpcap)
 
263
LIBS += -lwpcap -lpacket
 
264
LIBS_w += -lwpcap
 
265
endif
 
266
 
 
267
ifeq ($(CONFIG_L2_PACKET), freebsd)
 
268
LIBS += -lpcap
 
269
endif
 
270
 
 
271
ifdef CONFIG_EAP_TLS
 
272
# EAP-TLS
 
273
ifeq ($(CONFIG_EAP_TLS), dyn)
 
274
CFLAGS += -DEAP_TLS_DYNAMIC
 
275
EAPDYN += ../src/eap_peer/eap_tls.so
 
276
else
 
277
CFLAGS += -DEAP_TLS
 
278
OBJS += ../src/eap_peer/eap_tls.o
 
279
OBJS_h += ../src/eap_server/eap_tls.o
 
280
endif
 
281
TLS_FUNCS=y
 
282
CONFIG_IEEE8021X_EAPOL=y
 
283
endif
 
284
 
 
285
ifdef CONFIG_EAP_PEAP
 
286
# EAP-PEAP
 
287
ifeq ($(CONFIG_EAP_PEAP), dyn)
 
288
CFLAGS += -DEAP_PEAP_DYNAMIC
 
289
EAPDYN += ../src/eap_peer/eap_peap.so
 
290
else
 
291
CFLAGS += -DEAP_PEAP
 
292
OBJS += ../src/eap_peer/eap_peap.o
 
293
OBJS += ../src/eap_common/eap_peap_common.o
 
294
OBJS_h += ../src/eap_server/eap_peap.o
 
295
endif
 
296
TLS_FUNCS=y
 
297
CONFIG_IEEE8021X_EAPOL=y
 
298
endif
 
299
 
 
300
ifdef CONFIG_EAP_TTLS
 
301
# EAP-TTLS
 
302
ifeq ($(CONFIG_EAP_TTLS), dyn)
 
303
CFLAGS += -DEAP_TTLS_DYNAMIC
 
304
EAPDYN += ../src/eap_peer/eap_ttls.so
 
305
else
 
306
CFLAGS += -DEAP_TTLS
 
307
OBJS += ../src/eap_peer/eap_ttls.o
 
308
OBJS_h += ../src/eap_server/eap_ttls.o
 
309
endif
 
310
MS_FUNCS=y
 
311
TLS_FUNCS=y
 
312
CHAP=y
 
313
CONFIG_IEEE8021X_EAPOL=y
 
314
endif
 
315
 
 
316
ifdef CONFIG_EAP_MD5
 
317
# EAP-MD5
 
318
ifeq ($(CONFIG_EAP_MD5), dyn)
 
319
CFLAGS += -DEAP_MD5_DYNAMIC
 
320
EAPDYN += ../src/eap_peer/eap_md5.so
 
321
else
 
322
CFLAGS += -DEAP_MD5
 
323
OBJS += ../src/eap_peer/eap_md5.o
 
324
OBJS_h += ../src/eap_server/eap_md5.o
 
325
endif
 
326
CHAP=y
 
327
CONFIG_IEEE8021X_EAPOL=y
 
328
endif
 
329
 
 
330
# backwards compatibility for old spelling
 
331
ifdef CONFIG_MSCHAPV2
 
332
ifndef CONFIG_EAP_MSCHAPV2
 
333
CONFIG_EAP_MSCHAPV2=y
 
334
endif
 
335
endif
 
336
 
 
337
ifdef CONFIG_EAP_MSCHAPV2
 
338
# EAP-MSCHAPv2
 
339
ifeq ($(CONFIG_EAP_MSCHAPV2), dyn)
 
340
CFLAGS += -DEAP_MSCHAPv2_DYNAMIC
 
341
EAPDYN += ../src/eap_peer/eap_mschapv2.so
 
342
EAPDYN += ../src/eap_peer/mschapv2.so
 
343
else
 
344
CFLAGS += -DEAP_MSCHAPv2
 
345
OBJS += ../src/eap_peer/eap_mschapv2.o
 
346
OBJS += ../src/eap_peer/mschapv2.o
 
347
OBJS_h += ../src/eap_server/eap_mschapv2.o
 
348
endif
 
349
MS_FUNCS=y
 
350
CONFIG_IEEE8021X_EAPOL=y
 
351
endif
 
352
 
 
353
ifdef CONFIG_EAP_GTC
 
354
# EAP-GTC
 
355
ifeq ($(CONFIG_EAP_GTC), dyn)
 
356
CFLAGS += -DEAP_GTC_DYNAMIC
 
357
EAPDYN += ../src/eap_peer/eap_gtc.so
 
358
else
 
359
CFLAGS += -DEAP_GTC
 
360
OBJS += ../src/eap_peer/eap_gtc.o
 
361
OBJS_h += ../src/eap_server/eap_gtc.o
 
362
endif
 
363
CONFIG_IEEE8021X_EAPOL=y
 
364
endif
 
365
 
 
366
ifdef CONFIG_EAP_OTP
 
367
# EAP-OTP
 
368
ifeq ($(CONFIG_EAP_OTP), dyn)
 
369
CFLAGS += -DEAP_OTP_DYNAMIC
 
370
EAPDYN += ../src/eap_peer/eap_otp.so
 
371
else
 
372
CFLAGS += -DEAP_OTP
 
373
OBJS += ../src/eap_peer/eap_otp.o
 
374
endif
 
375
CONFIG_IEEE8021X_EAPOL=y
 
376
endif
 
377
 
 
378
ifdef CONFIG_EAP_SIM
 
379
# EAP-SIM
 
380
ifeq ($(CONFIG_EAP_SIM), dyn)
 
381
CFLAGS += -DEAP_SIM_DYNAMIC
 
382
EAPDYN += ../src/eap_peer/eap_sim.so
 
383
else
 
384
CFLAGS += -DEAP_SIM
 
385
OBJS += ../src/eap_peer/eap_sim.o
 
386
OBJS_h += ../src/eap_server/eap_sim.o
 
387
endif
 
388
CONFIG_IEEE8021X_EAPOL=y
 
389
CONFIG_EAP_SIM_COMMON=y
 
390
endif
 
391
 
 
392
ifdef CONFIG_EAP_LEAP
 
393
# EAP-LEAP
 
394
ifeq ($(CONFIG_EAP_LEAP), dyn)
 
395
CFLAGS += -DEAP_LEAP_DYNAMIC
 
396
EAPDYN += ../src/eap_peer/eap_leap.so
 
397
else
 
398
CFLAGS += -DEAP_LEAP
 
399
OBJS += ../src/eap_peer/eap_leap.o
 
400
endif
 
401
MS_FUNCS=y
 
402
CONFIG_IEEE8021X_EAPOL=y
 
403
endif
 
404
 
 
405
ifdef CONFIG_EAP_PSK
 
406
# EAP-PSK
 
407
ifeq ($(CONFIG_EAP_PSK), dyn)
 
408
CFLAGS += -DEAP_PSK_DYNAMIC
 
409
EAPDYN += ../src/eap_peer/eap_psk.so
 
410
else
 
411
CFLAGS += -DEAP_PSK
 
412
OBJS += ../src/eap_peer/eap_psk.o ../src/eap_common/eap_psk_common.o
 
413
OBJS_h += ../src/eap_server/eap_psk.o
 
414
endif
 
415
CONFIG_IEEE8021X_EAPOL=y
 
416
NEED_AES=y
 
417
endif
 
418
 
 
419
ifdef CONFIG_EAP_AKA
 
420
# EAP-AKA
 
421
ifeq ($(CONFIG_EAP_AKA), dyn)
 
422
CFLAGS += -DEAP_AKA_DYNAMIC
 
423
EAPDYN += ../src/eap_peer/eap_aka.so
 
424
else
 
425
CFLAGS += -DEAP_AKA
 
426
OBJS += ../src/eap_peer/eap_aka.o
 
427
OBJS_h += ../src/eap_server/eap_aka.o
 
428
endif
 
429
CONFIG_IEEE8021X_EAPOL=y
 
430
CONFIG_EAP_SIM_COMMON=y
 
431
endif
 
432
 
 
433
ifdef CONFIG_EAP_AKA_PRIME
 
434
# EAP-AKA'
 
435
ifeq ($(CONFIG_EAP_AKA_PRIME), dyn)
 
436
CFLAGS += -DEAP_AKA_PRIME_DYNAMIC
 
437
else
 
438
CFLAGS += -DEAP_AKA_PRIME
 
439
endif
 
440
NEED_SHA256=y
 
441
endif
 
442
 
 
443
ifdef CONFIG_EAP_SIM_COMMON
 
444
OBJS += ../src/eap_common/eap_sim_common.o
 
445
OBJS_h += ../src/eap_server/eap_sim_db.o
 
446
NEED_AES=y
 
447
NEED_FIPS186_2_PRF=y
 
448
endif
 
449
 
 
450
ifdef CONFIG_EAP_FAST
 
451
# EAP-FAST
 
452
ifeq ($(CONFIG_EAP_FAST), dyn)
 
453
CFLAGS += -DEAP_FAST_DYNAMIC
 
454
EAPDYN += ../src/eap_peer/eap_fast.so
 
455
EAPDYN += ../src/eap_common/eap_fast_common.o
 
456
else
 
457
CFLAGS += -DEAP_FAST
 
458
OBJS += ../src/eap_peer/eap_fast.o ../src/eap_peer/eap_fast_pac.o
 
459
OBJS += ../src/eap_common/eap_fast_common.o
 
460
OBJS_h += ../src/eap_server/eap_fast.o
 
461
endif
 
462
TLS_FUNCS=y
 
463
CONFIG_IEEE8021X_EAPOL=y
 
464
NEED_T_PRF=y
 
465
endif
 
466
 
 
467
ifdef CONFIG_EAP_PAX
 
468
# EAP-PAX
 
469
ifeq ($(CONFIG_EAP_PAX), dyn)
 
470
CFLAGS += -DEAP_PAX_DYNAMIC
 
471
EAPDYN += ../src/eap_peer/eap_pax.so
 
472
else
 
473
CFLAGS += -DEAP_PAX
 
474
OBJS += ../src/eap_peer/eap_pax.o ../src/eap_common/eap_pax_common.o
 
475
OBJS_h += ../src/eap_server/eap_pax.o
 
476
endif
 
477
CONFIG_IEEE8021X_EAPOL=y
 
478
endif
 
479
 
 
480
ifdef CONFIG_EAP_SAKE
 
481
# EAP-SAKE
 
482
ifeq ($(CONFIG_EAP_SAKE), dyn)
 
483
CFLAGS += -DEAP_SAKE_DYNAMIC
 
484
EAPDYN += ../src/eap_peer/eap_sake.so
 
485
else
 
486
CFLAGS += -DEAP_SAKE
 
487
OBJS += ../src/eap_peer/eap_sake.o ../src/eap_common/eap_sake_common.o
 
488
OBJS_h += ../src/eap_server/eap_sake.o
 
489
endif
 
490
CONFIG_IEEE8021X_EAPOL=y
 
491
endif
 
492
 
 
493
ifdef CONFIG_EAP_GPSK
 
494
# EAP-GPSK
 
495
ifeq ($(CONFIG_EAP_GPSK), dyn)
 
496
CFLAGS += -DEAP_GPSK_DYNAMIC
 
497
EAPDYN += ../src/eap_peer/eap_gpsk.so
 
498
else
 
499
CFLAGS += -DEAP_GPSK
 
500
OBJS += ../src/eap_peer/eap_gpsk.o ../src/eap_common/eap_gpsk_common.o
 
501
OBJS_h += ../src/eap_server/eap_gpsk.o
 
502
endif
 
503
CONFIG_IEEE8021X_EAPOL=y
 
504
ifdef CONFIG_EAP_GPSK_SHA256
 
505
CFLAGS += -DEAP_GPSK_SHA256
 
506
endif
 
507
NEED_SHA256=y
 
508
endif
 
509
 
 
510
ifdef CONFIG_WPS
 
511
# EAP-WSC
 
512
CFLAGS += -DCONFIG_WPS -DEAP_WSC
 
513
OBJS += wps_supplicant.o
 
514
OBJS += ../src/utils/uuid.o
 
515
OBJS += ../src/eap_peer/eap_wsc.o ../src/eap_common/eap_wsc_common.o
 
516
OBJS += ../src/wps/wps.o
 
517
OBJS += ../src/wps/wps_common.o
 
518
OBJS += ../src/wps/wps_attr_parse.o
 
519
OBJS += ../src/wps/wps_attr_build.o
 
520
OBJS += ../src/wps/wps_attr_process.o
 
521
OBJS += ../src/wps/wps_dev_attr.o
 
522
OBJS += ../src/wps/wps_enrollee.o
 
523
OBJS += ../src/wps/wps_registrar.o
 
524
OBJS_h += ../src/eap_server/eap_wsc.o
 
525
CONFIG_IEEE8021X_EAPOL=y
 
526
NEED_DH_GROUPS=y
 
527
NEED_SHA256=y
 
528
NEED_BASE64=y
 
529
NEED_CRYPTO=y
 
530
NEED_80211_COMMON=y
 
531
 
 
532
ifdef CONFIG_WPS_UPNP
 
533
CFLAGS += -DCONFIG_WPS_UPNP
 
534
OBJS += ../src/wps/wps_upnp.o
 
535
OBJS += ../src/wps/wps_upnp_ssdp.o
 
536
OBJS += ../src/wps/wps_upnp_web.o
 
537
OBJS += ../src/wps/wps_upnp_event.o
 
538
OBJS += ../src/wps/httpread.o
 
539
endif
 
540
 
 
541
endif
 
542
 
 
543
ifdef CONFIG_EAP_IKEV2
 
544
# EAP-IKEv2
 
545
ifeq ($(CONFIG_EAP_IKEV2), dyn)
 
546
CFLAGS += -DEAP_IKEV2_DYNAMIC
 
547
EAPDYN += ../src/eap_peer/eap_ikev2.so ../src/eap_peer/ikev2.o
 
548
EAPDYN += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o
 
549
else
 
550
CFLAGS += -DEAP_IKEV2
 
551
OBJS += ../src/eap_peer/eap_ikev2.o ../src/eap_peer/ikev2.o
 
552
OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o
 
553
OBJS_h += ../src/eap_server/eap_ikev2.o
 
554
OBJS_h += ../src/eap_server/ikev2.o
 
555
endif
 
556
CONFIG_IEEE8021X_EAPOL=y
 
557
NEED_DH_GROUPS=y
 
558
NEED_DH_GROUPS_ALL=y
 
559
endif
 
560
 
 
561
ifdef CONFIG_EAP_VENDOR_TEST
 
562
ifeq ($(CONFIG_EAP_VENDOR_TEST), dyn)
 
563
CFLAGS += -DEAP_VENDOR_TEST_DYNAMIC
 
564
EAPDYN += ../src/eap_peer/eap_vendor_test.so
 
565
else
 
566
CFLAGS += -DEAP_VENDOR_TEST
 
567
OBJS += ../src/eap_peer/eap_vendor_test.o
 
568
OBJS_h += ../src/eap_server/eap_vendor_test.o
 
569
endif
 
570
CONFIG_IEEE8021X_EAPOL=y
 
571
endif
 
572
 
 
573
ifdef CONFIG_EAP_TNC
 
574
# EAP-TNC
 
575
CFLAGS += -DEAP_TNC
 
576
OBJS += ../src/eap_peer/eap_tnc.o
 
577
OBJS += ../src/eap_peer/tncc.o
 
578
NEED_BASE64=y
 
579
ifndef CONFIG_NATIVE_WINDOWS
 
580
ifndef CONFIG_DRIVER_BSD
 
581
LIBS += -ldl
 
582
endif
 
583
endif
 
584
endif
 
585
 
 
586
ifdef CONFIG_IEEE8021X_EAPOL
 
587
# IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
 
588
CFLAGS += -DIEEE8021X_EAPOL
 
589
OBJS += ../src/eapol_supp/eapol_supp_sm.o ../src/eap_peer/eap.o ../src/eap_common/eap_common.o ../src/eap_peer/eap_methods.o
 
590
ifdef CONFIG_DYNAMIC_EAP_METHODS
 
591
CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS
 
592
LIBS += -ldl -rdynamic
 
593
endif
 
594
endif
 
595
 
 
596
ifdef CONFIG_EAP_SERVER
 
597
CFLAGS += -DEAP_SERVER
 
598
OBJS_h += ../src/eap_server/eap.o
 
599
OBJS_h += ../src/eap_server/eap_identity.o
 
600
OBJS_h += ../src/eap_server/eap_methods.o
 
601
endif
 
602
 
 
603
ifdef CONFIG_RADIUS_CLIENT
 
604
OBJS_h += ../src/utils/ip_addr.o
 
605
OBJS_h += ../src/radius/radius.o
 
606
OBJS_h += ../src/radius/radius_client.o
 
607
endif
 
608
 
 
609
ifdef CONFIG_AUTHENTICATOR
 
610
OBJS_h += ../hostapd/eapol_sm.o
 
611
OBJS_h += ../hostapd/ieee802_1x.o
 
612
endif
 
613
 
 
614
ifdef CONFIG_WPA_AUTHENTICATOR
 
615
OBJS_h += ../hostapd/wpa.o
 
616
OBJS_h += ../hostapd/wpa_auth_ie.o
 
617
ifdef CONFIG_IEEE80211R
 
618
OBJS_h += ../hostapd/wpa_ft.o
 
619
endif
 
620
ifdef CONFIG_PEERKEY
 
621
OBJS_h += ../hostapd/peerkey.o
 
622
endif
 
623
endif
 
624
 
 
625
ifdef CONFIG_PCSC
 
626
# PC/SC interface for smartcards (USIM, GSM SIM)
 
627
CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC
 
628
OBJS += ../src/utils/pcsc_funcs.o
 
629
# -lpthread may not be needed depending on how pcsc-lite was configured
 
630
ifdef CONFIG_NATIVE_WINDOWS
 
631
#Once MinGW gets support for WinScard, -lwinscard could be used instead of the
 
632
#dynamic symbol loading that is now used in pcsc_funcs.c
 
633
#LIBS += -lwinscard
 
634
else
 
635
LIBS += -lpcsclite -lpthread
 
636
endif
 
637
endif
 
638
 
 
639
ifdef CONFIG_SIM_SIMULATOR
 
640
CFLAGS += -DCONFIG_SIM_SIMULATOR
 
641
NEED_MILENAGE=y
 
642
endif
 
643
 
 
644
ifdef CONFIG_USIM_SIMULATOR
 
645
CFLAGS += -DCONFIG_USIM_SIMULATOR
 
646
NEED_MILENAGE=y
 
647
endif
 
648
 
 
649
ifdef NEED_MILENAGE
 
650
OBJS += ../src/hlr_auc_gw/milenage.o
 
651
endif
 
652
 
 
653
ifndef CONFIG_TLS
 
654
CONFIG_TLS=openssl
 
655
endif
 
656
 
 
657
ifeq ($(CONFIG_TLS), internal)
 
658
ifndef CONFIG_CRYPTO
 
659
CONFIG_CRYPTO=internal
 
660
endif
 
661
endif
 
662
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
 
663
CFLAGS += -DCONFIG_INTERNAL_X509
 
664
endif
 
665
ifeq ($(CONFIG_CRYPTO), internal)
 
666
CFLAGS += -DCONFIG_INTERNAL_X509
 
667
endif
 
668
 
 
669
 
 
670
ifdef TLS_FUNCS
 
671
# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
 
672
CFLAGS += -DEAP_TLS_FUNCS
 
673
OBJS += ../src/eap_peer/eap_tls_common.o
 
674
OBJS_h += ../src/eap_server/eap_tls_common.o
 
675
NEED_TLS_PRF=y
 
676
ifeq ($(CONFIG_TLS), openssl)
 
677
CFLAGS += -DEAP_TLS_OPENSSL
 
678
OBJS += ../src/crypto/tls_openssl.o
 
679
LIBS += -lssl -lcrypto
 
680
LIBS_p += -lcrypto
 
681
endif
 
682
ifeq ($(CONFIG_TLS), gnutls)
 
683
OBJS += ../src/crypto/tls_gnutls.o
 
684
LIBS += -lgnutls -lgcrypt -lgpg-error
 
685
LIBS_p += -lgcrypt
 
686
ifdef CONFIG_GNUTLS_EXTRA
 
687
CFLAGS += -DCONFIG_GNUTLS_EXTRA
 
688
LIBS += -lgnutls-extra
 
689
endif
 
690
endif
 
691
ifeq ($(CONFIG_TLS), schannel)
 
692
OBJS += ../src/crypto/tls_schannel.o
 
693
endif
 
694
ifeq ($(CONFIG_TLS), internal)
 
695
OBJS += ../src/crypto/tls_internal.o
 
696
OBJS += ../src/tls/tlsv1_common.o ../src/tls/tlsv1_record.o
 
697
OBJS += ../src/tls/tlsv1_cred.o ../src/tls/tlsv1_client.o
 
698
OBJS += ../src/tls/tlsv1_client_write.o ../src/tls/tlsv1_client_read.o
 
699
OBJS += ../src/tls/asn1.o ../src/tls/rsa.o ../src/tls/x509v3.o
 
700
OBJS_p += ../src/tls/asn1.o ../src/tls/rsa.o
 
701
OBJS_p += ../src/crypto/rc4.o ../src/crypto/aes_wrap.o ../src/crypto/aes.o
 
702
NEED_BASE64=y
 
703
NEED_TLS_PRF=y
 
704
CFLAGS += -DCONFIG_TLS_INTERNAL
 
705
CFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT
 
706
ifeq ($(CONFIG_CRYPTO), internal)
 
707
endif
 
708
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
 
709
LIBS += -ltomcrypt -ltfm
 
710
LIBS_p += -ltomcrypt -ltfm
 
711
endif
 
712
endif
 
713
ifeq ($(CONFIG_TLS), none)
 
714
OBJS += ../src/crypto/tls_none.o
 
715
CFLAGS += -DEAP_TLS_NONE
 
716
CONFIG_INTERNAL_AES=y
 
717
CONFIG_INTERNAL_SHA1=y
 
718
CONFIG_INTERNAL_MD5=y
 
719
CONFIG_INTERNAL_SHA256=y
 
720
endif
 
721
ifdef CONFIG_SMARTCARD
 
722
ifndef CONFIG_NATIVE_WINDOWS
 
723
ifneq ($(CONFIG_L2_PACKET), freebsd)
 
724
LIBS += -ldl
 
725
endif
 
726
endif
 
727
endif
 
728
NEED_CRYPTO=y
 
729
else
 
730
OBJS += ../src/crypto/tls_none.o
 
731
endif
 
732
 
 
733
ifdef CONFIG_PKCS12
 
734
CFLAGS += -DPKCS12_FUNCS
 
735
endif
 
736
 
 
737
ifdef CONFIG_SMARTCARD
 
738
CFLAGS += -DCONFIG_SMARTCARD
 
739
endif
 
740
 
 
741
ifdef MS_FUNCS
 
742
OBJS += ../src/crypto/ms_funcs.o
 
743
NEED_CRYPTO=y
 
744
endif
 
745
 
 
746
ifdef CHAP
 
747
OBJS += ../src/eap_common/chap.o
 
748
endif
 
749
 
 
750
ifdef NEED_CRYPTO
 
751
ifndef TLS_FUNCS
 
752
ifeq ($(CONFIG_TLS), openssl)
 
753
LIBS += -lcrypto
 
754
LIBS_p += -lcrypto
 
755
endif
 
756
ifeq ($(CONFIG_TLS), gnutls)
 
757
LIBS += -lgcrypt
 
758
LIBS_p += -lgcrypt
 
759
endif
 
760
ifeq ($(CONFIG_TLS), schannel)
 
761
endif
 
762
ifeq ($(CONFIG_TLS), internal)
 
763
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
 
764
LIBS += -ltomcrypt -ltfm
 
765
LIBS_p += -ltomcrypt -ltfm
 
766
endif
 
767
endif
 
768
endif
 
769
ifeq ($(CONFIG_TLS), openssl)
 
770
OBJS += ../src/crypto/crypto_openssl.o
 
771
OBJS_p += ../src/crypto/crypto_openssl.o
 
772
CONFIG_INTERNAL_SHA256=y
 
773
endif
 
774
ifeq ($(CONFIG_TLS), gnutls)
 
775
OBJS += ../src/crypto/crypto_gnutls.o
 
776
OBJS_p += ../src/crypto/crypto_gnutls.o
 
777
CONFIG_INTERNAL_SHA256=y
 
778
endif
 
779
ifeq ($(CONFIG_TLS), schannel)
 
780
OBJS += ../src/crypto/crypto_cryptoapi.o
 
781
OBJS_p += ../src/crypto/crypto_cryptoapi.o
 
782
CONFIG_INTERNAL_SHA256=y
 
783
endif
 
784
ifeq ($(CONFIG_TLS), internal)
 
785
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
 
786
OBJS += ../src/crypto/crypto_libtomcrypt.o
 
787
OBJS_p += ../src/crypto/crypto_libtomcrypt.o
 
788
CONFIG_INTERNAL_SHA256=y
 
789
endif
 
790
ifeq ($(CONFIG_CRYPTO), internal)
 
791
OBJS += ../src/crypto/crypto_internal.o ../src/tls/bignum.o
 
792
OBJS_p += ../src/crypto/crypto_internal.o ../src/tls/bignum.o
 
793
CFLAGS += -DCONFIG_CRYPTO_INTERNAL
 
794
ifdef CONFIG_INTERNAL_LIBTOMMATH
 
795
CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
 
796
ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
 
797
CFLAGS += -DLTM_FAST
 
798
endif
 
799
else
 
800
LIBS += -ltommath
 
801
LIBS_p += -ltommath
 
802
endif
 
803
CONFIG_INTERNAL_AES=y
 
804
CONFIG_INTERNAL_DES=y
 
805
CONFIG_INTERNAL_SHA1=y
 
806
CONFIG_INTERNAL_MD4=y
 
807
CONFIG_INTERNAL_MD5=y
 
808
CONFIG_INTERNAL_SHA256=y
 
809
endif
 
810
ifeq ($(CONFIG_CRYPTO), cryptoapi)
 
811
OBJS += ../src/crypto/crypto_cryptoapi.o
 
812
OBJS_p += ../src/crypto/crypto_cryptoapi.o
 
813
CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
 
814
CONFIG_INTERNAL_SHA256=y
 
815
endif
 
816
endif
 
817
ifeq ($(CONFIG_TLS), none)
 
818
OBJS += ../src/crypto/crypto_none.o
 
819
OBJS_p += ../src/crypto/crypto_none.o
 
820
CONFIG_INTERNAL_SHA256=y
 
821
endif
 
822
else
 
823
CONFIG_INTERNAL_AES=y
 
824
CONFIG_INTERNAL_SHA1=y
 
825
CONFIG_INTERNAL_MD5=y
 
826
endif
 
827
 
 
828
ifdef CONFIG_INTERNAL_AES
 
829
CFLAGS += -DINTERNAL_AES
 
830
endif
 
831
ifdef CONFIG_INTERNAL_SHA1
 
832
CFLAGS += -DINTERNAL_SHA1
 
833
endif
 
834
ifdef CONFIG_INTERNAL_SHA256
 
835
CFLAGS += -DINTERNAL_SHA256
 
836
endif
 
837
ifdef CONFIG_INTERNAL_MD5
 
838
CFLAGS += -DINTERNAL_MD5
 
839
endif
 
840
ifdef CONFIG_INTERNAL_MD4
 
841
CFLAGS += -DINTERNAL_MD4
 
842
endif
 
843
ifdef CONFIG_INTERNAL_DES
 
844
CFLAGS += -DINTERNAL_DES
 
845
endif
 
846
 
 
847
ifdef CONFIG_IEEE80211R
 
848
NEED_SHA256=y
 
849
endif
 
850
 
 
851
ifdef CONFIG_IEEE80211W
 
852
CFLAGS += -DCONFIG_IEEE80211W
 
853
NEED_SHA256=y
 
854
endif
 
855
 
 
856
ifdef NEED_SHA256
 
857
OBJS += ../src/crypto/sha256.o
 
858
CFLAGS += -DNEED_SHA256
 
859
endif
 
860
 
 
861
ifdef CONFIG_WIRELESS_EXTENSION
 
862
OBJS_d += ../src/drivers/driver_wext.o
 
863
endif
 
864
 
 
865
ifdef CONFIG_CTRL_IFACE
 
866
ifeq ($(CONFIG_CTRL_IFACE), y)
 
867
ifdef CONFIG_NATIVE_WINDOWS
 
868
CONFIG_CTRL_IFACE=named_pipe
 
869
else
 
870
CONFIG_CTRL_IFACE=unix
 
871
endif
 
872
endif
 
873
CFLAGS += -DCONFIG_CTRL_IFACE
 
874
ifeq ($(CONFIG_CTRL_IFACE), unix)
 
875
CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
 
876
endif
 
877
ifeq ($(CONFIG_CTRL_IFACE), udp)
 
878
CFLAGS += -DCONFIG_CTRL_IFACE_UDP
 
879
endif
 
880
ifeq ($(CONFIG_CTRL_IFACE), named_pipe)
 
881
CFLAGS += -DCONFIG_CTRL_IFACE_NAMED_PIPE
 
882
endif
 
883
OBJS += ctrl_iface.o ctrl_iface_$(CONFIG_CTRL_IFACE).o
 
884
endif
 
885
 
 
886
ifdef CONFIG_CTRL_IFACE_DBUS
 
887
CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
 
888
OBJS += ctrl_iface_dbus.o ctrl_iface_dbus_handlers.o dbus_dict_helpers.o
 
889
ifndef DBUS_LIBS
 
890
DBUS_LIBS := $(shell pkg-config --libs dbus-1)
 
891
endif
 
892
LIBS += $(DBUS_LIBS)
 
893
ifndef DBUS_INCLUDE
 
894
DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1)
 
895
endif
 
896
dbus_version=$(subst ., ,$(shell pkg-config --modversion dbus-1))
 
897
DBUS_VERSION_MAJOR=$(word 1,$(dbus_version))
 
898
DBUS_VERSION_MINOR=$(word 2,$(dbus_version))
 
899
ifeq ($(DBUS_VERSION_MAJOR),)
 
900
DBUS_VERSION_MAJOR=0
 
901
endif
 
902
ifeq ($(DBUS_VERSION_MINOR),)
 
903
DBUS_VERSION_MINOR=0
 
904
endif
 
905
DBUS_INCLUDE += -DDBUS_VERSION_MAJOR=$(DBUS_VERSION_MAJOR)
 
906
DBUS_INCLUDE += -DDBUS_VERSION_MINOR=$(DBUS_VERSION_MINOR)
 
907
CFLAGS += $(DBUS_INCLUDE)
 
908
endif
 
909
 
 
910
ifdef CONFIG_READLINE
 
911
CFLAGS += -DCONFIG_READLINE
 
912
LIBS_c += -lncurses -lreadline
 
913
endif
 
914
 
 
915
ifdef CONFIG_NATIVE_WINDOWS
 
916
CFLAGS += -DCONFIG_NATIVE_WINDOWS
 
917
LIBS += -lws2_32 -lgdi32 -lcrypt32
 
918
LIBS_c += -lws2_32
 
919
LIBS_p += -lws2_32 -lgdi32
 
920
ifeq ($(CONFIG_CRYPTO), cryptoapi)
 
921
LIBS_p += -lcrypt32
 
922
endif
 
923
endif
 
924
 
 
925
ifdef CONFIG_NO_STDOUT_DEBUG
 
926
CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
 
927
ifndef CONFIG_CTRL_IFACE
 
928
CFLAGS += -DCONFIG_NO_WPA_MSG
 
929
endif
 
930
endif
 
931
 
 
932
ifdef CONFIG_IPV6
 
933
# for eapol_test only
 
934
CFLAGS += -DCONFIG_IPV6
 
935
endif
 
936
 
 
937
ifdef CONFIG_PEERKEY
 
938
CFLAGS += -DCONFIG_PEERKEY
 
939
endif
 
940
 
 
941
ifdef CONFIG_IEEE80211R
 
942
CFLAGS += -DCONFIG_IEEE80211R
 
943
OBJS += ../src/rsn_supp/wpa_ft.o
 
944
endif
 
945
 
 
946
ifndef CONFIG_NO_WPA
 
947
OBJS += ../src/rsn_supp/wpa.o
 
948
OBJS += ../src/rsn_supp/preauth.o
 
949
OBJS += ../src/rsn_supp/pmksa_cache.o
 
950
OBJS += ../src/rsn_supp/peerkey.o
 
951
OBJS += ../src/rsn_supp/wpa_ie.o
 
952
OBJS += ../src/common/wpa_common.o
 
953
NEED_AES=y
 
954
else
 
955
CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2
 
956
endif
 
957
 
 
958
ifdef CONFIG_NO_WPA2
 
959
CFLAGS += -DCONFIG_NO_WPA2
 
960
endif
 
961
 
 
962
ifdef CONFIG_NO_WPA_PASSPHRASE
 
963
CFLAGS += -DCONFIG_NO_PBKDF2
 
964
endif
 
965
 
 
966
ifdef CONFIG_NO_AES_EXTRAS
 
967
CFLAGS += -DCONFIG_NO_AES_WRAP
 
968
CFLAGS += -DCONFIG_NO_AES_CTR -DCONFIG_NO_AES_OMAC1
 
969
CFLAGS += -DCONFIG_NO_AES_EAX -DCONFIG_NO_AES_CBC
 
970
CFLAGS += -DCONFIG_NO_AES_ENCRYPT
 
971
CFLAGS += -DCONFIG_NO_AES_ENCRYPT_BLOCK
 
972
endif
 
973
 
 
974
ifdef NEED_AES
 
975
OBJS += ../src/crypto/aes_wrap.o ../src/crypto/aes.o
 
976
endif
 
977
 
 
978
ifdef NEED_DH_GROUPS
 
979
OBJS += ../src/crypto/dh_groups.o
 
980
ifdef NEED_DH_GROUPS_ALL
 
981
CFLAGS += -DALL_DH_GROUPS
 
982
endif
 
983
endif
 
984
 
 
985
ifndef NEED_FIPS186_2_PRF
 
986
CFLAGS += -DCONFIG_NO_FIPS186_2_PRF
 
987
endif
 
988
 
 
989
ifndef NEED_T_PRF
 
990
CFLAGS += -DCONFIG_NO_T_PRF
 
991
endif
 
992
 
 
993
ifndef NEED_TLS_PRF
 
994
CFLAGS += -DCONFIG_NO_TLS_PRF
 
995
endif
 
996
 
 
997
ifdef NEED_BASE64
 
998
OBJS += ../src/utils/base64.o
 
999
endif
 
1000
 
 
1001
ifdef CONFIG_CLIENT_MLME
 
1002
OBJS += mlme.o ../src/common/ieee802_11_common.o
 
1003
CFLAGS += -DCONFIG_CLIENT_MLME
 
1004
endif
 
1005
 
 
1006
ifndef CONFIG_MAIN
 
1007
CONFIG_MAIN=main
 
1008
endif
 
1009
 
 
1010
ifdef CONFIG_DEBUG_SYSLOG
 
1011
CFLAGS += -DCONFIG_DEBUG_SYSLOG
 
1012
endif
 
1013
 
 
1014
ifdef CONFIG_DEBUG_FILE
 
1015
CFLAGS += -DCONFIG_DEBUG_FILE
 
1016
endif
 
1017
 
 
1018
ifdef CONFIG_DELAYED_MIC_ERROR_REPORT
 
1019
CFLAGS += -DCONFIG_DELAYED_MIC_ERROR_REPORT
 
1020
endif
 
1021
 
 
1022
OBJS += ../src/drivers/scan_helpers.o
 
1023
 
 
1024
OBJS_wpa_rm := ctrl_iface.o mlme.o ctrl_iface_unix.o
 
1025
OBJS_wpa := $(filter-out $(OBJS_wpa_rm),$(OBJS)) $(OBJS_h) tests/test_wpa.o
 
1026
ifdef CONFIG_AUTHENTICATOR
 
1027
OBJS_wpa += tests/link_test.o
 
1028
endif
 
1029
OBJS_wpa += $(OBJS_l2)
 
1030
OBJS += wpa_supplicant.o events.o blacklist.o wpas_glue.o scan.o
 
1031
OBJS_t := $(OBJS) $(OBJS_l2) eapol_test.o ../src/radius/radius.o ../src/radius/radius_client.o
 
1032
OBJS_t += ../src/utils/ip_addr.o
 
1033
OBJS_t2 := $(OBJS) $(OBJS_l2) preauth_test.o
 
1034
OBJS += $(CONFIG_MAIN).o
 
1035
 
 
1036
ifdef CONFIG_PRIVSEP
 
1037
OBJS_priv += $(OBJS_d) ../src/drivers/drivers.o ../src/drivers/scan_helpers.o
 
1038
OBJS_priv += $(OBJS_l2)
 
1039
OBJS_priv += ../src/utils/os_$(CONFIG_OS).o
 
1040
OBJS_priv += ../src/utils/$(CONFIG_ELOOP).o
 
1041
OBJS_priv += ../src/utils/common.o
 
1042
OBJS_priv += ../src/utils/wpa_debug.o
 
1043
OBJS_priv += ../src/utils/wpabuf.o
 
1044
OBJS_priv += wpa_priv.o
 
1045
ifdef CONFIG_DRIVER_TEST
 
1046
OBJS_priv += ../src/crypto/sha1.o
 
1047
OBJS_priv += ../src/crypto/md5.o
 
1048
ifeq ($(CONFIG_TLS), openssl)
 
1049
OBJS_priv += ../src/crypto/crypto_openssl.o
 
1050
endif
 
1051
ifeq ($(CONFIG_TLS), gnutls)
 
1052
OBJS_priv += ../src/crypto/crypto_gnutls.o
 
1053
endif
 
1054
ifeq ($(CONFIG_TLS), internal)
 
1055
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
 
1056
OBJS_priv += ../src/crypto/crypto_libtomcrypt.o
 
1057
else
 
1058
OBJS_priv += ../src/crypto/crypto_internal.o
 
1059
endif
 
1060
endif
 
1061
endif # CONFIG_DRIVER_TEST
 
1062
OBJS += ../src/l2_packet/l2_packet_privsep.o
 
1063
OBJS += ../src/drivers/driver_privsep.o
 
1064
EXTRA_progs += wpa_priv
 
1065
else
 
1066
OBJS += $(OBJS_d) ../src/drivers/drivers.o
 
1067
OBJS += $(OBJS_l2)
 
1068
endif
 
1069
 
 
1070
ifdef CONFIG_NDIS_EVENTS_INTEGRATED
 
1071
CFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED
 
1072
OBJS += ../src/drivers/ndis_events.o
 
1073
EXTRALIBS += -loleaut32 -lole32 -luuid
 
1074
ifdef PLATFORMSDKLIB
 
1075
EXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib
 
1076
else
 
1077
EXTRALIBS += WbemUuid.Lib
 
1078
endif
 
1079
endif
 
1080
 
 
1081
ifndef LDO
 
1082
LDO=$(CC)
 
1083
endif
 
1084
 
 
1085
dynamic_eap_methods: $(EAPDYN)
 
1086
 
 
1087
wpa_priv: $(OBJS_priv)
 
1088
        $(LDO) $(LDFLAGS) -o wpa_priv $(OBJS_priv) $(LIBS)
 
1089
 
 
1090
wpa_supplicant: .config $(OBJS) $(EXTRA_progs)
 
1091
        $(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS)
 
1092
 
 
1093
eapol_test: .config $(OBJS_t)
 
1094
        $(LDO) $(LDFLAGS) -o eapol_test $(OBJS_t) $(LIBS)
 
1095
 
 
1096
preauth_test: .config $(OBJS_t2) 
 
1097
        $(LDO) $(LDFLAGS) -o preauth_test $(OBJS_t2) $(LIBS)
 
1098
 
 
1099
wpa_passphrase: $(OBJS_p)
 
1100
        $(LDO) $(LDFLAGS) -o wpa_passphrase $(OBJS_p) $(LIBS_p)
 
1101
 
 
1102
wpa_cli: $(OBJS_c)
 
1103
        $(LDO) $(LDFLAGS) -o wpa_cli $(OBJS_c) $(LIBS_c)
 
1104
 
 
1105
link_test: $(OBJS) $(OBJS_h) tests/link_test.o
 
1106
        $(LDO) $(LDFLAGS) -o link_test $(OBJS) $(OBJS_h) tests/link_test.o $(LIBS)
 
1107
 
 
1108
test_wpa: $(OBJS_wpa) $(OBJS_h)
 
1109
        $(LDO) $(LDFLAGS) -o test_wpa $(OBJS_wpa) $(LIBS)
 
1110
 
 
1111
OBJSa=../src/tls/asn1_test.o ../src/tls/asn1.o ../src/tls/x509v3.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_unix.o \
 
1112
        ../src/crypto/crypto_$(CONFIG_CRYPTO).o ../src/crypto/md5.o ../src/crypto/sha1.o \
 
1113
        ../src/crypto/rc4.o ../src/crypto/des.o ../src/crypto/aes_wrap.o \
 
1114
        ../src/crypto/aes.o ../src/tls/bignum.o ../src/tls/rsa.o
 
1115
asn1_test: $(OBJSa)
 
1116
        $(LDO) $(LDFLAGS) -o asn1_test $(OBJSa)
 
1117
 
 
1118
OBJSx=tests/test_x509v3.o ../src/tls/asn1.o ../src/tls/x509v3.o \
 
1119
        ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_unix.o \
 
1120
        ../src/crypto/crypto_$(CONFIG_CRYPTO).o \
 
1121
        ../src/crypto/md5.o ../src/crypto/sha1.o ../src/crypto/aes.o \
 
1122
        ../src/crypto/rc4.o ../src/crypto/des.o ../src/crypto/aes_wrap.o \
 
1123
        ../src/crypto/sha256.o \
 
1124
        ../src/tls/bignum.o ../src/tls/rsa.o
 
1125
test_x509v3: $(OBJSx)
 
1126
        $(LDO) $(LDFLAGS) -o test_x509v3 $(OBJSx)
 
1127
 
 
1128
win_if_list: win_if_list.c
 
1129
        $(LDO) $(LDFLAGS) -o $@ win_if_list.c $(CFLAGS) $(LIBS_w)
 
1130
 
 
1131
eap_psk.so: ../src/eap_peer/eap_psk.c ../src/eap_common/eap_psk_common.c
 
1132
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1133
                -Deap_peer_psk_register=eap_peer_method_dynamic_init
 
1134
 
 
1135
eap_pax.so: ../src/eap_peer/eap_pax.c ../src/eap_common/eap_pax_common.c
 
1136
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1137
                -Deap_peer_pax_register=eap_peer_method_dynamic_init
 
1138
 
 
1139
eap_sake.so: ../src/eap_peer/eap_sake.c ../src/eap_common/eap_sake_common.c
 
1140
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1141
                -Deap_peer_sake_register=eap_peer_method_dynamic_init
 
1142
 
 
1143
eap_wsc.so: ../src/eap_peer/eap_wsc.c ../src/eap_common/eap_wsc_common.c ../src/wps/wps.c
 
1144
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1145
                -Deap_peer_wsc_register=eap_peer_method_dynamic_init
 
1146
 
 
1147
eap_ikev2.so: ../src/eap_peer/eap_ikev2.c ../src/eap_peer/ikev2.c ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.c
 
1148
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1149
                -Deap_peer_ikev2_register=eap_peer_method_dynamic_init
 
1150
 
 
1151
%.so: %.c
 
1152
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \
 
1153
                -D$(*F:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init
 
1154
 
 
1155
Q=@
 
1156
E=echo
 
1157
ifeq ($(V), 1)
 
1158
Q=
 
1159
E=true
 
1160
endif
 
1161
 
 
1162
%.o: %.c
 
1163
        $(Q)$(CC) -c -o $@ $(CFLAGS) $<
 
1164
        @$(E) "  CC " $<
 
1165
 
 
1166
wpa_supplicant.exe: wpa_supplicant
 
1167
        mv -f $< $@
 
1168
wpa_cli.exe: wpa_cli
 
1169
        mv -f $< $@
 
1170
wpa_passphrase.exe: wpa_passphrase
 
1171
        mv -f $< $@
 
1172
win_if_list.exe: win_if_list
 
1173
        mv -f $< $@
 
1174
eapol_test.exe: eapol_test
 
1175
        mv -f $< $@
 
1176
 
 
1177
WINALL=wpa_supplicant.exe wpa_cli.exe wpa_passphrase.exe win_if_list.exe
 
1178
 
 
1179
windows-bin: $(WINALL)
 
1180
        $(STRIP) $(WINALL)
 
1181
 
 
1182
wpa_gui/Makefile:
 
1183
        qmake -o wpa_gui/Makefile wpa_gui/wpa_gui.pro 
 
1184
 
 
1185
wpa_gui: wpa_gui/Makefile
 
1186
        $(MAKE) -C wpa_gui
 
1187
 
 
1188
wpa_gui-qt4/Makefile:
 
1189
        qmake -o wpa_gui-qt4/Makefile wpa_gui-qt4/wpa_gui.pro 
 
1190
 
 
1191
wpa_gui-qt4: wpa_gui-qt4/Makefile
 
1192
        $(MAKE) -C wpa_gui-qt4
 
1193
 
 
1194
TEST_MS_FUNCS_OBJS = ../src/crypto/crypto_openssl.o ../src/crypto/sha1.o ../src/crypto/md5.o \
 
1195
        ../src/utils/os_unix.o ../src/crypto/rc4.o tests/test_ms_funcs.o
 
1196
test-ms_funcs: $(TEST_MS_FUNCS_OBJS)
 
1197
        $(LDO) $(LDFLAGS) -o $@ $(TEST_MS_FUNCS_OBJS) $(LIBS) -lcrypto
 
1198
        ./test-ms_funcs
 
1199
        rm test-ms_funcs
 
1200
 
 
1201
TEST_SHA1_OBJS = ../src/crypto/sha1.o ../src/crypto/md5.o tests/test_sha1.o #../src/crypto/crypto_openssl.o
 
1202
test-sha1: $(TEST_SHA1_OBJS)
 
1203
        $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA1_OBJS) $(LIBS)
 
1204
        ./test-sha1
 
1205
        rm test-sha1
 
1206
 
 
1207
TEST_SHA256_OBJS = ../src/crypto/sha256.o ../src/crypto/md5.o tests/test_sha256.o ../src/utils/os_unix.o ../src/crypto/crypto_openssl.o
 
1208
test-sha256: $(TEST_SHA256_OBJS)
 
1209
        $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA256_OBJS) $(LIBS)
 
1210
        ./test-sha256
 
1211
        rm test-sha256
 
1212
 
 
1213
TEST_AES_OBJS = ../src/crypto/aes_wrap.o ../src/crypto/aes.o tests/test_aes.o
 
1214
test-aes: $(TEST_AES_OBJS)
 
1215
        $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
 
1216
        ./test-aes
 
1217
        rm test-aes
 
1218
 
 
1219
TEST_EAP_SIM_COMMON_OBJS = ../src/crypto/sha1.o ../src/crypto/md5.o \
 
1220
        ../src/crypto/aes_wrap.o ../src/utils/common.o ../src/utils/os_unix.o \
 
1221
        ../src/utils/wpa_debug.o ../src/crypto/aes.o \
 
1222
        tests/test_eap_sim_common.o
 
1223
test-eap_sim_common: $(TEST_EAP_SIM_COMMON_OBJS)
 
1224
        $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
 
1225
        ./test-eap_sim_common
 
1226
        rm test-eap_sim_common
 
1227
 
 
1228
TEST_MD4_OBJS = ../src/crypto/md4.o tests/test_md4.o #../src/crypto/crypto_openssl.o
 
1229
test-md4: $(TEST_MD4_OBJS)
 
1230
        $(LDO) $(LDFLAGS) -o $@ $(TEST_MD4_OBJS) $(LIBS)
 
1231
        ./test-md4
 
1232
        rm test-md4
 
1233
 
 
1234
TEST_MD5_OBJS = ../src/crypto/md5.o tests/test_md5.o #../src/crypto/crypto_openssl.o
 
1235
test-md5: $(TEST_MD5_OBJS)
 
1236
        $(LDO) $(LDFLAGS) -o $@ $(TEST_MD5_OBJS) $(LIBS)
 
1237
        ./test-md5
 
1238
        rm test-md5
 
1239
 
 
1240
tests: test-ms_funcs test-sha1 test-aes test-eap_sim_common test-md4 test-md5
 
1241
 
 
1242
clean:
 
1243
        $(MAKE) -C ../src clean
 
1244
        rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL) eapol_test preauth_test
 
1245
        rm -f wpa_priv
 
1246
 
 
1247
%.eps: %.fig
 
1248
        fig2dev -L eps $*.fig $*.eps
 
1249
 
 
1250
%.png: %.fig
 
1251
        fig2dev -L png -m 3 $*.fig | pngtopnm | pnmscale 0.4 | pnmtopng \
 
1252
                > $*.png
 
1253
 
 
1254
docs-pics: doc/wpa_supplicant.png doc/wpa_supplicant.eps
 
1255
 
 
1256
docs: docs-pics
 
1257
        (cd ..; doxygen wpa_supplicant/doc/doxygen.full; cd wpa_supplicant)
 
1258
        $(MAKE) -C doc/latex
 
1259
        cp doc/latex/refman.pdf wpa_supplicant-devel.pdf
 
1260
 
 
1261
docs-fast: docs-pics
 
1262
        (cd ..; doxygen wpa_supplicant/doc/doxygen.fast; cd wpa_supplicant)
 
1263
 
 
1264
clean-docs:
 
1265
        rm -rf doc/latex doc/html
 
1266
        rm -f doc/wpa_supplicant.{eps,png} wpa_supplicant-devel.pdf
 
1267
 
 
1268
-include $(OBJS:%.o=%.d)