~ubuntu-branches/ubuntu/saucy/wpasupplicant/saucy

« back to all changes in this revision

Viewing changes to wpa_supplicant/Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Mathieu Trudel-Lapierre
  • Date: 2010-11-22 09:43:43 UTC
  • mfrom: (1.1.16 upstream)
  • Revision ID: james.westby@ubuntu.com-20101122094343-qgsxaojvmswfri77
Tags: 0.7.3-0ubuntu1
* Get wpasupplicant 0.7.3 from Debian's SVN. Leaving 0.7.3-1 as unreleased
  for now.
* Build-Depend on debhelper 8, since the packaging from Debian uses compat 8.

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
export BINDIR ?= /usr/local/sbin/
11
11
 
12
12
CFLAGS += -I../src
13
 
CFLAGS += -I../src/crypto
14
13
CFLAGS += -I../src/utils
15
 
CFLAGS += -I../src/common
16
 
CFLAGS += -I../src/rsn_supp
17
14
 
18
15
ALL=wpa_supplicant wpa_passphrase wpa_cli
19
16
 
29
26
        fi
30
27
 
31
28
mkconfig:
32
 
        @if [ -e .config ]; then \
 
29
        @if [ -f .config ]; then \
33
30
                echo '.config exists - did not replace it'; \
34
31
                exit 1; \
35
32
        fi
42
39
        $(MAKE) -C ../src install
43
40
 
44
41
OBJS = config.o
 
42
OBJS += notify.o
 
43
OBJS += bss.o
 
44
OBJS += eap_register.o
45
45
OBJS += ../src/utils/common.o
46
46
OBJS += ../src/utils/wpa_debug.o
47
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
48
OBJS_p = wpa_passphrase.o
54
49
OBJS_p += ../src/utils/common.o
55
50
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
 
51
OBJS_p += ../src/utils/wpabuf.o
60
52
OBJS_c = wpa_cli.o ../src/common/wpa_ctrl.o
61
53
 
62
54
-include .config
77
69
OBJS_p += ../src/utils/os_$(CONFIG_OS).o
78
70
OBJS_c += ../src/utils/os_$(CONFIG_OS).o
79
71
 
 
72
ifdef CONFIG_WPA_TRACE
 
73
CFLAGS += -DWPA_TRACE
 
74
OBJS += ../src/utils/trace.o
 
75
OBJS_p += ../src/utils/trace.o
 
76
OBJS_c += ../src/utils/trace.o
 
77
OBJS_c += ../src/utils/wpa_debug.o
 
78
LDFLAGS += -rdynamic
 
79
CFLAGS += -funwind-tables
 
80
ifdef CONFIG_WPA_TRACE_BFD
 
81
CFLAGS += -DWPA_TRACE_BFD
 
82
LIBS += -lbfd
 
83
LIBS_p += -lbfd
 
84
LIBS_c += -lbfd
 
85
endif
 
86
endif
 
87
 
80
88
ifndef CONFIG_ELOOP
81
89
CONFIG_ELOOP=eloop
82
90
endif
119
127
CFLAGS += -DCONFIG_NO_SCAN_PROCESSING
120
128
endif
121
129
 
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
 
130
ifdef CONFIG_IEEE80211W
 
131
CFLAGS += -DCONFIG_IEEE80211W
 
132
NEED_SHA256=y
 
133
NEED_AES_OMAC1=y
 
134
endif
 
135
 
 
136
ifdef CONFIG_IEEE80211R
 
137
CFLAGS += -DCONFIG_IEEE80211R
 
138
OBJS += ../src/rsn_supp/wpa_ft.o
 
139
NEED_80211_COMMON=y
 
140
NEED_SHA256=y
 
141
NEED_AES_OMAC1=y
 
142
endif
 
143
 
 
144
ifdef CONFIG_PEERKEY
 
145
CFLAGS += -DCONFIG_PEERKEY
 
146
endif
 
147
 
 
148
ifndef CONFIG_NO_WPA
 
149
OBJS += ../src/rsn_supp/wpa.o
 
150
OBJS += ../src/rsn_supp/preauth.o
 
151
OBJS += ../src/rsn_supp/pmksa_cache.o
 
152
OBJS += ../src/rsn_supp/peerkey.o
 
153
OBJS += ../src/rsn_supp/wpa_ie.o
 
154
OBJS += ../src/common/wpa_common.o
 
155
NEED_AES=y
 
156
NEED_SHA1=y
 
157
NEED_MD5=y
 
158
NEED_RC4=y
 
159
else
 
160
CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2
 
161
endif
 
162
 
 
163
ifdef CONFIG_IBSS_RSN
 
164
NEED_RSN_AUTHENTICATOR=y
 
165
CFLAGS += -DCONFIG_IBSS_RSN
 
166
OBJS += ibss_rsn.o
 
167
endif
 
168
 
 
169
ifdef CONFIG_NO_WPA2
 
170
CFLAGS += -DCONFIG_NO_WPA2
 
171
endif
 
172
 
 
173
include ../src/drivers/drivers.mak
 
174
ifdef CONFIG_AP
 
175
OBJS_d += $(DRV_BOTH_OBJS)
 
176
CFLAGS += $(DRV_BOTH_CFLAGS)
 
177
LDFLAGS += $(DRV_BOTH_LDFLAGS)
 
178
LIBS += $(DRV_BOTH_LIBS)
 
179
else
 
180
NEED_AP_MLME=
 
181
OBJS_d += $(DRV_WPA_OBJS)
 
182
CFLAGS += $(DRV_WPA_CFLAGS)
 
183
LDFLAGS += $(DRV_WPA_LDFLAGS)
 
184
LIBS += $(DRV_WPA_LIBS)
244
185
endif
245
186
 
246
187
ifndef CONFIG_L2_PACKET
276
217
else
277
218
CFLAGS += -DEAP_TLS
278
219
OBJS += ../src/eap_peer/eap_tls.o
279
 
OBJS_h += ../src/eap_server/eap_tls.o
 
220
OBJS_h += ../src/eap_server/eap_server_tls.o
280
221
endif
281
222
TLS_FUNCS=y
282
223
CONFIG_IEEE8021X_EAPOL=y
291
232
CFLAGS += -DEAP_PEAP
292
233
OBJS += ../src/eap_peer/eap_peap.o
293
234
OBJS += ../src/eap_common/eap_peap_common.o
294
 
OBJS_h += ../src/eap_server/eap_peap.o
 
235
OBJS_h += ../src/eap_server/eap_server_peap.o
295
236
endif
296
237
TLS_FUNCS=y
297
238
CONFIG_IEEE8021X_EAPOL=y
305
246
else
306
247
CFLAGS += -DEAP_TTLS
307
248
OBJS += ../src/eap_peer/eap_ttls.o
308
 
OBJS_h += ../src/eap_server/eap_ttls.o
 
249
OBJS_h += ../src/eap_server/eap_server_ttls.o
309
250
endif
310
251
MS_FUNCS=y
311
252
TLS_FUNCS=y
321
262
else
322
263
CFLAGS += -DEAP_MD5
323
264
OBJS += ../src/eap_peer/eap_md5.o
324
 
OBJS_h += ../src/eap_server/eap_md5.o
 
265
OBJS_h += ../src/eap_server/eap_server_md5.o
325
266
endif
326
267
CHAP=y
327
268
CONFIG_IEEE8021X_EAPOL=y
344
285
CFLAGS += -DEAP_MSCHAPv2
345
286
OBJS += ../src/eap_peer/eap_mschapv2.o
346
287
OBJS += ../src/eap_peer/mschapv2.o
347
 
OBJS_h += ../src/eap_server/eap_mschapv2.o
 
288
OBJS_h += ../src/eap_server/eap_server_mschapv2.o
348
289
endif
349
290
MS_FUNCS=y
350
291
CONFIG_IEEE8021X_EAPOL=y
358
299
else
359
300
CFLAGS += -DEAP_GTC
360
301
OBJS += ../src/eap_peer/eap_gtc.o
361
 
OBJS_h += ../src/eap_server/eap_gtc.o
 
302
OBJS_h += ../src/eap_server/eap_server_gtc.o
362
303
endif
363
304
CONFIG_IEEE8021X_EAPOL=y
364
305
endif
383
324
else
384
325
CFLAGS += -DEAP_SIM
385
326
OBJS += ../src/eap_peer/eap_sim.o
386
 
OBJS_h += ../src/eap_server/eap_sim.o
 
327
OBJS_h += ../src/eap_server/eap_server_sim.o
387
328
endif
388
329
CONFIG_IEEE8021X_EAPOL=y
389
330
CONFIG_EAP_SIM_COMMON=y
 
331
NEED_AES_CBC=y
390
332
endif
391
333
 
392
334
ifdef CONFIG_EAP_LEAP
410
352
else
411
353
CFLAGS += -DEAP_PSK
412
354
OBJS += ../src/eap_peer/eap_psk.o ../src/eap_common/eap_psk_common.o
413
 
OBJS_h += ../src/eap_server/eap_psk.o
 
355
OBJS_h += ../src/eap_server/eap_server_psk.o
414
356
endif
415
357
CONFIG_IEEE8021X_EAPOL=y
416
358
NEED_AES=y
 
359
NEED_AES_OMAC1=y
 
360
NEED_AES_ENCBLOCK=y
 
361
NEED_AES_EAX=y
417
362
endif
418
363
 
419
364
ifdef CONFIG_EAP_AKA
424
369
else
425
370
CFLAGS += -DEAP_AKA
426
371
OBJS += ../src/eap_peer/eap_aka.o
427
 
OBJS_h += ../src/eap_server/eap_aka.o
 
372
OBJS_h += ../src/eap_server/eap_server_aka.o
428
373
endif
429
374
CONFIG_IEEE8021X_EAPOL=y
430
375
CONFIG_EAP_SIM_COMMON=y
 
376
NEED_AES_CBC=y
431
377
endif
432
378
 
433
379
ifdef CONFIG_EAP_AKA_PRIME
457
403
CFLAGS += -DEAP_FAST
458
404
OBJS += ../src/eap_peer/eap_fast.o ../src/eap_peer/eap_fast_pac.o
459
405
OBJS += ../src/eap_common/eap_fast_common.o
460
 
OBJS_h += ../src/eap_server/eap_fast.o
 
406
OBJS_h += ../src/eap_server/eap_server_fast.o
461
407
endif
462
408
TLS_FUNCS=y
463
409
CONFIG_IEEE8021X_EAPOL=y
472
418
else
473
419
CFLAGS += -DEAP_PAX
474
420
OBJS += ../src/eap_peer/eap_pax.o ../src/eap_common/eap_pax_common.o
475
 
OBJS_h += ../src/eap_server/eap_pax.o
 
421
OBJS_h += ../src/eap_server/eap_server_pax.o
476
422
endif
477
423
CONFIG_IEEE8021X_EAPOL=y
478
424
endif
485
431
else
486
432
CFLAGS += -DEAP_SAKE
487
433
OBJS += ../src/eap_peer/eap_sake.o ../src/eap_common/eap_sake_common.o
488
 
OBJS_h += ../src/eap_server/eap_sake.o
 
434
OBJS_h += ../src/eap_server/eap_server_sake.o
489
435
endif
490
436
CONFIG_IEEE8021X_EAPOL=y
491
437
endif
498
444
else
499
445
CFLAGS += -DEAP_GPSK
500
446
OBJS += ../src/eap_peer/eap_gpsk.o ../src/eap_common/eap_gpsk_common.o
501
 
OBJS_h += ../src/eap_server/eap_gpsk.o
 
447
OBJS_h += ../src/eap_server/eap_server_gpsk.o
502
448
endif
503
449
CONFIG_IEEE8021X_EAPOL=y
504
450
ifdef CONFIG_EAP_GPSK_SHA256
505
451
CFLAGS += -DEAP_GPSK_SHA256
506
452
endif
507
453
NEED_SHA256=y
 
454
NEED_AES_OMAC1=y
508
455
endif
509
456
 
510
457
ifdef CONFIG_WPS
521
468
OBJS += ../src/wps/wps_dev_attr.o
522
469
OBJS += ../src/wps/wps_enrollee.o
523
470
OBJS += ../src/wps/wps_registrar.o
524
 
OBJS_h += ../src/eap_server/eap_wsc.o
 
471
OBJS_h += ../src/eap_server/eap_server_wsc.o
525
472
CONFIG_IEEE8021X_EAPOL=y
526
473
NEED_DH_GROUPS=y
527
474
NEED_SHA256=y
528
475
NEED_BASE64=y
529
 
NEED_CRYPTO=y
530
476
NEED_80211_COMMON=y
 
477
NEED_AES_CBC=y
 
478
NEED_MODEXP=y
 
479
 
 
480
ifdef CONFIG_WPS_UFD
 
481
CFLAGS += -DCONFIG_WPS_UFD
 
482
OBJS += ../src/wps/wps_ufd.o
 
483
NEED_WPS_OOB=y
 
484
endif
 
485
 
 
486
ifdef CONFIG_WPS_NFC
 
487
CFLAGS += -DCONFIG_WPS_NFC
 
488
OBJS += ../src/wps/ndef.o
 
489
OBJS += ../src/wps/wps_nfc.o
 
490
NEED_WPS_OOB=y
 
491
ifdef CONFIG_WPS_NFC_PN531
 
492
PN531_PATH ?= /usr/local/src/nfc
 
493
CFLAGS += -DCONFIG_WPS_NFC_PN531
 
494
CFLAGS += -I${PN531_PATH}/inc
 
495
OBJS += ../src/wps/wps_nfc_pn531.o
 
496
LIBS += ${PN531_PATH}/lib/wpsnfc.dll
 
497
LIBS += ${PN531_PATH}/lib/libnfc_mapping_pn53x.dll
 
498
endif
 
499
endif
 
500
 
 
501
ifdef NEED_WPS_OOB
 
502
CFLAGS += -DCONFIG_WPS_OOB
 
503
endif
 
504
 
 
505
ifdef CONFIG_WPS_ER
 
506
CONFIG_WPS_UPNP=y
 
507
CFLAGS += -DCONFIG_WPS_ER
 
508
OBJS += ../src/wps/wps_er.o
 
509
OBJS += ../src/wps/wps_er_ssdp.o
 
510
endif
531
511
 
532
512
ifdef CONFIG_WPS_UPNP
533
513
CFLAGS += -DCONFIG_WPS_UPNP
535
515
OBJS += ../src/wps/wps_upnp_ssdp.o
536
516
OBJS += ../src/wps/wps_upnp_web.o
537
517
OBJS += ../src/wps/wps_upnp_event.o
 
518
OBJS += ../src/wps/wps_upnp_ap.o
 
519
OBJS += ../src/wps/upnp_xml.o
538
520
OBJS += ../src/wps/httpread.o
 
521
OBJS += ../src/wps/http_client.o
 
522
OBJS += ../src/wps/http_server.o
539
523
endif
540
524
 
541
525
endif
550
534
CFLAGS += -DEAP_IKEV2
551
535
OBJS += ../src/eap_peer/eap_ikev2.o ../src/eap_peer/ikev2.o
552
536
OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o
553
 
OBJS_h += ../src/eap_server/eap_ikev2.o
 
537
OBJS_h += ../src/eap_server/eap_server_ikev2.o
554
538
OBJS_h += ../src/eap_server/ikev2.o
555
539
endif
556
540
CONFIG_IEEE8021X_EAPOL=y
557
541
NEED_DH_GROUPS=y
558
542
NEED_DH_GROUPS_ALL=y
 
543
NEED_MODEXP=y
 
544
NEED_CIPHER=y
559
545
endif
560
546
 
561
547
ifdef CONFIG_EAP_VENDOR_TEST
565
551
else
566
552
CFLAGS += -DEAP_VENDOR_TEST
567
553
OBJS += ../src/eap_peer/eap_vendor_test.o
568
 
OBJS_h += ../src/eap_server/eap_vendor_test.o
 
554
OBJS_h += ../src/eap_server/eap_server_vendor_test.o
569
555
endif
570
556
CONFIG_IEEE8021X_EAPOL=y
571
557
endif
575
561
CFLAGS += -DEAP_TNC
576
562
OBJS += ../src/eap_peer/eap_tnc.o
577
563
OBJS += ../src/eap_peer/tncc.o
 
564
OBJS_h += ../src/eap_server/eap_server_tnc.o
 
565
OBJS_h += ../src/eap_server/tncs.o
578
566
NEED_BASE64=y
579
567
ifndef CONFIG_NATIVE_WINDOWS
580
568
ifndef CONFIG_DRIVER_BSD
586
574
ifdef CONFIG_IEEE8021X_EAPOL
587
575
# IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
588
576
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
 
577
OBJS += ../src/eapol_supp/eapol_supp_sm.o
 
578
OBJS += ../src/eap_peer/eap.o ../src/eap_peer/eap_methods.o
 
579
NEED_EAP_COMMON=y
590
580
ifdef CONFIG_DYNAMIC_EAP_METHODS
591
581
CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS
592
582
LIBS += -ldl -rdynamic
593
583
endif
594
584
endif
595
585
 
 
586
ifdef CONFIG_AP
 
587
NEED_80211_COMMON=y
 
588
NEED_EAP_COMMON=y
 
589
NEED_RSN_AUTHENTICATOR=y
 
590
CFLAGS += -DCONFIG_AP
 
591
OBJS += ap.o
 
592
CFLAGS += -DCONFIG_NO_RADIUS
 
593
CFLAGS += -DCONFIG_NO_ACCOUNTING
 
594
CFLAGS += -DCONFIG_NO_VLAN
 
595
OBJS += ../src/ap/hostapd.o
 
596
OBJS += ../src/ap/wpa_auth_glue.o
 
597
OBJS += ../src/ap/utils.o
 
598
OBJS += ../src/ap/authsrv.o
 
599
OBJS += ../src/ap/ap_config.o
 
600
OBJS += ../src/utils/ip_addr.o
 
601
OBJS += ../src/ap/sta_info.o
 
602
OBJS += ../src/ap/tkip_countermeasures.o
 
603
OBJS += ../src/ap/ap_mlme.o
 
604
OBJS += ../src/ap/ieee802_1x.o
 
605
OBJS += ../src/eapol_auth/eapol_auth_sm.o
 
606
OBJS += ../src/ap/ieee802_11_auth.o
 
607
OBJS += ../src/ap/drv_callbacks.o
 
608
OBJS += ../src/ap/ap_drv_ops.o
 
609
ifdef CONFIG_CTRL_IFACE
 
610
OBJS += ../src/ap/ctrl_iface_ap.o
 
611
endif
 
612
 
 
613
CFLAGS += -DEAP_SERVER -DEAP_SERVER_IDENTITY
 
614
OBJS += ../src/eap_server/eap_server.o
 
615
OBJS += ../src/eap_server/eap_server_identity.o
 
616
OBJS += ../src/eap_server/eap_server_methods.o
 
617
 
 
618
ifdef CONFIG_IEEE80211N
 
619
CFLAGS += -DCONFIG_IEEE80211N
 
620
endif
 
621
 
 
622
ifdef NEED_AP_MLME
 
623
OBJS += ../src/ap/beacon.o
 
624
OBJS += ../src/ap/wmm.o
 
625
OBJS += ../src/ap/ap_list.o
 
626
OBJS += ../src/ap/ieee802_11.o
 
627
OBJS += ../src/ap/hw_features.o
 
628
ifdef CONFIG_IEEE80211N
 
629
OBJS += ../src/ap/ieee802_11_ht.o
 
630
endif
 
631
CFLAGS += -DNEED_AP_MLME
 
632
endif
 
633
ifdef CONFIG_WPS
 
634
CFLAGS += -DEAP_SERVER_WSC
 
635
OBJS += ../src/ap/wps_hostapd.o
 
636
OBJS += ../src/eap_server/eap_server_wsc.o
 
637
endif
 
638
endif
 
639
 
 
640
ifdef NEED_RSN_AUTHENTICATOR
 
641
CFLAGS += -DCONFIG_NO_RADIUS
 
642
NEED_AES_WRAP=y
 
643
OBJS += ../src/ap/wpa_auth.o
 
644
OBJS += ../src/ap/wpa_auth_ie.o
 
645
OBJS += ../src/ap/pmksa_cache_auth.o
 
646
ifdef CONFIG_IEEE80211R
 
647
OBJS += ../src/ap/wpa_auth_ft.o
 
648
endif
 
649
ifdef CONFIG_PEERKEY
 
650
OBJS += ../src/ap/peerkey_auth.o
 
651
endif
 
652
endif
 
653
 
596
654
ifdef CONFIG_EAP_SERVER
597
655
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
 
656
OBJS_h += ../src/eap_server/eap_server.o
 
657
OBJS_h += ../src/eap_server/eap_server_identity.o
 
658
OBJS_h += ../src/eap_server/eap_server_methods.o
601
659
endif
602
660
 
603
661
ifdef CONFIG_RADIUS_CLIENT
607
665
endif
608
666
 
609
667
ifdef CONFIG_AUTHENTICATOR
610
 
OBJS_h += ../hostapd/eapol_sm.o
611
 
OBJS_h += ../hostapd/ieee802_1x.o
 
668
OBJS_h += ../src/eapol_auth/eapol_auth_sm.o
 
669
OBJS_h += ../src/ap/ieee802_1x.o
612
670
endif
613
671
 
614
672
ifdef CONFIG_WPA_AUTHENTICATOR
615
 
OBJS_h += ../hostapd/wpa.o
616
 
OBJS_h += ../hostapd/wpa_auth_ie.o
 
673
OBJS_h += ../src/ap/wpa_auth.o
 
674
OBJS_h += ../src/ap/wpa_auth_ie.o
 
675
OBJS_h += ../src/ap/pmksa_cache_auth.o
617
676
ifdef CONFIG_IEEE80211R
618
 
OBJS_h += ../hostapd/wpa_ft.o
 
677
OBJS_h += ../src/ap/wpa_auth_ft.o
619
678
endif
620
679
ifdef CONFIG_PEERKEY
621
 
OBJS_h += ../hostapd/peerkey.o
 
680
OBJS_h += ../src/ap/peerkey_auth.o
622
681
endif
623
682
endif
624
683
 
647
706
endif
648
707
 
649
708
ifdef NEED_MILENAGE
650
 
OBJS += ../src/hlr_auc_gw/milenage.o
 
709
OBJS += ../src/crypto/milenage.o
 
710
endif
 
711
 
 
712
ifdef CONFIG_PKCS12
 
713
CFLAGS += -DPKCS12_FUNCS
 
714
endif
 
715
 
 
716
ifdef CONFIG_SMARTCARD
 
717
CFLAGS += -DCONFIG_SMARTCARD
 
718
endif
 
719
 
 
720
ifdef MS_FUNCS
 
721
OBJS += ../src/crypto/ms_funcs.o
 
722
NEED_DES=y
 
723
NEED_MD4=y
 
724
endif
 
725
 
 
726
ifdef CHAP
 
727
OBJS += ../src/eap_common/chap.o
 
728
endif
 
729
 
 
730
ifdef TLS_FUNCS
 
731
NEED_DES=y
 
732
# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
 
733
OBJS += ../src/eap_peer/eap_tls_common.o
 
734
OBJS_h += ../src/eap_server/eap_server_tls_common.o
 
735
NEED_TLS_PRF=y
651
736
endif
652
737
 
653
738
ifndef CONFIG_TLS
654
739
CONFIG_TLS=openssl
655
740
endif
656
741
 
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
 
 
 
742
ifeq ($(CONFIG_TLS), openssl)
670
743
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
744
CFLAGS += -DEAP_TLS_OPENSSL
678
745
OBJS += ../src/crypto/tls_openssl.o
679
 
LIBS += -lssl -lcrypto
 
746
LIBS += -lssl
 
747
endif
 
748
OBJS += ../src/crypto/crypto_openssl.o
 
749
OBJS_p += ../src/crypto/crypto_openssl.o
 
750
ifdef NEED_FIPS186_2_PRF
 
751
OBJS += ../src/crypto/fips_prf_openssl.o
 
752
endif
 
753
LIBS += -lcrypto
680
754
LIBS_p += -lcrypto
681
755
endif
 
756
 
682
757
ifeq ($(CONFIG_TLS), gnutls)
 
758
ifdef TLS_FUNCS
683
759
OBJS += ../src/crypto/tls_gnutls.o
684
 
LIBS += -lgnutls -lgcrypt -lgpg-error
685
 
LIBS_p += -lgcrypt
 
760
LIBS += -lgnutls -lgpg-error
686
761
ifdef CONFIG_GNUTLS_EXTRA
687
762
CFLAGS += -DCONFIG_GNUTLS_EXTRA
688
763
LIBS += -lgnutls-extra
689
764
endif
690
765
endif
 
766
OBJS += ../src/crypto/crypto_gnutls.o
 
767
OBJS_p += ../src/crypto/crypto_gnutls.o
 
768
ifdef NEED_FIPS186_2_PRF
 
769
OBJS += ../src/crypto/fips_prf_gnutls.o
 
770
endif
 
771
LIBS += -lgcrypt
 
772
LIBS_p += -lgcrypt
 
773
CONFIG_INTERNAL_SHA256=y
 
774
CONFIG_INTERNAL_RC4=y
 
775
CONFIG_INTERNAL_DH_GROUP5=y
 
776
endif
 
777
 
691
778
ifeq ($(CONFIG_TLS), schannel)
 
779
ifdef TLS_FUNCS
692
780
OBJS += ../src/crypto/tls_schannel.o
693
781
endif
 
782
OBJS += ../src/crypto/crypto_cryptoapi.o
 
783
OBJS_p += ../src/crypto/crypto_cryptoapi.o
 
784
ifdef NEED_FIPS186_2_PRF
 
785
OBJS += ../src/crypto/fips_prf_cryptoapi.o
 
786
endif
 
787
CONFIG_INTERNAL_SHA256=y
 
788
CONFIG_INTERNAL_RC4=y
 
789
CONFIG_INTERNAL_DH_GROUP5=y
 
790
endif
 
791
 
 
792
ifeq ($(CONFIG_TLS), nss)
 
793
ifdef TLS_FUNCS
 
794
OBJS += ../src/crypto/tls_nss.o
 
795
LIBS += -lssl3
 
796
endif
 
797
OBJS += ../src/crypto/crypto_nss.o
 
798
OBJS_p += ../src/crypto/crypto_nss.o
 
799
ifdef NEED_FIPS186_2_PRF
 
800
OBJS += ../src/crypto/fips_prf_nss.o
 
801
endif
 
802
LIBS += -lnss3
 
803
LIBS_p += -lnss3
 
804
CONFIG_INTERNAL_MD4=y
 
805
CONFIG_INTERNAL_DH_GROUP5=y
 
806
endif
 
807
 
694
808
ifeq ($(CONFIG_TLS), internal)
 
809
ifndef CONFIG_CRYPTO
 
810
CONFIG_CRYPTO=internal
 
811
endif
 
812
ifdef TLS_FUNCS
 
813
OBJS += ../src/crypto/crypto_internal-rsa.o
695
814
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
 
815
OBJS += ../src/tls/tlsv1_common.o
 
816
OBJS += ../src/tls/tlsv1_record.o
 
817
OBJS += ../src/tls/tlsv1_cred.o
 
818
OBJS += ../src/tls/tlsv1_client.o
 
819
OBJS += ../src/tls/tlsv1_client_write.o
 
820
OBJS += ../src/tls/tlsv1_client_read.o
 
821
OBJS += ../src/tls/asn1.o
 
822
OBJS += ../src/tls/rsa.o
 
823
OBJS += ../src/tls/x509v3.o
 
824
OBJS += ../src/tls/pkcs1.o
 
825
OBJS += ../src/tls/pkcs5.o
 
826
OBJS += ../src/tls/pkcs8.o
 
827
NEED_SHA256=y
702
828
NEED_BASE64=y
703
829
NEED_TLS_PRF=y
704
 
CFLAGS += -DCONFIG_TLS_INTERNAL
 
830
NEED_MODEXP=y
 
831
NEED_CIPHER=y
705
832
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)
 
833
endif
 
834
ifdef NEED_CIPHER
 
835
NEED_DES=y
 
836
OBJS += ../src/crypto/crypto_internal-cipher.o
 
837
endif
 
838
ifdef NEED_MODEXP
 
839
OBJS += ../src/crypto/crypto_internal-modexp.o
 
840
OBJS += ../src/tls/bignum.o
 
841
endif
785
842
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
786
843
OBJS += ../src/crypto/crypto_libtomcrypt.o
787
844
OBJS_p += ../src/crypto/crypto_libtomcrypt.o
 
845
LIBS += -ltomcrypt -ltfm
 
846
LIBS_p += -ltomcrypt -ltfm
788
847
CONFIG_INTERNAL_SHA256=y
 
848
CONFIG_INTERNAL_RC4=y
 
849
CONFIG_INTERNAL_DH_GROUP5=y
789
850
endif
790
851
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
 
852
OBJS += ../src/crypto/crypto_internal.o
 
853
OBJS_p += ../src/crypto/crypto_internal.o
 
854
NEED_AES_ENC=y
793
855
CFLAGS += -DCONFIG_CRYPTO_INTERNAL
794
856
ifdef CONFIG_INTERNAL_LIBTOMMATH
795
857
CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
806
868
CONFIG_INTERNAL_MD4=y
807
869
CONFIG_INTERNAL_MD5=y
808
870
CONFIG_INTERNAL_SHA256=y
 
871
CONFIG_INTERNAL_RC4=y
 
872
CONFIG_INTERNAL_DH_GROUP5=y
809
873
endif
810
874
ifeq ($(CONFIG_CRYPTO), cryptoapi)
811
875
OBJS += ../src/crypto/crypto_cryptoapi.o
812
876
OBJS_p += ../src/crypto/crypto_cryptoapi.o
813
877
CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
814
878
CONFIG_INTERNAL_SHA256=y
815
 
endif
816
 
endif
 
879
CONFIG_INTERNAL_RC4=y
 
880
endif
 
881
endif
 
882
 
817
883
ifeq ($(CONFIG_TLS), none)
 
884
ifdef TLS_FUNCS
 
885
OBJS += ../src/crypto/tls_none.o
 
886
CFLAGS += -DEAP_TLS_NONE
 
887
CONFIG_INTERNAL_AES=y
 
888
CONFIG_INTERNAL_SHA1=y
 
889
CONFIG_INTERNAL_MD5=y
 
890
endif
818
891
OBJS += ../src/crypto/crypto_none.o
819
892
OBJS_p += ../src/crypto/crypto_none.o
820
893
CONFIG_INTERNAL_SHA256=y
821
 
endif
822
 
else
 
894
CONFIG_INTERNAL_RC4=y
 
895
endif
 
896
 
 
897
ifdef TLS_FUNCS
 
898
ifdef CONFIG_SMARTCARD
 
899
ifndef CONFIG_NATIVE_WINDOWS
 
900
ifneq ($(CONFIG_L2_PACKET), freebsd)
 
901
LIBS += -ldl
 
902
endif
 
903
endif
 
904
endif
 
905
endif
 
906
 
 
907
ifndef TLS_FUNCS
 
908
OBJS += ../src/crypto/tls_none.o
 
909
ifeq ($(CONFIG_TLS), internal)
823
910
CONFIG_INTERNAL_AES=y
824
911
CONFIG_INTERNAL_SHA1=y
825
912
CONFIG_INTERNAL_MD5=y
826
 
endif
827
 
 
828
 
ifdef CONFIG_INTERNAL_AES
829
 
CFLAGS += -DINTERNAL_AES
830
 
endif
 
913
CONFIG_INTERNAL_RC4=y
 
914
endif
 
915
endif
 
916
 
 
917
AESOBJS = # none so far (see below)
 
918
ifdef CONFIG_INTERNAL_AES
 
919
AESOBJS += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-dec.o
 
920
endif
 
921
 
 
922
AESOBJS += ../src/crypto/aes-unwrap.o
 
923
ifdef NEED_AES_EAX
 
924
AESOBJS += ../src/crypto/aes-eax.o
 
925
NEED_AES_CTR=y
 
926
endif
 
927
ifdef NEED_AES_CTR
 
928
AESOBJS += ../src/crypto/aes-ctr.o
 
929
endif
 
930
ifdef NEED_AES_ENCBLOCK
 
931
AESOBJS += ../src/crypto/aes-encblock.o
 
932
endif
 
933
ifdef NEED_AES_OMAC1
 
934
NEED_AES_ENC=y
 
935
AESOBJS += ../src/crypto/aes-omac1.o
 
936
endif
 
937
ifdef NEED_AES_WRAP
 
938
NEED_AES_ENC=y
 
939
AESOBJS += ../src/crypto/aes-wrap.o
 
940
endif
 
941
ifdef NEED_AES_CBC
 
942
NEED_AES_ENC=y
 
943
AESOBJS += ../src/crypto/aes-cbc.o
 
944
endif
 
945
ifdef NEED_AES_ENC
 
946
ifdef CONFIG_INTERNAL_AES
 
947
AESOBJS += ../src/crypto/aes-internal-enc.o
 
948
endif
 
949
endif
 
950
ifdef NEED_AES
 
951
OBJS += $(AESOBJS)
 
952
endif
 
953
 
 
954
ifdef NEED_SHA1
 
955
SHA1OBJS += ../src/crypto/sha1.o
831
956
ifdef CONFIG_INTERNAL_SHA1
832
 
CFLAGS += -DINTERNAL_SHA1
833
 
endif
834
 
ifdef CONFIG_INTERNAL_SHA256
835
 
CFLAGS += -DINTERNAL_SHA256
836
 
endif
 
957
SHA1OBJS += ../src/crypto/sha1-internal.o
 
958
ifdef NEED_FIPS186_2_PRF
 
959
SHA1OBJS += ../src/crypto/fips_prf_internal.o
 
960
endif
 
961
endif
 
962
ifndef CONFIG_NO_WPA_PASSPHRASE
 
963
SHA1OBJS += ../src/crypto/sha1-pbkdf2.o
 
964
endif
 
965
ifdef NEED_T_PRF
 
966
SHA1OBJS += ../src/crypto/sha1-tprf.o
 
967
endif
 
968
ifdef NEED_TLS_PRF
 
969
SHA1OBJS += ../src/crypto/sha1-tlsprf.o
 
970
endif
 
971
endif
 
972
 
 
973
MD5OBJS = ../src/crypto/md5.o
 
974
ifdef NEED_MD5
837
975
ifdef CONFIG_INTERNAL_MD5
838
 
CFLAGS += -DINTERNAL_MD5
839
 
endif
 
976
MD5OBJS += ../src/crypto/md5-internal.o
 
977
endif
 
978
ifdef CONFIG_FIPS
 
979
MD5OBJS += ../src/crypto/md5-non-fips.o
 
980
endif
 
981
OBJS += $(MD5OBJS)
 
982
OBJS_p += $(MD5OBJS)
 
983
endif
 
984
 
 
985
ifdef NEED_MD4
840
986
ifdef CONFIG_INTERNAL_MD4
841
 
CFLAGS += -DINTERNAL_MD4
842
 
endif
 
987
OBJS += ../src/crypto/md4-internal.o
 
988
endif
 
989
endif
 
990
 
 
991
DESOBJS = # none needed when not internal
 
992
ifdef NEED_DES
843
993
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
 
 
 
994
DESOBJS += ../src/crypto/des-internal.o
 
995
endif
 
996
endif
 
997
 
 
998
ifdef NEED_RC4
 
999
ifdef CONFIG_INTERNAL_RC4
 
1000
OBJS += ../src/crypto/rc4.o
 
1001
endif
 
1002
endif
 
1003
 
 
1004
SHA256OBJS = # none by default
856
1005
ifdef NEED_SHA256
857
 
OBJS += ../src/crypto/sha256.o
858
 
CFLAGS += -DNEED_SHA256
 
1006
CFLAGS += -DCONFIG_SHA256
 
1007
SHA256OBJS += ../src/crypto/sha256.o
 
1008
ifdef CONFIG_INTERNAL_SHA256
 
1009
SHA256OBJS += ../src/crypto/sha256-internal.o
 
1010
endif
 
1011
OBJS += $(SHA256OBJS)
859
1012
endif
860
1013
 
861
 
ifdef CONFIG_WIRELESS_EXTENSION
862
 
OBJS_d += ../src/drivers/driver_wext.o
 
1014
ifdef NEED_DH_GROUPS
 
1015
OBJS += ../src/crypto/dh_groups.o
 
1016
endif
 
1017
ifdef NEED_DH_GROUPS_ALL
 
1018
CFLAGS += -DALL_DH_GROUPS
 
1019
endif
 
1020
ifdef CONFIG_INTERNAL_DH_GROUP5
 
1021
ifdef NEED_DH_GROUPS
 
1022
OBJS += ../src/crypto/dh_group5.o
 
1023
endif
863
1024
endif
864
1025
 
865
1026
ifdef CONFIG_CTRL_IFACE
884
1045
endif
885
1046
 
886
1047
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
 
1048
DBUS=y
 
1049
DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
 
1050
DBUS_OBJS += dbus/dbus_old.o dbus/dbus_old_handlers.o
 
1051
ifdef CONFIG_WPS
 
1052
DBUS_OBJS += dbus/dbus_old_handlers_wps.o
 
1053
endif
 
1054
DBUS_OBJS += dbus/dbus_dict_helpers.o
889
1055
ifndef DBUS_LIBS
890
1056
DBUS_LIBS := $(shell pkg-config --libs dbus-1)
891
1057
endif
892
 
LIBS += $(DBUS_LIBS)
893
1058
ifndef DBUS_INCLUDE
894
1059
DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1)
895
1060
endif
904
1069
endif
905
1070
DBUS_INCLUDE += -DDBUS_VERSION_MAJOR=$(DBUS_VERSION_MAJOR)
906
1071
DBUS_INCLUDE += -DDBUS_VERSION_MINOR=$(DBUS_VERSION_MINOR)
907
 
CFLAGS += $(DBUS_INCLUDE)
908
 
endif
 
1072
DBUS_CFLAGS += $(DBUS_INCLUDE)
 
1073
endif
 
1074
 
 
1075
ifdef CONFIG_CTRL_IFACE_DBUS_NEW
 
1076
DBUS=y
 
1077
DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_NEW
 
1078
DBUS_OBJS ?= dbus/dbus_dict_helpers.o
 
1079
DBUS_OBJS += dbus/dbus_new_helpers.o
 
1080
DBUS_OBJS += dbus/dbus_new.o dbus/dbus_new_handlers.o
 
1081
ifdef CONFIG_WPS
 
1082
DBUS_OBJS += dbus/dbus_new_handlers_wps.o
 
1083
endif
 
1084
ifndef DBUS_LIBS
 
1085
DBUS_LIBS := $(shell pkg-config --libs dbus-1)
 
1086
endif
 
1087
ifndef DBUS_INCLUDE
 
1088
DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1)
 
1089
endif
 
1090
ifdef CONFIG_CTRL_IFACE_DBUS_INTRO
 
1091
DBUS_OBJS += dbus/dbus_new_introspect.o
 
1092
DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_INTRO
 
1093
endif
 
1094
DBUS_CFLAGS += $(DBUS_INCLUDE)
 
1095
endif
 
1096
 
 
1097
ifdef DBUS
 
1098
DBUS_CFLAGS += -DCONFIG_DBUS
 
1099
DBUS_OBJS += dbus/dbus_common.o
 
1100
endif
 
1101
 
 
1102
OBJS += $(DBUS_OBJS)
 
1103
CFLAGS += $(DBUS_CFLAGS)
 
1104
LIBS += $(DBUS_LIBS)
909
1105
 
910
1106
ifdef CONFIG_READLINE
911
1107
CFLAGS += -DCONFIG_READLINE
934
1130
CFLAGS += -DCONFIG_IPV6
935
1131
endif
936
1132
 
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
1133
ifdef NEED_BASE64
998
1134
OBJS += ../src/utils/base64.o
999
1135
endif
1000
1136
 
 
1137
ifdef NEED_SME
 
1138
NEED_80211_COMMON=y
 
1139
OBJS += sme.o
 
1140
CFLAGS += -DCONFIG_SME
 
1141
endif
 
1142
 
1001
1143
ifdef CONFIG_CLIENT_MLME
1002
 
OBJS += mlme.o ../src/common/ieee802_11_common.o
 
1144
OBJS += mlme.o
1003
1145
CFLAGS += -DCONFIG_CLIENT_MLME
 
1146
NEED_80211_COMMON=y
 
1147
endif
 
1148
 
 
1149
ifdef NEED_80211_COMMON
 
1150
OBJS += ../src/common/ieee802_11_common.o
 
1151
endif
 
1152
 
 
1153
ifdef NEED_EAP_COMMON
 
1154
OBJS += ../src/eap_common/eap_common.o
1004
1155
endif
1005
1156
 
1006
1157
ifndef CONFIG_MAIN
1015
1166
CFLAGS += -DCONFIG_DEBUG_FILE
1016
1167
endif
1017
1168
 
1018
 
ifdef CONFIG_DEBUG_SYSLOG
1019
 
CFLAGS += -DCONFIG_DEBUG_SYSLOG
1020
 
endif
1021
 
 
1022
1169
ifdef CONFIG_DELAYED_MIC_ERROR_REPORT
1023
1170
CFLAGS += -DCONFIG_DELAYED_MIC_ERROR_REPORT
1024
1171
endif
1025
1172
 
1026
 
OBJS += ../src/drivers/scan_helpers.o
 
1173
ifdef CONFIG_FIPS
 
1174
CFLAGS += -DCONFIG_FIPS
 
1175
endif
 
1176
 
 
1177
OBJS += $(SHA1OBJS) $(DESOBJS)
 
1178
 
 
1179
OBJS_p += $(SHA1OBJS)
 
1180
 
 
1181
ifdef CONFIG_BGSCAN_SIMPLE
 
1182
CFLAGS += -DCONFIG_BGSCAN_SIMPLE
 
1183
OBJS += bgscan_simple.o
 
1184
NEED_BGSCAN=y
 
1185
endif
 
1186
 
 
1187
ifdef NEED_BGSCAN
 
1188
CFLAGS += -DCONFIG_BGSCAN
 
1189
OBJS += bgscan.o
 
1190
endif
1027
1191
 
1028
1192
OBJS_wpa_rm := ctrl_iface.o mlme.o ctrl_iface_unix.o
1029
1193
OBJS_wpa := $(filter-out $(OBJS_wpa_rm),$(OBJS)) $(OBJS_h) tests/test_wpa.o
1032
1196
endif
1033
1197
OBJS_wpa += $(OBJS_l2)
1034
1198
OBJS += wpa_supplicant.o events.o blacklist.o wpas_glue.o scan.o
1035
 
OBJS_t := $(OBJS) $(OBJS_l2) eapol_test.o ../src/radius/radius.o ../src/radius/radius_client.o
 
1199
OBJS_t := $(OBJS) $(OBJS_l2) eapol_test.o
 
1200
OBJS_t += ../src/radius/radius_client.o
 
1201
OBJS_t += ../src/radius/radius.o
 
1202
ifndef CONFIG_AP
1036
1203
OBJS_t += ../src/utils/ip_addr.o
 
1204
endif
1037
1205
OBJS_t2 := $(OBJS) $(OBJS_l2) preauth_test.o
1038
1206
OBJS += $(CONFIG_MAIN).o
1039
1207
 
1040
1208
ifdef CONFIG_PRIVSEP
1041
 
OBJS_priv += $(OBJS_d) ../src/drivers/drivers.o ../src/drivers/scan_helpers.o
 
1209
OBJS_priv += $(OBJS_d) ../src/drivers/drivers.o
1042
1210
OBJS_priv += $(OBJS_l2)
1043
1211
OBJS_priv += ../src/utils/os_$(CONFIG_OS).o
1044
1212
OBJS_priv += ../src/utils/$(CONFIG_ELOOP).o
1047
1215
OBJS_priv += ../src/utils/wpabuf.o
1048
1216
OBJS_priv += wpa_priv.o
1049
1217
ifdef CONFIG_DRIVER_TEST
1050
 
OBJS_priv += ../src/crypto/sha1.o
1051
 
OBJS_priv += ../src/crypto/md5.o
 
1218
OBJS_priv += $(SHA1OBJS)
 
1219
OBJS_priv += $(MD5OBJS)
1052
1220
ifeq ($(CONFIG_TLS), openssl)
1053
1221
OBJS_priv += ../src/crypto/crypto_openssl.o
1054
1222
endif
1055
1223
ifeq ($(CONFIG_TLS), gnutls)
1056
1224
OBJS_priv += ../src/crypto/crypto_gnutls.o
1057
1225
endif
 
1226
ifeq ($(CONFIG_TLS), nss)
 
1227
OBJS_priv += ../src/crypto/crypto_nss.o
 
1228
endif
1058
1229
ifeq ($(CONFIG_TLS), internal)
1059
1230
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
1060
1231
OBJS_priv += ../src/crypto/crypto_libtomcrypt.o
1088
1259
 
1089
1260
dynamic_eap_methods: $(EAPDYN)
1090
1261
 
1091
 
wpa_priv: $(OBJS_priv)
 
1262
../src/drivers/build.wpa_supplicant:
 
1263
        @if [ -f ../src/drivers/build.hostapd ]; then \
 
1264
                $(MAKE) -C ../src/drivers clean; \
 
1265
        fi
 
1266
        @touch ../src/drivers/build.wpa_supplicant
 
1267
 
 
1268
BCHECK=../src/drivers/build.wpa_supplicant
 
1269
 
 
1270
wpa_priv: $(BCHECK) $(OBJS_priv)
1092
1271
        $(LDO) $(LDFLAGS) -o wpa_priv $(OBJS_priv) $(LIBS)
1093
1272
 
1094
 
wpa_supplicant: .config $(OBJS) $(EXTRA_progs)
 
1273
wpa_supplicant: .config $(BCHECK) $(OBJS) $(EXTRA_progs)
1095
1274
        $(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS)
1096
1275
 
1097
1276
eapol_test: .config $(OBJS_t)
1112
1291
test_wpa: $(OBJS_wpa) $(OBJS_h)
1113
1292
        $(LDO) $(LDFLAGS) -o test_wpa $(OBJS_wpa) $(LIBS)
1114
1293
 
1115
 
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 \
1116
 
        ../src/crypto/crypto_$(CONFIG_CRYPTO).o ../src/crypto/md5.o ../src/crypto/sha1.o \
1117
 
        ../src/crypto/rc4.o ../src/crypto/des.o ../src/crypto/aes_wrap.o \
1118
 
        ../src/crypto/aes.o ../src/tls/bignum.o ../src/tls/rsa.o
1119
 
asn1_test: $(OBJSa)
1120
 
        $(LDO) $(LDFLAGS) -o asn1_test $(OBJSa)
1121
 
 
1122
 
OBJSx=tests/test_x509v3.o ../src/tls/asn1.o ../src/tls/x509v3.o \
1123
 
        ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_unix.o \
1124
 
        ../src/crypto/crypto_$(CONFIG_CRYPTO).o \
1125
 
        ../src/crypto/md5.o ../src/crypto/sha1.o ../src/crypto/aes.o \
1126
 
        ../src/crypto/rc4.o ../src/crypto/des.o ../src/crypto/aes_wrap.o \
1127
 
        ../src/crypto/sha256.o \
1128
 
        ../src/tls/bignum.o ../src/tls/rsa.o
1129
 
test_x509v3: $(OBJSx)
1130
 
        $(LDO) $(LDFLAGS) -o test_x509v3 $(OBJSx)
1131
 
 
1132
1294
win_if_list: win_if_list.c
1133
1295
        $(LDO) $(LDFLAGS) -o $@ win_if_list.c $(CFLAGS) $(LIBS_w)
1134
1296
 
1135
1297
eap_psk.so: ../src/eap_peer/eap_psk.c ../src/eap_common/eap_psk_common.c
1136
 
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1298
        $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
1137
1299
                -Deap_peer_psk_register=eap_peer_method_dynamic_init
1138
1300
 
1139
1301
eap_pax.so: ../src/eap_peer/eap_pax.c ../src/eap_common/eap_pax_common.c
1140
 
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1302
        $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
1141
1303
                -Deap_peer_pax_register=eap_peer_method_dynamic_init
1142
1304
 
1143
1305
eap_sake.so: ../src/eap_peer/eap_sake.c ../src/eap_common/eap_sake_common.c
1144
 
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1306
        $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
1145
1307
                -Deap_peer_sake_register=eap_peer_method_dynamic_init
1146
1308
 
1147
1309
eap_wsc.so: ../src/eap_peer/eap_wsc.c ../src/eap_common/eap_wsc_common.c ../src/wps/wps.c
1148
 
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1310
        $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
1149
1311
                -Deap_peer_wsc_register=eap_peer_method_dynamic_init
1150
1312
 
1151
1313
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
1152
 
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
 
1314
        $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \
1153
1315
                -Deap_peer_ikev2_register=eap_peer_method_dynamic_init
1154
1316
 
1155
1317
%.so: %.c
1156
 
        $(CC) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \
 
1318
        $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \
1157
1319
                -D$(*F:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init
1158
1320
 
1159
1321
Q=@
1192
1354
wpa_gui-qt4/Makefile:
1193
1355
        qmake -o wpa_gui-qt4/Makefile wpa_gui-qt4/wpa_gui.pro 
1194
1356
 
1195
 
wpa_gui-qt4: wpa_gui-qt4/Makefile
 
1357
wpa_gui-qt4/lang/wpa_gui_de.qm: wpa_gui-qt4/lang/wpa_gui_de.ts
 
1358
        lrelease wpa_gui-qt4/wpa_gui.pro
 
1359
 
 
1360
wpa_gui-qt4: wpa_gui-qt4/Makefile wpa_gui-qt4/lang/wpa_gui_de.qm
1196
1361
        $(MAKE) -C wpa_gui-qt4
1197
1362
 
1198
 
TEST_MS_FUNCS_OBJS = ../src/crypto/crypto_openssl.o ../src/crypto/sha1.o ../src/crypto/md5.o \
1199
 
        ../src/utils/os_unix.o ../src/crypto/rc4.o tests/test_ms_funcs.o
1200
 
test-ms_funcs: $(TEST_MS_FUNCS_OBJS)
1201
 
        $(LDO) $(LDFLAGS) -o $@ $(TEST_MS_FUNCS_OBJS) $(LIBS) -lcrypto
1202
 
        ./test-ms_funcs
1203
 
        rm test-ms_funcs
1204
 
 
1205
 
TEST_SHA1_OBJS = ../src/crypto/sha1.o ../src/crypto/md5.o tests/test_sha1.o #../src/crypto/crypto_openssl.o
1206
 
test-sha1: $(TEST_SHA1_OBJS)
1207
 
        $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA1_OBJS) $(LIBS)
1208
 
        ./test-sha1
1209
 
        rm test-sha1
1210
 
 
1211
 
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
1212
 
test-sha256: $(TEST_SHA256_OBJS)
1213
 
        $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA256_OBJS) $(LIBS)
1214
 
        ./test-sha256
1215
 
        rm test-sha256
1216
 
 
1217
 
TEST_AES_OBJS = ../src/crypto/aes_wrap.o ../src/crypto/aes.o tests/test_aes.o
1218
 
test-aes: $(TEST_AES_OBJS)
1219
 
        $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
1220
 
        ./test-aes
1221
 
        rm test-aes
1222
 
 
1223
 
TEST_EAP_SIM_COMMON_OBJS = ../src/crypto/sha1.o ../src/crypto/md5.o \
1224
 
        ../src/crypto/aes_wrap.o ../src/utils/common.o ../src/utils/os_unix.o \
1225
 
        ../src/utils/wpa_debug.o ../src/crypto/aes.o \
 
1363
TEST_EAP_SIM_COMMON_OBJS = $(SHA1OBJS) $(MD5OBJS) \
 
1364
        ../src/utils/common.o ../src/utils/os_unix.o \
 
1365
        ../src/utils/wpa_debug.o $(AESOBJS) \
1226
1366
        tests/test_eap_sim_common.o
1227
1367
test-eap_sim_common: $(TEST_EAP_SIM_COMMON_OBJS)
1228
 
        $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
 
1368
        $(LDO) $(LDFLAGS) -o $@ $(TEST_EAP_SIM_COMMON_OBJS) $(LIBS)
1229
1369
        ./test-eap_sim_common
1230
1370
        rm test-eap_sim_common
1231
1371
 
1232
 
TEST_MD4_OBJS = ../src/crypto/md4.o tests/test_md4.o #../src/crypto/crypto_openssl.o
1233
 
test-md4: $(TEST_MD4_OBJS)
1234
 
        $(LDO) $(LDFLAGS) -o $@ $(TEST_MD4_OBJS) $(LIBS)
1235
 
        ./test-md4
1236
 
        rm test-md4
1237
 
 
1238
 
TEST_MD5_OBJS = ../src/crypto/md5.o tests/test_md5.o #../src/crypto/crypto_openssl.o
1239
 
test-md5: $(TEST_MD5_OBJS)
1240
 
        $(LDO) $(LDFLAGS) -o $@ $(TEST_MD5_OBJS) $(LIBS)
1241
 
        ./test-md5
1242
 
        rm test-md5
1243
 
 
1244
 
tests: test-ms_funcs test-sha1 test-aes test-eap_sim_common test-md4 test-md5
 
1372
tests: test-eap_sim_common
1245
1373
 
1246
1374
clean:
1247
1375
        $(MAKE) -C ../src clean
 
1376
        $(MAKE) -C dbus clean
1248
1377
        rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL) eapol_test preauth_test
1249
1378
        rm -f wpa_priv
1250
1379
 
1251
 
%.eps: %.fig
1252
 
        fig2dev -L eps $*.fig $*.eps
1253
 
 
1254
 
%.png: %.fig
1255
 
        fig2dev -L png -m 3 $*.fig | pngtopnm | pnmscale 0.4 | pnmtopng \
1256
 
                > $*.png
1257
 
 
1258
 
docs-pics: doc/wpa_supplicant.png doc/wpa_supplicant.eps
1259
 
 
1260
 
docs: docs-pics
1261
 
        (cd ..; doxygen wpa_supplicant/doc/doxygen.full; cd wpa_supplicant)
1262
 
        $(MAKE) -C doc/latex
1263
 
        cp doc/latex/refman.pdf wpa_supplicant-devel.pdf
1264
 
 
1265
 
docs-fast: docs-pics
1266
 
        (cd ..; doxygen wpa_supplicant/doc/doxygen.fast; cd wpa_supplicant)
1267
 
 
1268
 
clean-docs:
1269
 
        rm -rf doc/latex doc/html
1270
 
        rm -f doc/wpa_supplicant.{eps,png} wpa_supplicant-devel.pdf
1271
 
 
1272
1380
-include $(OBJS:%.o=%.d)