blob: a0c97f07d386f711c4d7b810ffd95c7960dedbf5 [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001#
2# Copyright (C) 2008 The Android Open Source Project
3#
Dmitry Shmidtc81d5b62012-05-14 13:35:02 -07004# This software may be distributed under the terms of the BSD license.
5# See README for more details.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07006#
7
8LOCAL_PATH := $(call my-dir)
Dmitry Shmidtc55524a2011-07-07 11:18:38 -07009PKG_CONFIG ?= pkg-config
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070010
Jeff Brownbbda6272011-07-11 22:12:15 -070011ifneq ($(BOARD_WPA_SUPPLICANT_DRIVER),)
Jeff Brownbbda6272011-07-11 22:12:15 -070012 CONFIG_DRIVER_$(BOARD_WPA_SUPPLICANT_DRIVER) := y
Dmitry Shmidt1f42a6c2012-06-11 12:51:06 -070013else
14 CONFIG_DRIVER_TEST := y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070015endif
16
Dmitry Shmidt7dd0f202012-02-21 16:49:00 -080017include $(LOCAL_PATH)/android.config
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070018
19# To ignore possible wrong network configurations
20L_CFLAGS = -DWPA_IGNORE_CONFIG_ERRORS
21
Dmitry Shmidtea01dac2011-10-25 10:50:42 -070022L_CFLAGS += -DVERSION_STR_POSTFIX=\"-$(PLATFORM_VERSION)\"
23
Dmitry Shmidt648b7492011-09-30 15:03:42 -070024# Set Android log name
25L_CFLAGS += -DANDROID_LOG_NAME=\"wpa_supplicant\"
26
Dmitry Shmidt006dedf2012-02-21 16:30:45 -080027# Disable roaming in wpa_supplicant
28ifdef CONFIG_NO_ROAMING
29L_CFLAGS += -DCONFIG_NO_ROAMING
30endif
31
Dmitry Shmidtf6c92c42012-01-26 12:57:43 -080032ifeq ($(BOARD_WLAN_DEVICE), bcmdhd)
33L_CFLAGS += -DANDROID_P2P
Dmitry Shmidtd5e49232012-12-03 15:08:10 -080034L_CFLAGS += -DP2P_CONCURRENT_SEARCH_DELAY=0
Dmitry Shmidtf6c92c42012-01-26 12:57:43 -080035endif
36
Jeff Johnsone6c982c2012-08-13 16:54:58 -070037ifeq ($(BOARD_WLAN_DEVICE), qcwcn)
Jeff Johnsone6c982c2012-08-13 16:54:58 -070038L_CFLAGS += -DANDROID_P2P
39endif
40
Mike J. Chen0cc49e82012-12-05 11:20:29 -080041ifeq ($(BOARD_WLAN_DEVICE), mrvl)
42L_CFLAGS += -DANDROID_P2P
43endif
44
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070045# Use Android specific directory for control interface sockets
46L_CFLAGS += -DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/misc/wifi/sockets\"
47L_CFLAGS += -DCONFIG_CTRL_IFACE_DIR=\"/data/system/wpa_supplicant\"
48
49# To force sizeof(enum) = 4
50ifeq ($(TARGET_ARCH),arm)
51L_CFLAGS += -mabi=aapcs-linux
52endif
53
54# To allow non-ASCII characters in SSID
55L_CFLAGS += -DWPA_UNICODE_SSID
56
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070057INCLUDES = $(LOCAL_PATH)
58INCLUDES += $(LOCAL_PATH)/src
59INCLUDES += $(LOCAL_PATH)/src/common
60# INCLUDES += $(LOCAL_PATH)/src/crypto # To force proper includes
61INCLUDES += $(LOCAL_PATH)/src/drivers
62INCLUDES += $(LOCAL_PATH)/src/eap_common
63INCLUDES += $(LOCAL_PATH)/src/eapol_supp
64INCLUDES += $(LOCAL_PATH)/src/eap_peer
65INCLUDES += $(LOCAL_PATH)/src/eap_server
66INCLUDES += $(LOCAL_PATH)/src/hlr_auc_gw
67INCLUDES += $(LOCAL_PATH)/src/l2_packet
68INCLUDES += $(LOCAL_PATH)/src/radius
69INCLUDES += $(LOCAL_PATH)/src/rsn_supp
70INCLUDES += $(LOCAL_PATH)/src/tls
71INCLUDES += $(LOCAL_PATH)/src/utils
72INCLUDES += $(LOCAL_PATH)/src/wps
73INCLUDES += external/openssl/include
Kenny Root07311dc2012-02-15 15:08:06 -080074INCLUDES += system/security/keystore
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070075ifdef CONFIG_DRIVER_NL80211
Jean-Baptiste Queru1d431242011-08-08 16:20:42 -070076INCLUDES += external/libnl-headers
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070077endif
78
Dmitry Shmidt61d9df32012-08-29 16:22:06 -070079ifdef CONFIG_FIPS
80CONFIG_NO_RANDOM_POOL=
81CONFIG_OPENSSL_CMAC=y
82endif
83
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070084OBJS = config.c
85OBJS += notify.c
86OBJS += bss.c
87OBJS += eap_register.c
88OBJS += src/utils/common.c
89OBJS += src/utils/wpa_debug.c
90OBJS += src/utils/wpabuf.c
91OBJS_p = wpa_passphrase.c
92OBJS_p += src/utils/common.c
93OBJS_p += src/utils/wpa_debug.c
94OBJS_p += src/utils/wpabuf.c
95OBJS_c = wpa_cli.c src/common/wpa_ctrl.c
96OBJS_c += src/utils/wpa_debug.c
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080097OBJS_c += src/utils/common.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070098OBJS_d =
99OBJS_priv =
100
101ifndef CONFIG_OS
102ifdef CONFIG_NATIVE_WINDOWS
103CONFIG_OS=win32
104else
105CONFIG_OS=unix
106endif
107endif
108
109ifeq ($(CONFIG_OS), internal)
110L_CFLAGS += -DOS_NO_C_LIB_DEFINES
111endif
112
113OBJS += src/utils/os_$(CONFIG_OS).c
114OBJS_p += src/utils/os_$(CONFIG_OS).c
115OBJS_c += src/utils/os_$(CONFIG_OS).c
116
117ifdef CONFIG_WPA_TRACE
118L_CFLAGS += -DWPA_TRACE
119OBJS += src/utils/trace.c
120OBJS_p += src/utils/trace.c
121OBJS_c += src/utils/trace.c
122LDFLAGS += -rdynamic
123L_CFLAGS += -funwind-tables
124ifdef CONFIG_WPA_TRACE_BFD
125L_CFLAGS += -DWPA_TRACE_BFD
126LIBS += -lbfd
127LIBS_p += -lbfd
128LIBS_c += -lbfd
129endif
130endif
131
132ifndef CONFIG_ELOOP
133CONFIG_ELOOP=eloop
134endif
135OBJS += src/utils/$(CONFIG_ELOOP).c
136OBJS_c += src/utils/$(CONFIG_ELOOP).c
137
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -0800138ifdef CONFIG_ELOOP_POLL
139L_CFLAGS += -DCONFIG_ELOOP_POLL
140endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700141
142ifdef CONFIG_EAPOL_TEST
143L_CFLAGS += -Werror -DEAPOL_TEST
144endif
145
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -0800146ifdef CONFIG_HT_OVERRIDES
147L_CFLAGS += -DCONFIG_HT_OVERRIDES
148endif
149
Dmitry Shmidt2f023192013-03-12 12:44:17 -0700150ifdef CONFIG_VHT_OVERRIDES
151L_CFLAGS += -DCONFIG_VHT_OVERRIDES
152endif
153
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700154ifndef CONFIG_BACKEND
155CONFIG_BACKEND=file
156endif
157
158ifeq ($(CONFIG_BACKEND), file)
159OBJS += config_file.c
160ifndef CONFIG_NO_CONFIG_BLOBS
161NEED_BASE64=y
162endif
163L_CFLAGS += -DCONFIG_BACKEND_FILE
164endif
165
166ifeq ($(CONFIG_BACKEND), winreg)
167OBJS += config_winreg.c
168endif
169
170ifeq ($(CONFIG_BACKEND), none)
171OBJS += config_none.c
172endif
173
174ifdef CONFIG_NO_CONFIG_WRITE
175L_CFLAGS += -DCONFIG_NO_CONFIG_WRITE
176endif
177
178ifdef CONFIG_NO_CONFIG_BLOBS
179L_CFLAGS += -DCONFIG_NO_CONFIG_BLOBS
180endif
181
182ifdef CONFIG_NO_SCAN_PROCESSING
183L_CFLAGS += -DCONFIG_NO_SCAN_PROCESSING
184endif
185
186ifdef CONFIG_IEEE80211W
187L_CFLAGS += -DCONFIG_IEEE80211W
188NEED_SHA256=y
189NEED_AES_OMAC1=y
190endif
191
192ifdef CONFIG_IEEE80211R
193L_CFLAGS += -DCONFIG_IEEE80211R
194OBJS += src/rsn_supp/wpa_ft.c
195NEED_80211_COMMON=y
196NEED_SHA256=y
197NEED_AES_OMAC1=y
198endif
199
Dmitry Shmidtd5e49232012-12-03 15:08:10 -0800200ifdef CONFIG_SAE
201L_CFLAGS += -DCONFIG_SAE
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800202OBJS += src/common/sae.c
203NEED_ECC=y
204NEED_DH_GROUPS=y
Dmitry Shmidtd5e49232012-12-03 15:08:10 -0800205endif
206
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800207ifdef CONFIG_WNM
208L_CFLAGS += -DCONFIG_WNM
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700209OBJS += wnm_sta.c
210endif
211
Dmitry Shmidt405b5af2011-05-09 14:53:38 -0700212ifdef CONFIG_TDLS
213L_CFLAGS += -DCONFIG_TDLS
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800214OBJS += src/rsn_supp/tdls.c
Dmitry Shmidt405b5af2011-05-09 14:53:38 -0700215NEED_SHA256=y
216NEED_AES_OMAC1=y
217endif
218
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800219ifdef CONFIG_TDLS_TESTING
220L_CFLAGS += -DCONFIG_TDLS_TESTING
221endif
222
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700223ifdef CONFIG_PEERKEY
224L_CFLAGS += -DCONFIG_PEERKEY
225endif
226
227ifndef CONFIG_NO_WPA
228OBJS += src/rsn_supp/wpa.c
229OBJS += src/rsn_supp/preauth.c
230OBJS += src/rsn_supp/pmksa_cache.c
231OBJS += src/rsn_supp/peerkey.c
232OBJS += src/rsn_supp/wpa_ie.c
233OBJS += src/common/wpa_common.c
234NEED_AES=y
235NEED_SHA1=y
236NEED_MD5=y
237NEED_RC4=y
238else
239L_CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2
240endif
241
242ifdef CONFIG_IBSS_RSN
243NEED_RSN_AUTHENTICATOR=y
244L_CFLAGS += -DCONFIG_IBSS_RSN
245OBJS += ibss_rsn.c
246endif
247
248ifdef CONFIG_P2P
249OBJS += p2p_supplicant.c
250OBJS += src/p2p/p2p.c
251OBJS += src/p2p/p2p_utils.c
252OBJS += src/p2p/p2p_parse.c
253OBJS += src/p2p/p2p_build.c
254OBJS += src/p2p/p2p_go_neg.c
255OBJS += src/p2p/p2p_sd.c
256OBJS += src/p2p/p2p_pd.c
257OBJS += src/p2p/p2p_invitation.c
258OBJS += src/p2p/p2p_dev_disc.c
259OBJS += src/p2p/p2p_group.c
260OBJS += src/ap/p2p_hostapd.c
261L_CFLAGS += -DCONFIG_P2P
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800262NEED_GAS=y
263NEED_OFFCHANNEL=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700264NEED_80211_COMMON=y
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800265CONFIG_WPS=y
266CONFIG_AP=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700267ifdef CONFIG_P2P_STRICT
268L_CFLAGS += -DCONFIG_P2P_STRICT
269endif
270endif
271
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700272ifdef CONFIG_WIFI_DISPLAY
273L_CFLAGS += -DCONFIG_WIFI_DISPLAY
274OBJS += wifi_display.c
275endif
276
277ifdef CONFIG_HS20
278OBJS += hs20_supplicant.c
279L_CFLAGS += -DCONFIG_HS20
280CONFIG_INTERWORKING=y
281endif
282
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800283ifdef CONFIG_INTERWORKING
284OBJS += interworking.c
285L_CFLAGS += -DCONFIG_INTERWORKING
286NEED_GAS=y
287endif
288
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700289ifdef CONFIG_NO_WPA2
290L_CFLAGS += -DCONFIG_NO_WPA2
291endif
292
293include $(LOCAL_PATH)/src/drivers/drivers.mk
294
295ifdef CONFIG_AP
296OBJS_d += $(DRV_BOTH_OBJS)
297L_CFLAGS += $(DRV_BOTH_CFLAGS)
298LDFLAGS += $(DRV_BOTH_LDFLAGS)
299LIBS += $(DRV_BOTH_LIBS)
300else
301NEED_AP_MLME=
302OBJS_d += $(DRV_WPA_OBJS)
303L_CFLAGS += $(DRV_WPA_CFLAGS)
304LDFLAGS += $(DRV_WPA_LDFLAGS)
305LIBS += $(DRV_WPA_LIBS)
306endif
307
308ifndef CONFIG_L2_PACKET
309CONFIG_L2_PACKET=linux
310endif
311
312OBJS_l2 += src/l2_packet/l2_packet_$(CONFIG_L2_PACKET).c
313
314ifeq ($(CONFIG_L2_PACKET), pcap)
315ifdef CONFIG_WINPCAP
316L_CFLAGS += -DCONFIG_WINPCAP
317LIBS += -lwpcap -lpacket
318LIBS_w += -lwpcap
319else
320LIBS += -ldnet -lpcap
321endif
322endif
323
324ifeq ($(CONFIG_L2_PACKET), winpcap)
325LIBS += -lwpcap -lpacket
326LIBS_w += -lwpcap
327endif
328
329ifeq ($(CONFIG_L2_PACKET), freebsd)
330LIBS += -lpcap
331endif
332
333ifdef CONFIG_EAP_TLS
334# EAP-TLS
335ifeq ($(CONFIG_EAP_TLS), dyn)
336L_CFLAGS += -DEAP_TLS_DYNAMIC
337EAPDYN += src/eap_peer/eap_tls.so
338else
339L_CFLAGS += -DEAP_TLS
340OBJS += src/eap_peer/eap_tls.c
341OBJS_h += src/eap_server/eap_server_tls.c
342endif
343TLS_FUNCS=y
344CONFIG_IEEE8021X_EAPOL=y
345endif
346
Dmitry Shmidtd5e49232012-12-03 15:08:10 -0800347ifdef CONFIG_EAP_UNAUTH_TLS
348# EAP-UNAUTH-TLS
349L_CFLAGS += -DEAP_UNAUTH_TLS
350ifndef CONFIG_EAP_UNAUTH_TLS
351OBJS += src/eap_peer/eap_tls.c
352OBJS_h += src/eap_server/eap_server_tls.c
353TLS_FUNCS=y
354endif
355CONFIG_IEEE8021X_EAPOL=y
356endif
357
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700358ifdef CONFIG_EAP_PEAP
359# EAP-PEAP
360ifeq ($(CONFIG_EAP_PEAP), dyn)
361L_CFLAGS += -DEAP_PEAP_DYNAMIC
362EAPDYN += src/eap_peer/eap_peap.so
363else
364L_CFLAGS += -DEAP_PEAP
365OBJS += src/eap_peer/eap_peap.c
366OBJS += src/eap_common/eap_peap_common.c
367OBJS_h += src/eap_server/eap_server_peap.c
368endif
369TLS_FUNCS=y
370CONFIG_IEEE8021X_EAPOL=y
371endif
372
373ifdef CONFIG_EAP_TTLS
374# EAP-TTLS
375ifeq ($(CONFIG_EAP_TTLS), dyn)
376L_CFLAGS += -DEAP_TTLS_DYNAMIC
377EAPDYN += src/eap_peer/eap_ttls.so
378else
379L_CFLAGS += -DEAP_TTLS
380OBJS += src/eap_peer/eap_ttls.c
381OBJS_h += src/eap_server/eap_server_ttls.c
382endif
383MS_FUNCS=y
384TLS_FUNCS=y
385CHAP=y
386CONFIG_IEEE8021X_EAPOL=y
387endif
388
389ifdef CONFIG_EAP_MD5
390# EAP-MD5
391ifeq ($(CONFIG_EAP_MD5), dyn)
392L_CFLAGS += -DEAP_MD5_DYNAMIC
393EAPDYN += src/eap_peer/eap_md5.so
394else
395L_CFLAGS += -DEAP_MD5
396OBJS += src/eap_peer/eap_md5.c
397OBJS_h += src/eap_server/eap_server_md5.c
398endif
399CHAP=y
400CONFIG_IEEE8021X_EAPOL=y
401endif
402
403# backwards compatibility for old spelling
404ifdef CONFIG_MSCHAPV2
405ifndef CONFIG_EAP_MSCHAPV2
406CONFIG_EAP_MSCHAPV2=y
407endif
408endif
409
410ifdef CONFIG_EAP_MSCHAPV2
411# EAP-MSCHAPv2
412ifeq ($(CONFIG_EAP_MSCHAPV2), dyn)
413L_CFLAGS += -DEAP_MSCHAPv2_DYNAMIC
414EAPDYN += src/eap_peer/eap_mschapv2.so
415EAPDYN += src/eap_peer/mschapv2.so
416else
417L_CFLAGS += -DEAP_MSCHAPv2
418OBJS += src/eap_peer/eap_mschapv2.c
419OBJS += src/eap_peer/mschapv2.c
420OBJS_h += src/eap_server/eap_server_mschapv2.c
421endif
422MS_FUNCS=y
423CONFIG_IEEE8021X_EAPOL=y
424endif
425
426ifdef CONFIG_EAP_GTC
427# EAP-GTC
428ifeq ($(CONFIG_EAP_GTC), dyn)
429L_CFLAGS += -DEAP_GTC_DYNAMIC
430EAPDYN += src/eap_peer/eap_gtc.so
431else
432L_CFLAGS += -DEAP_GTC
433OBJS += src/eap_peer/eap_gtc.c
434OBJS_h += src/eap_server/eap_server_gtc.c
435endif
436CONFIG_IEEE8021X_EAPOL=y
437endif
438
439ifdef CONFIG_EAP_OTP
440# EAP-OTP
441ifeq ($(CONFIG_EAP_OTP), dyn)
442L_CFLAGS += -DEAP_OTP_DYNAMIC
443EAPDYN += src/eap_peer/eap_otp.so
444else
445L_CFLAGS += -DEAP_OTP
446OBJS += src/eap_peer/eap_otp.c
447endif
448CONFIG_IEEE8021X_EAPOL=y
449endif
450
451ifdef CONFIG_EAP_SIM
452# EAP-SIM
453ifeq ($(CONFIG_EAP_SIM), dyn)
454L_CFLAGS += -DEAP_SIM_DYNAMIC
455EAPDYN += src/eap_peer/eap_sim.so
456else
457L_CFLAGS += -DEAP_SIM
458OBJS += src/eap_peer/eap_sim.c
459OBJS_h += src/eap_server/eap_server_sim.c
460endif
461CONFIG_IEEE8021X_EAPOL=y
462CONFIG_EAP_SIM_COMMON=y
463NEED_AES_CBC=y
464endif
465
466ifdef CONFIG_EAP_LEAP
467# EAP-LEAP
468ifeq ($(CONFIG_EAP_LEAP), dyn)
469L_CFLAGS += -DEAP_LEAP_DYNAMIC
470EAPDYN += src/eap_peer/eap_leap.so
471else
472L_CFLAGS += -DEAP_LEAP
473OBJS += src/eap_peer/eap_leap.c
474endif
475MS_FUNCS=y
476CONFIG_IEEE8021X_EAPOL=y
477endif
478
479ifdef CONFIG_EAP_PSK
480# EAP-PSK
481ifeq ($(CONFIG_EAP_PSK), dyn)
482L_CFLAGS += -DEAP_PSK_DYNAMIC
483EAPDYN += src/eap_peer/eap_psk.so
484else
485L_CFLAGS += -DEAP_PSK
486OBJS += src/eap_peer/eap_psk.c src/eap_common/eap_psk_common.c
487OBJS_h += src/eap_server/eap_server_psk.c
488endif
489CONFIG_IEEE8021X_EAPOL=y
490NEED_AES=y
491NEED_AES_OMAC1=y
492NEED_AES_ENCBLOCK=y
493NEED_AES_EAX=y
494endif
495
496ifdef CONFIG_EAP_AKA
497# EAP-AKA
498ifeq ($(CONFIG_EAP_AKA), dyn)
499L_CFLAGS += -DEAP_AKA_DYNAMIC
500EAPDYN += src/eap_peer/eap_aka.so
501else
502L_CFLAGS += -DEAP_AKA
503OBJS += src/eap_peer/eap_aka.c
504OBJS_h += src/eap_server/eap_server_aka.c
505endif
506CONFIG_IEEE8021X_EAPOL=y
507CONFIG_EAP_SIM_COMMON=y
508NEED_AES_CBC=y
509endif
510
Dmitry Shmidtf8623282013-02-20 14:34:59 -0800511ifdef CONFIG_EAP_PROXY
512L_CFLAGS += -DCONFIG_EAP_PROXY
513OBJS += src/eap_peer/eap_proxy_$(CONFIG_EAP_PROXY).c
514include eap_proxy_$(CONFIG_EAP_PROXY).mk
515CONFIG_IEEE8021X_EAPOL=y
516endif
517
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700518ifdef CONFIG_EAP_AKA_PRIME
519# EAP-AKA'
520ifeq ($(CONFIG_EAP_AKA_PRIME), dyn)
521L_CFLAGS += -DEAP_AKA_PRIME_DYNAMIC
522else
523L_CFLAGS += -DEAP_AKA_PRIME
524endif
525NEED_SHA256=y
526endif
527
528ifdef CONFIG_EAP_SIM_COMMON
529OBJS += src/eap_common/eap_sim_common.c
530OBJS_h += src/eap_server/eap_sim_db.c
531NEED_AES=y
532NEED_FIPS186_2_PRF=y
533endif
534
535ifdef CONFIG_EAP_FAST
536# EAP-FAST
537ifeq ($(CONFIG_EAP_FAST), dyn)
538L_CFLAGS += -DEAP_FAST_DYNAMIC
539EAPDYN += src/eap_peer/eap_fast.so
540EAPDYN += src/eap_common/eap_fast_common.c
541else
542L_CFLAGS += -DEAP_FAST
543OBJS += src/eap_peer/eap_fast.c src/eap_peer/eap_fast_pac.c
544OBJS += src/eap_common/eap_fast_common.c
545OBJS_h += src/eap_server/eap_server_fast.c
546endif
547TLS_FUNCS=y
548CONFIG_IEEE8021X_EAPOL=y
549NEED_T_PRF=y
550endif
551
552ifdef CONFIG_EAP_PAX
553# EAP-PAX
554ifeq ($(CONFIG_EAP_PAX), dyn)
555L_CFLAGS += -DEAP_PAX_DYNAMIC
556EAPDYN += src/eap_peer/eap_pax.so
557else
558L_CFLAGS += -DEAP_PAX
559OBJS += src/eap_peer/eap_pax.c src/eap_common/eap_pax_common.c
560OBJS_h += src/eap_server/eap_server_pax.c
561endif
562CONFIG_IEEE8021X_EAPOL=y
563endif
564
565ifdef CONFIG_EAP_SAKE
566# EAP-SAKE
567ifeq ($(CONFIG_EAP_SAKE), dyn)
568L_CFLAGS += -DEAP_SAKE_DYNAMIC
569EAPDYN += src/eap_peer/eap_sake.so
570else
571L_CFLAGS += -DEAP_SAKE
572OBJS += src/eap_peer/eap_sake.c src/eap_common/eap_sake_common.c
573OBJS_h += src/eap_server/eap_server_sake.c
574endif
575CONFIG_IEEE8021X_EAPOL=y
576endif
577
578ifdef CONFIG_EAP_GPSK
579# EAP-GPSK
580ifeq ($(CONFIG_EAP_GPSK), dyn)
581L_CFLAGS += -DEAP_GPSK_DYNAMIC
582EAPDYN += src/eap_peer/eap_gpsk.so
583else
584L_CFLAGS += -DEAP_GPSK
585OBJS += src/eap_peer/eap_gpsk.c src/eap_common/eap_gpsk_common.c
586OBJS_h += src/eap_server/eap_server_gpsk.c
587endif
588CONFIG_IEEE8021X_EAPOL=y
589ifdef CONFIG_EAP_GPSK_SHA256
590L_CFLAGS += -DEAP_GPSK_SHA256
591endif
592NEED_SHA256=y
593NEED_AES_OMAC1=y
594endif
595
596ifdef CONFIG_EAP_PWD
597L_CFLAGS += -DEAP_PWD
598OBJS += src/eap_peer/eap_pwd.c src/eap_common/eap_pwd_common.c
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800599OBJS_h += src/eap_server/eap_server_pwd.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700600CONFIG_IEEE8021X_EAPOL=y
601NEED_SHA256=y
602endif
603
604ifdef CONFIG_WPS
605ifdef CONFIG_WPS2
606L_CFLAGS += -DCONFIG_WPS2
607endif
608
609# EAP-WSC
610L_CFLAGS += -DCONFIG_WPS -DEAP_WSC
611OBJS += wps_supplicant.c
612OBJS += src/utils/uuid.c
613OBJS += src/eap_peer/eap_wsc.c src/eap_common/eap_wsc_common.c
614OBJS += src/wps/wps.c
615OBJS += src/wps/wps_common.c
616OBJS += src/wps/wps_attr_parse.c
617OBJS += src/wps/wps_attr_build.c
618OBJS += src/wps/wps_attr_process.c
619OBJS += src/wps/wps_dev_attr.c
620OBJS += src/wps/wps_enrollee.c
621OBJS += src/wps/wps_registrar.c
622OBJS_h += src/eap_server/eap_server_wsc.c
623CONFIG_IEEE8021X_EAPOL=y
624NEED_DH_GROUPS=y
625NEED_SHA256=y
626NEED_BASE64=y
627NEED_80211_COMMON=y
628NEED_AES_CBC=y
629NEED_MODEXP=y
630
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700631ifdef CONFIG_WPS_NFC
632L_CFLAGS += -DCONFIG_WPS_NFC
633OBJS += src/wps/ndef.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700634NEED_WPS_OOB=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700635endif
636
637ifdef NEED_WPS_OOB
638L_CFLAGS += -DCONFIG_WPS_OOB
639endif
640
641ifdef CONFIG_WPS_ER
642CONFIG_WPS_UPNP=y
643L_CFLAGS += -DCONFIG_WPS_ER
644OBJS += src/wps/wps_er.c
645OBJS += src/wps/wps_er_ssdp.c
646endif
647
648ifdef CONFIG_WPS_UPNP
649L_CFLAGS += -DCONFIG_WPS_UPNP
650OBJS += src/wps/wps_upnp.c
651OBJS += src/wps/wps_upnp_ssdp.c
652OBJS += src/wps/wps_upnp_web.c
653OBJS += src/wps/wps_upnp_event.c
654OBJS += src/wps/wps_upnp_ap.c
655OBJS += src/wps/upnp_xml.c
656OBJS += src/wps/httpread.c
657OBJS += src/wps/http_client.c
658OBJS += src/wps/http_server.c
659endif
660
661ifdef CONFIG_WPS_STRICT
662L_CFLAGS += -DCONFIG_WPS_STRICT
663OBJS += src/wps/wps_validate.c
664endif
665
666ifdef CONFIG_WPS_TESTING
667L_CFLAGS += -DCONFIG_WPS_TESTING
668endif
669
670ifdef CONFIG_WPS_REG_DISABLE_OPEN
671L_CFLAGS += -DCONFIG_WPS_REG_DISABLE_OPEN
672endif
673
674endif
675
676ifdef CONFIG_EAP_IKEV2
677# EAP-IKEv2
678ifeq ($(CONFIG_EAP_IKEV2), dyn)
679L_CFLAGS += -DEAP_IKEV2_DYNAMIC
680EAPDYN += src/eap_peer/eap_ikev2.so src/eap_peer/ikev2.c
681EAPDYN += src/eap_common/eap_ikev2_common.c src/eap_common/ikev2_common.c
682else
683L_CFLAGS += -DEAP_IKEV2
684OBJS += src/eap_peer/eap_ikev2.c src/eap_peer/ikev2.c
685OBJS += src/eap_common/eap_ikev2_common.c src/eap_common/ikev2_common.c
686OBJS_h += src/eap_server/eap_server_ikev2.c
687OBJS_h += src/eap_server/ikev2.c
688endif
689CONFIG_IEEE8021X_EAPOL=y
690NEED_DH_GROUPS=y
691NEED_DH_GROUPS_ALL=y
692NEED_MODEXP=y
693NEED_CIPHER=y
694endif
695
696ifdef CONFIG_EAP_VENDOR_TEST
697ifeq ($(CONFIG_EAP_VENDOR_TEST), dyn)
698L_CFLAGS += -DEAP_VENDOR_TEST_DYNAMIC
699EAPDYN += src/eap_peer/eap_vendor_test.so
700else
701L_CFLAGS += -DEAP_VENDOR_TEST
702OBJS += src/eap_peer/eap_vendor_test.c
703OBJS_h += src/eap_server/eap_server_vendor_test.c
704endif
705CONFIG_IEEE8021X_EAPOL=y
706endif
707
708ifdef CONFIG_EAP_TNC
709# EAP-TNC
710L_CFLAGS += -DEAP_TNC
711OBJS += src/eap_peer/eap_tnc.c
712OBJS += src/eap_peer/tncc.c
713OBJS_h += src/eap_server/eap_server_tnc.c
714OBJS_h += src/eap_server/tncs.c
715NEED_BASE64=y
716ifndef CONFIG_NATIVE_WINDOWS
717ifndef CONFIG_DRIVER_BSD
718LIBS += -ldl
719endif
720endif
721endif
722
723ifdef CONFIG_IEEE8021X_EAPOL
724# IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
725L_CFLAGS += -DIEEE8021X_EAPOL
726OBJS += src/eapol_supp/eapol_supp_sm.c
727OBJS += src/eap_peer/eap.c src/eap_peer/eap_methods.c
728NEED_EAP_COMMON=y
729ifdef CONFIG_DYNAMIC_EAP_METHODS
730L_CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS
731LIBS += -ldl -rdynamic
732endif
733endif
734
735ifdef CONFIG_AP
736NEED_80211_COMMON=y
737NEED_EAP_COMMON=y
738NEED_RSN_AUTHENTICATOR=y
739L_CFLAGS += -DCONFIG_AP
740OBJS += ap.c
741L_CFLAGS += -DCONFIG_NO_RADIUS
742L_CFLAGS += -DCONFIG_NO_ACCOUNTING
743L_CFLAGS += -DCONFIG_NO_VLAN
744OBJS += src/ap/hostapd.c
745OBJS += src/ap/wpa_auth_glue.c
746OBJS += src/ap/utils.c
747OBJS += src/ap/authsrv.c
748OBJS += src/ap/ap_config.c
749OBJS += src/utils/ip_addr.c
750OBJS += src/ap/sta_info.c
751OBJS += src/ap/tkip_countermeasures.c
752OBJS += src/ap/ap_mlme.c
753OBJS += src/ap/ieee802_1x.c
754OBJS += src/eapol_auth/eapol_auth_sm.c
755OBJS += src/ap/ieee802_11_auth.c
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800756OBJS += src/ap/ieee802_11_shared.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700757OBJS += src/ap/drv_callbacks.c
758OBJS += src/ap/ap_drv_ops.c
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800759OBJS += src/ap/beacon.c
Dmitry Shmidtd5e49232012-12-03 15:08:10 -0800760OBJS += src/ap/eap_user_db.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700761ifdef CONFIG_IEEE80211N
762OBJS += src/ap/ieee802_11_ht.c
763endif
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800764ifdef CONFIG_WNM
765OBJS += src/ap/wnm_ap.c
766endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700767ifdef CONFIG_CTRL_IFACE
768OBJS += src/ap/ctrl_iface_ap.c
769endif
770
771L_CFLAGS += -DEAP_SERVER -DEAP_SERVER_IDENTITY
772OBJS += src/eap_server/eap_server.c
773OBJS += src/eap_server/eap_server_identity.c
774OBJS += src/eap_server/eap_server_methods.c
775
776ifdef CONFIG_IEEE80211N
777L_CFLAGS += -DCONFIG_IEEE80211N
778endif
779
780ifdef NEED_AP_MLME
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700781OBJS += src/ap/wmm.c
782OBJS += src/ap/ap_list.c
783OBJS += src/ap/ieee802_11.c
784OBJS += src/ap/hw_features.c
785L_CFLAGS += -DNEED_AP_MLME
786endif
787ifdef CONFIG_WPS
788L_CFLAGS += -DEAP_SERVER_WSC
789OBJS += src/ap/wps_hostapd.c
790OBJS += src/eap_server/eap_server_wsc.c
791endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700792ifdef CONFIG_INTERWORKING
793OBJS += src/ap/gas_serv.c
794endif
795ifdef CONFIG_HS20
796OBJS += src/ap/hs20.c
797endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700798endif
799
800ifdef NEED_RSN_AUTHENTICATOR
801L_CFLAGS += -DCONFIG_NO_RADIUS
802NEED_AES_WRAP=y
803OBJS += src/ap/wpa_auth.c
804OBJS += src/ap/wpa_auth_ie.c
805OBJS += src/ap/pmksa_cache_auth.c
806ifdef CONFIG_IEEE80211R
807OBJS += src/ap/wpa_auth_ft.c
808endif
809ifdef CONFIG_PEERKEY
810OBJS += src/ap/peerkey_auth.c
811endif
812endif
813
814ifdef CONFIG_EAP_SERVER
815L_CFLAGS += -DEAP_SERVER
816OBJS_h += src/eap_server/eap_server.c
817OBJS_h += src/eap_server/eap_server_identity.c
818OBJS_h += src/eap_server/eap_server_methods.c
819endif
820
821ifdef CONFIG_RADIUS_CLIENT
822OBJS_h += src/utils/ip_addr.c
823OBJS_h += src/radius/radius.c
824OBJS_h += src/radius/radius_client.c
825endif
826
827ifdef CONFIG_AUTHENTICATOR
828OBJS_h += src/eapol_auth/eapol_auth_sm.c
829OBJS_h += src/ap/ieee802_1x.c
830endif
831
832ifdef CONFIG_WPA_AUTHENTICATOR
833OBJS_h += src/ap/wpa_auth.c
834OBJS_h += src/ap/wpa_auth_ie.c
835OBJS_h += src/ap/pmksa_cache_auth.c
836ifdef CONFIG_IEEE80211R
837OBJS_h += src/ap/wpa_auth_ft.c
838endif
839ifdef CONFIG_PEERKEY
840OBJS_h += src/ap/peerkey_auth.c
841endif
842endif
843
844ifdef CONFIG_PCSC
845# PC/SC interface for smartcards (USIM, GSM SIM)
846L_CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC
847OBJS += src/utils/pcsc_funcs.c
848# -lpthread may not be needed depending on how pcsc-lite was configured
849ifdef CONFIG_NATIVE_WINDOWS
850#Once MinGW gets support for WinScard, -lwinscard could be used instead of the
851#dynamic symbol loading that is now used in pcsc_funcs.c
852#LIBS += -lwinscard
853else
854LIBS += -lpcsclite -lpthread
855endif
856endif
857
858ifdef CONFIG_SIM_SIMULATOR
859L_CFLAGS += -DCONFIG_SIM_SIMULATOR
860NEED_MILENAGE=y
861endif
862
863ifdef CONFIG_USIM_SIMULATOR
864L_CFLAGS += -DCONFIG_USIM_SIMULATOR
865NEED_MILENAGE=y
866endif
867
868ifdef NEED_MILENAGE
869OBJS += src/crypto/milenage.c
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800870NEED_AES_ENCBLOCK=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700871endif
872
873ifdef CONFIG_PKCS12
874L_CFLAGS += -DPKCS12_FUNCS
875endif
876
877ifdef CONFIG_SMARTCARD
878L_CFLAGS += -DCONFIG_SMARTCARD
879endif
880
881ifdef MS_FUNCS
882OBJS += src/crypto/ms_funcs.c
883NEED_DES=y
884NEED_MD4=y
885endif
886
887ifdef CHAP
888OBJS += src/eap_common/chap.c
889endif
890
891ifdef TLS_FUNCS
892NEED_DES=y
893# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
894OBJS += src/eap_peer/eap_tls_common.c
895OBJS_h += src/eap_server/eap_server_tls_common.c
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700896ifndef CONFIG_FIPS
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700897NEED_TLS_PRF=y
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800898NEED_SHA1=y
899NEED_MD5=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700900endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700901endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700902
903ifndef CONFIG_TLS
904CONFIG_TLS=openssl
905endif
906
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800907ifdef CONFIG_TLSV11
908L_CFLAGS += -DCONFIG_TLSV11
909endif
910
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700911ifdef CONFIG_TLSV12
912L_CFLAGS += -DCONFIG_TLSV12
913NEED_SHA256=y
914endif
915
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700916ifeq ($(CONFIG_TLS), openssl)
917ifdef TLS_FUNCS
918L_CFLAGS += -DEAP_TLS_OPENSSL
919OBJS += src/crypto/tls_openssl.c
920LIBS += -lssl
921endif
922OBJS += src/crypto/crypto_openssl.c
923OBJS_p += src/crypto/crypto_openssl.c
924ifdef NEED_FIPS186_2_PRF
925OBJS += src/crypto/fips_prf_openssl.c
926endif
927LIBS += -lcrypto
928LIBS_p += -lcrypto
Dmitry Shmidtd5e49232012-12-03 15:08:10 -0800929ifdef CONFIG_TLS_ADD_DL
930LIBS += -ldl
931LIBS_p += -ldl
932endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700933endif
934
935ifeq ($(CONFIG_TLS), gnutls)
936ifdef TLS_FUNCS
937OBJS += src/crypto/tls_gnutls.c
938LIBS += -lgnutls -lgpg-error
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700939endif
940OBJS += src/crypto/crypto_gnutls.c
941OBJS_p += src/crypto/crypto_gnutls.c
942ifdef NEED_FIPS186_2_PRF
943OBJS += src/crypto/fips_prf_gnutls.c
944endif
945LIBS += -lgcrypt
946LIBS_p += -lgcrypt
947CONFIG_INTERNAL_SHA256=y
948CONFIG_INTERNAL_RC4=y
949CONFIG_INTERNAL_DH_GROUP5=y
950endif
951
952ifeq ($(CONFIG_TLS), schannel)
953ifdef TLS_FUNCS
954OBJS += src/crypto/tls_schannel.c
955endif
956OBJS += src/crypto/crypto_cryptoapi.c
957OBJS_p += src/crypto/crypto_cryptoapi.c
958ifdef NEED_FIPS186_2_PRF
959OBJS += src/crypto/fips_prf_cryptoapi.c
960endif
961CONFIG_INTERNAL_SHA256=y
962CONFIG_INTERNAL_RC4=y
963CONFIG_INTERNAL_DH_GROUP5=y
964endif
965
966ifeq ($(CONFIG_TLS), nss)
967ifdef TLS_FUNCS
968OBJS += src/crypto/tls_nss.c
969LIBS += -lssl3
970endif
971OBJS += src/crypto/crypto_nss.c
972OBJS_p += src/crypto/crypto_nss.c
973ifdef NEED_FIPS186_2_PRF
974OBJS += src/crypto/fips_prf_nss.c
975endif
976LIBS += -lnss3
977LIBS_p += -lnss3
978CONFIG_INTERNAL_MD4=y
979CONFIG_INTERNAL_DH_GROUP5=y
980endif
981
982ifeq ($(CONFIG_TLS), internal)
983ifndef CONFIG_CRYPTO
984CONFIG_CRYPTO=internal
985endif
986ifdef TLS_FUNCS
987OBJS += src/crypto/crypto_internal-rsa.c
988OBJS += src/crypto/tls_internal.c
989OBJS += src/tls/tlsv1_common.c
990OBJS += src/tls/tlsv1_record.c
991OBJS += src/tls/tlsv1_cred.c
992OBJS += src/tls/tlsv1_client.c
993OBJS += src/tls/tlsv1_client_write.c
994OBJS += src/tls/tlsv1_client_read.c
995OBJS += src/tls/asn1.c
996OBJS += src/tls/rsa.c
997OBJS += src/tls/x509v3.c
998OBJS += src/tls/pkcs1.c
999OBJS += src/tls/pkcs5.c
1000OBJS += src/tls/pkcs8.c
1001NEED_SHA256=y
1002NEED_BASE64=y
1003NEED_TLS_PRF=y
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001004ifdef CONFIG_TLSV12
1005NEED_TLS_PRF_SHA256=y
1006endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001007NEED_MODEXP=y
1008NEED_CIPHER=y
1009L_CFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT
1010endif
1011ifdef NEED_CIPHER
1012NEED_DES=y
1013OBJS += src/crypto/crypto_internal-cipher.c
1014endif
1015ifdef NEED_MODEXP
1016OBJS += src/crypto/crypto_internal-modexp.c
1017OBJS += src/tls/bignum.c
1018endif
1019ifeq ($(CONFIG_CRYPTO), libtomcrypt)
1020OBJS += src/crypto/crypto_libtomcrypt.c
1021OBJS_p += src/crypto/crypto_libtomcrypt.c
1022LIBS += -ltomcrypt -ltfm
1023LIBS_p += -ltomcrypt -ltfm
1024CONFIG_INTERNAL_SHA256=y
1025CONFIG_INTERNAL_RC4=y
1026CONFIG_INTERNAL_DH_GROUP5=y
1027endif
1028ifeq ($(CONFIG_CRYPTO), internal)
1029OBJS += src/crypto/crypto_internal.c
1030OBJS_p += src/crypto/crypto_internal.c
1031NEED_AES_ENC=y
1032L_CFLAGS += -DCONFIG_CRYPTO_INTERNAL
1033ifdef CONFIG_INTERNAL_LIBTOMMATH
1034L_CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
1035ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
1036L_CFLAGS += -DLTM_FAST
1037endif
1038else
1039LIBS += -ltommath
1040LIBS_p += -ltommath
1041endif
1042CONFIG_INTERNAL_AES=y
1043CONFIG_INTERNAL_DES=y
1044CONFIG_INTERNAL_SHA1=y
1045CONFIG_INTERNAL_MD4=y
1046CONFIG_INTERNAL_MD5=y
1047CONFIG_INTERNAL_SHA256=y
1048CONFIG_INTERNAL_RC4=y
1049CONFIG_INTERNAL_DH_GROUP5=y
1050endif
1051ifeq ($(CONFIG_CRYPTO), cryptoapi)
1052OBJS += src/crypto/crypto_cryptoapi.c
1053OBJS_p += src/crypto/crypto_cryptoapi.c
1054L_CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
1055CONFIG_INTERNAL_SHA256=y
1056CONFIG_INTERNAL_RC4=y
1057endif
1058endif
1059
1060ifeq ($(CONFIG_TLS), none)
1061ifdef TLS_FUNCS
1062OBJS += src/crypto/tls_none.c
1063L_CFLAGS += -DEAP_TLS_NONE
1064CONFIG_INTERNAL_AES=y
1065CONFIG_INTERNAL_SHA1=y
1066CONFIG_INTERNAL_MD5=y
1067endif
1068OBJS += src/crypto/crypto_none.c
1069OBJS_p += src/crypto/crypto_none.c
1070CONFIG_INTERNAL_SHA256=y
1071CONFIG_INTERNAL_RC4=y
1072endif
1073
1074ifdef TLS_FUNCS
1075ifdef CONFIG_SMARTCARD
1076ifndef CONFIG_NATIVE_WINDOWS
1077ifneq ($(CONFIG_L2_PACKET), freebsd)
1078LIBS += -ldl
1079endif
1080endif
1081endif
1082endif
1083
1084ifndef TLS_FUNCS
1085OBJS += src/crypto/tls_none.c
1086ifeq ($(CONFIG_TLS), internal)
1087CONFIG_INTERNAL_AES=y
1088CONFIG_INTERNAL_SHA1=y
1089CONFIG_INTERNAL_MD5=y
1090CONFIG_INTERNAL_RC4=y
1091endif
1092endif
1093
1094AESOBJS = # none so far (see below)
1095ifdef CONFIG_INTERNAL_AES
1096AESOBJS += src/crypto/aes-internal.c src/crypto/aes-internal-dec.c
1097endif
1098
1099AESOBJS += src/crypto/aes-unwrap.c
1100ifdef NEED_AES_EAX
1101AESOBJS += src/crypto/aes-eax.c
1102NEED_AES_CTR=y
1103endif
1104ifdef NEED_AES_CTR
1105AESOBJS += src/crypto/aes-ctr.c
1106endif
1107ifdef NEED_AES_ENCBLOCK
1108AESOBJS += src/crypto/aes-encblock.c
1109endif
1110ifdef NEED_AES_OMAC1
1111NEED_AES_ENC=y
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001112ifdef CONFIG_OPENSSL_CMAC
1113CFLAGS += -DCONFIG_OPENSSL_CMAC
1114else
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001115AESOBJS += src/crypto/aes-omac1.c
1116endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001117endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001118ifdef NEED_AES_WRAP
1119NEED_AES_ENC=y
1120AESOBJS += src/crypto/aes-wrap.c
1121endif
1122ifdef NEED_AES_CBC
1123NEED_AES_ENC=y
1124AESOBJS += src/crypto/aes-cbc.c
1125endif
1126ifdef NEED_AES_ENC
1127ifdef CONFIG_INTERNAL_AES
1128AESOBJS += src/crypto/aes-internal-enc.c
1129endif
1130endif
1131ifdef NEED_AES
1132OBJS += $(AESOBJS)
1133endif
1134
1135SHA1OBJS =
1136ifdef NEED_SHA1
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001137ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001138SHA1OBJS += src/crypto/sha1.c
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001139endif
1140SHA1OBJS += src/crypto/sha1-prf.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001141ifdef CONFIG_INTERNAL_SHA1
1142SHA1OBJS += src/crypto/sha1-internal.c
1143ifdef NEED_FIPS186_2_PRF
1144SHA1OBJS += src/crypto/fips_prf_internal.c
1145endif
1146endif
Dmitry Shmidt13970b02011-06-30 16:51:41 -07001147ifdef CONFIG_NO_WPA_PASSPHRASE
1148L_CFLAGS += -DCONFIG_NO_PBKDF2
1149else
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001150ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001151SHA1OBJS += src/crypto/sha1-pbkdf2.c
1152endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001153endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001154ifdef NEED_T_PRF
1155SHA1OBJS += src/crypto/sha1-tprf.c
1156endif
1157ifdef NEED_TLS_PRF
1158SHA1OBJS += src/crypto/sha1-tlsprf.c
1159endif
1160endif
1161
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -08001162MD5OBJS = src/crypto/md5.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001163ifdef NEED_MD5
1164ifdef CONFIG_INTERNAL_MD5
1165MD5OBJS += src/crypto/md5-internal.c
1166endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001167OBJS += $(MD5OBJS)
1168OBJS_p += $(MD5OBJS)
1169endif
1170
1171ifdef NEED_MD4
1172ifdef CONFIG_INTERNAL_MD4
1173OBJS += src/crypto/md4-internal.c
1174endif
1175endif
1176
1177DESOBJS = # none needed when not internal
1178ifdef NEED_DES
1179ifdef CONFIG_INTERNAL_DES
1180DESOBJS += src/crypto/des-internal.c
1181endif
1182endif
1183
1184ifdef NEED_RC4
1185ifdef CONFIG_INTERNAL_RC4
1186OBJS += src/crypto/rc4.c
1187endif
1188endif
1189
1190SHA256OBJS = # none by default
1191ifdef NEED_SHA256
1192L_CFLAGS += -DCONFIG_SHA256
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001193ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001194SHA256OBJS += src/crypto/sha256.c
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001195endif
1196SHA256OBJS += src/crypto/sha256-prf.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001197ifdef CONFIG_INTERNAL_SHA256
1198SHA256OBJS += src/crypto/sha256-internal.c
1199endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001200ifdef NEED_TLS_PRF_SHA256
1201SHA256OBJS += src/crypto/sha256-tlsprf.c
1202endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001203OBJS += $(SHA256OBJS)
1204endif
1205
1206ifdef NEED_DH_GROUPS
1207OBJS += src/crypto/dh_groups.c
1208endif
1209ifdef NEED_DH_GROUPS_ALL
1210L_CFLAGS += -DALL_DH_GROUPS
1211endif
1212ifdef CONFIG_INTERNAL_DH_GROUP5
1213ifdef NEED_DH_GROUPS
1214OBJS += src/crypto/dh_group5.c
1215endif
1216endif
1217
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -08001218ifdef NEED_ECC
1219L_CFLAGS += -DCONFIG_ECC
1220endif
1221
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001222ifdef CONFIG_NO_RANDOM_POOL
1223L_CFLAGS += -DCONFIG_NO_RANDOM_POOL
1224else
1225OBJS += src/crypto/random.c
1226endif
1227
1228ifdef CONFIG_CTRL_IFACE
1229ifeq ($(CONFIG_CTRL_IFACE), y)
1230ifdef CONFIG_NATIVE_WINDOWS
1231CONFIG_CTRL_IFACE=named_pipe
1232else
1233CONFIG_CTRL_IFACE=unix
1234endif
1235endif
1236L_CFLAGS += -DCONFIG_CTRL_IFACE
1237ifeq ($(CONFIG_CTRL_IFACE), unix)
1238L_CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
1239endif
1240ifeq ($(CONFIG_CTRL_IFACE), udp)
1241L_CFLAGS += -DCONFIG_CTRL_IFACE_UDP
1242endif
1243ifeq ($(CONFIG_CTRL_IFACE), named_pipe)
1244L_CFLAGS += -DCONFIG_CTRL_IFACE_NAMED_PIPE
1245endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001246ifeq ($(CONFIG_CTRL_IFACE), udp-remote)
1247CONFIG_CTRL_IFACE=udp
1248L_CFLAGS += -DCONFIG_CTRL_IFACE_UDP
1249L_CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE
1250endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001251OBJS += ctrl_iface.c ctrl_iface_$(CONFIG_CTRL_IFACE).c
1252endif
1253
1254ifdef CONFIG_CTRL_IFACE_DBUS
1255DBUS=y
1256DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
1257DBUS_OBJS += dbus/dbus_old.c dbus/dbus_old_handlers.c
1258ifdef CONFIG_WPS
1259DBUS_OBJS += dbus/dbus_old_handlers_wps.c
1260endif
1261DBUS_OBJS += dbus/dbus_dict_helpers.c
1262ifndef DBUS_LIBS
Dmitry Shmidtc55524a2011-07-07 11:18:38 -07001263DBUS_LIBS := $(shell $(PKG_CONFIG) --libs dbus-1)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001264endif
1265ifndef DBUS_INCLUDE
Dmitry Shmidtc55524a2011-07-07 11:18:38 -07001266DBUS_INCLUDE := $(shell $(PKG_CONFIG) --cflags dbus-1)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001267endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001268DBUS_CFLAGS += $(DBUS_INCLUDE)
1269endif
1270
1271ifdef CONFIG_CTRL_IFACE_DBUS_NEW
1272DBUS=y
1273DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_NEW
1274DBUS_OBJS ?= dbus/dbus_dict_helpers.c
1275DBUS_OBJS += dbus/dbus_new_helpers.c
1276DBUS_OBJS += dbus/dbus_new.c dbus/dbus_new_handlers.c
1277ifdef CONFIG_WPS
1278DBUS_OBJS += dbus/dbus_new_handlers_wps.c
1279endif
Dmitry Shmidt13970b02011-06-30 16:51:41 -07001280ifdef CONFIG_P2P
1281DBUS_OBJS += dbus/dbus_new_handlers_p2p.c
1282endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001283ifndef DBUS_LIBS
Dmitry Shmidtc55524a2011-07-07 11:18:38 -07001284DBUS_LIBS := $(shell $(PKG_CONFIG) --libs dbus-1)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001285endif
1286ifndef DBUS_INCLUDE
Dmitry Shmidtc55524a2011-07-07 11:18:38 -07001287DBUS_INCLUDE := $(shell $(PKG_CONFIG) --cflags dbus-1)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001288endif
1289ifdef CONFIG_CTRL_IFACE_DBUS_INTRO
1290DBUS_OBJS += dbus/dbus_new_introspect.c
1291DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_INTRO
1292endif
1293DBUS_CFLAGS += $(DBUS_INCLUDE)
1294endif
1295
1296ifdef DBUS
1297DBUS_CFLAGS += -DCONFIG_DBUS
1298DBUS_OBJS += dbus/dbus_common.c
1299endif
1300
1301OBJS += $(DBUS_OBJS)
1302L_CFLAGS += $(DBUS_CFLAGS)
1303LIBS += $(DBUS_LIBS)
1304
1305ifdef CONFIG_READLINE
1306OBJS_c += src/utils/edit_readline.c
1307LIBS_c += -lncurses -lreadline
1308else
1309ifdef CONFIG_WPA_CLI_EDIT
1310OBJS_c += src/utils/edit.c
1311else
1312OBJS_c += src/utils/edit_simple.c
1313endif
1314endif
1315
1316ifdef CONFIG_NATIVE_WINDOWS
1317L_CFLAGS += -DCONFIG_NATIVE_WINDOWS
1318LIBS += -lws2_32 -lgdi32 -lcrypt32
1319LIBS_c += -lws2_32
1320LIBS_p += -lws2_32 -lgdi32
1321ifeq ($(CONFIG_CRYPTO), cryptoapi)
1322LIBS_p += -lcrypt32
1323endif
1324endif
1325
1326ifdef CONFIG_NO_STDOUT_DEBUG
1327L_CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
1328ifndef CONFIG_CTRL_IFACE
1329L_CFLAGS += -DCONFIG_NO_WPA_MSG
1330endif
1331endif
1332
1333ifdef CONFIG_ANDROID_LOG
1334L_CFLAGS += -DCONFIG_ANDROID_LOG
1335endif
1336
1337ifdef CONFIG_IPV6
1338# for eapol_test only
1339L_CFLAGS += -DCONFIG_IPV6
1340endif
1341
1342ifdef NEED_BASE64
1343OBJS += src/utils/base64.c
1344endif
1345
1346ifdef NEED_SME
1347NEED_80211_COMMON=y
1348OBJS += sme.c
1349L_CFLAGS += -DCONFIG_SME
1350endif
1351
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001352ifdef NEED_80211_COMMON
1353OBJS += src/common/ieee802_11_common.c
1354endif
1355
1356ifdef NEED_EAP_COMMON
1357OBJS += src/eap_common/eap_common.c
1358endif
1359
1360ifndef CONFIG_MAIN
1361CONFIG_MAIN=main
1362endif
1363
1364ifdef CONFIG_DEBUG_SYSLOG
1365L_CFLAGS += -DCONFIG_DEBUG_SYSLOG
Dmitry Shmidt13970b02011-06-30 16:51:41 -07001366ifdef CONFIG_DEBUG_SYSLOG_FACILITY
1367L_CFLAGS += -DLOG_HOSTAPD="$(CONFIG_DEBUG_SYSLOG_FACILITY)"
1368endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001369endif
1370
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001371ifdef CONFIG_DEBUG_LINUX_TRACING
1372L_CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING
1373endif
1374
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001375ifdef CONFIG_DEBUG_FILE
1376L_CFLAGS += -DCONFIG_DEBUG_FILE
1377endif
1378
1379ifdef CONFIG_DELAYED_MIC_ERROR_REPORT
1380L_CFLAGS += -DCONFIG_DELAYED_MIC_ERROR_REPORT
1381endif
1382
1383ifdef CONFIG_FIPS
1384L_CFLAGS += -DCONFIG_FIPS
1385endif
1386
1387OBJS += $(SHA1OBJS) $(DESOBJS)
1388
1389OBJS_p += $(SHA1OBJS)
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001390OBJS_p += $(SHA256OBJS)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001391
1392ifdef CONFIG_BGSCAN_SIMPLE
1393L_CFLAGS += -DCONFIG_BGSCAN_SIMPLE
1394OBJS += bgscan_simple.c
1395NEED_BGSCAN=y
1396endif
1397
1398ifdef CONFIG_BGSCAN_LEARN
1399L_CFLAGS += -DCONFIG_BGSCAN_LEARN
1400OBJS += bgscan_learn.c
1401NEED_BGSCAN=y
1402endif
1403
1404ifdef NEED_BGSCAN
1405L_CFLAGS += -DCONFIG_BGSCAN
1406OBJS += bgscan.c
1407endif
1408
Dmitry Shmidt04949592012-07-19 12:16:46 -07001409ifdef CONFIG_AUTOSCAN_EXPONENTIAL
1410L_CFLAGS += -DCONFIG_AUTOSCAN_EXPONENTIAL
1411OBJS += autoscan_exponential.c
1412NEED_AUTOSCAN=y
1413endif
1414
1415ifdef CONFIG_AUTOSCAN_PERIODIC
1416CFLAGS += -DCONFIG_AUTOSCAN_PERIODIC
1417OBJS += autoscan_periodic.c
1418NEED_AUTOSCAN=y
1419endif
1420
1421ifdef NEED_AUTOSCAN
1422L_CFLAGS += -DCONFIG_AUTOSCAN
1423OBJS += autoscan.c
1424endif
1425
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001426ifdef CONFIG_EXT_PASSWORD_TEST
1427OBJS += src/utils/ext_password_test.c
1428L_CFLAGS += -DCONFIG_EXT_PASSWORD_TEST
1429NEED_EXT_PASSWORD=y
1430endif
1431
1432ifdef NEED_EXT_PASSWORD
1433OBJS += src/utils/ext_password.c
1434L_CFLAGS += -DCONFIG_EXT_PASSWORD
1435endif
1436
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001437ifdef NEED_GAS
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001438OBJS += src/common/gas.c
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001439OBJS += gas_query.c
1440L_CFLAGS += -DCONFIG_GAS
1441NEED_OFFCHANNEL=y
1442endif
1443
1444ifdef NEED_OFFCHANNEL
1445OBJS += offchannel.c
1446L_CFLAGS += -DCONFIG_OFFCHANNEL
1447endif
1448
1449OBJS += src/drivers/driver_common.c
1450
1451OBJS_wpa_rm := ctrl_iface.c ctrl_iface_unix.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001452OBJS_wpa := $(filter-out $(OBJS_wpa_rm),$(OBJS)) $(OBJS_h) tests/test_wpa.c
1453ifdef CONFIG_AUTHENTICATOR
1454OBJS_wpa += tests/link_test.c
1455endif
1456OBJS_wpa += $(OBJS_l2)
1457OBJS += wpa_supplicant.c events.c blacklist.c wpas_glue.c scan.c
1458OBJS_t := $(OBJS) $(OBJS_l2) eapol_test.c
1459OBJS_t += src/radius/radius_client.c
1460OBJS_t += src/radius/radius.c
1461ifndef CONFIG_AP
1462OBJS_t += src/utils/ip_addr.c
1463endif
1464OBJS_t2 := $(OBJS) $(OBJS_l2) preauth_test.c
1465OBJS += $(CONFIG_MAIN).c
1466
1467ifdef CONFIG_PRIVSEP
1468OBJS_priv += $(OBJS_d) src/drivers/drivers.c
1469OBJS_priv += $(OBJS_l2)
1470OBJS_priv += src/utils/os_$(CONFIG_OS).c
1471OBJS_priv += src/utils/$(CONFIG_ELOOP).c
1472OBJS_priv += src/utils/common.c
1473OBJS_priv += src/utils/wpa_debug.c
1474OBJS_priv += src/utils/wpabuf.c
1475OBJS_priv += wpa_priv.c
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001476ifdef CONFIG_DRIVER_NL80211
1477OBJS_priv += src/common/ieee802_11_common.c
1478endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001479ifdef CONFIG_DRIVER_TEST
1480OBJS_priv += $(SHA1OBJS)
1481OBJS_priv += $(MD5OBJS)
1482ifeq ($(CONFIG_TLS), openssl)
1483OBJS_priv += src/crypto/crypto_openssl.c
1484endif
1485ifeq ($(CONFIG_TLS), gnutls)
1486OBJS_priv += src/crypto/crypto_gnutls.c
1487endif
1488ifeq ($(CONFIG_TLS), nss)
1489OBJS_priv += src/crypto/crypto_nss.c
1490endif
1491ifeq ($(CONFIG_TLS), internal)
1492ifeq ($(CONFIG_CRYPTO), libtomcrypt)
1493OBJS_priv += src/crypto/crypto_libtomcrypt.c
1494else
1495OBJS_priv += src/crypto/crypto_internal.c
1496endif
1497endif
1498endif # CONFIG_DRIVER_TEST
1499OBJS += src/l2_packet/l2_packet_privsep.c
1500OBJS += src/drivers/driver_privsep.c
1501EXTRA_progs += wpa_priv
1502else
1503OBJS += $(OBJS_d) src/drivers/drivers.c
1504OBJS += $(OBJS_l2)
1505endif
1506
1507ifdef CONFIG_NDIS_EVENTS_INTEGRATED
1508L_CFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED
1509OBJS += src/drivers/ndis_events.c
1510EXTRALIBS += -loleaut32 -lole32 -luuid
1511ifdef PLATFORMSDKLIB
1512EXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib
1513else
1514EXTRALIBS += WbemUuid.Lib
1515endif
1516endif
1517
1518ifndef LDO
1519LDO=$(CC)
1520endif
1521
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001522########################
1523
1524include $(CLEAR_VARS)
1525LOCAL_MODULE := wpa_cli
1526LOCAL_MODULE_TAGS := debug
Ying Wange93dd112013-04-09 21:53:29 -07001527LOCAL_SHARED_LIBRARIES := libc libcutils liblog
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001528LOCAL_CFLAGS := $(L_CFLAGS)
1529LOCAL_SRC_FILES := $(OBJS_c)
1530LOCAL_C_INCLUDES := $(INCLUDES)
1531include $(BUILD_EXECUTABLE)
1532
1533########################
1534include $(CLEAR_VARS)
1535LOCAL_MODULE := wpa_supplicant
1536ifdef CONFIG_DRIVER_CUSTOM
1537LOCAL_STATIC_LIBRARIES := libCustomWifi
1538endif
1539ifneq ($(BOARD_WPA_SUPPLICANT_PRIVATE_LIB),)
1540LOCAL_STATIC_LIBRARIES += $(BOARD_WPA_SUPPLICANT_PRIVATE_LIB)
1541endif
Ying Wange93dd112013-04-09 21:53:29 -07001542LOCAL_SHARED_LIBRARIES := libc libcutils liblog
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001543ifeq ($(CONFIG_TLS), openssl)
Kenny Root3f3ca3b2012-11-12 16:33:36 -08001544LOCAL_SHARED_LIBRARIES += libcrypto libssl libkeystore_binder
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001545endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001546ifdef CONFIG_DRIVER_NL80211
1547LOCAL_STATIC_LIBRARIES += libnl_2
1548endif
1549LOCAL_CFLAGS := $(L_CFLAGS)
1550LOCAL_SRC_FILES := $(OBJS)
1551LOCAL_C_INCLUDES := $(INCLUDES)
1552include $(BUILD_EXECUTABLE)
1553
1554########################
1555#
1556#include $(CLEAR_VARS)
1557#LOCAL_MODULE := eapol_test
1558#ifdef CONFIG_DRIVER_CUSTOM
1559#LOCAL_STATIC_LIBRARIES := libCustomWifi
1560#endif
1561#LOCAL_SHARED_LIBRARIES := libc libcrypto libssl
1562#LOCAL_CFLAGS := $(L_CFLAGS)
1563#LOCAL_SRC_FILES := $(OBJS_t)
1564#LOCAL_C_INCLUDES := $(INCLUDES)
1565#include $(BUILD_EXECUTABLE)
1566#
1567########################
1568#
1569#local_target_dir := $(TARGET_OUT)/etc/wifi
1570#
1571#include $(CLEAR_VARS)
1572#LOCAL_MODULE := wpa_supplicant.conf
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001573#LOCAL_MODULE_CLASS := ETC
1574#LOCAL_MODULE_PATH := $(local_target_dir)
1575#LOCAL_SRC_FILES := $(LOCAL_MODULE)
1576#include $(BUILD_PREBUILT)
1577#
1578########################
1579
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001580include $(CLEAR_VARS)
1581LOCAL_MODULE = libwpa_client
1582LOCAL_CFLAGS = $(L_CFLAGS)
1583LOCAL_SRC_FILES = src/common/wpa_ctrl.c src/utils/os_$(CONFIG_OS).c
1584LOCAL_C_INCLUDES = $(INCLUDES)
Ying Wange93dd112013-04-09 21:53:29 -07001585LOCAL_SHARED_LIBRARIES := libcutils liblog
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001586LOCAL_COPY_HEADERS_TO := libwpa_client
1587LOCAL_COPY_HEADERS := src/common/wpa_ctrl.h
1588include $(BUILD_SHARED_LIBRARY)