2 # Copyright (C) 2008 The Android Open Source Project
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
18 LOCAL_PATH
:= $(call my-dir
)
19 PKG_CONFIG ?
= pkg-config
21 WPA_BUILD_SUPPLICANT
:= false
22 ifneq ($(TARGET_SIMULATOR
),true
)
23 ifneq ($(BOARD_WPA_SUPPLICANT_DRIVER
),)
24 WPA_BUILD_SUPPLICANT
:= true
25 CONFIG_DRIVER_
$(BOARD_WPA_SUPPLICANT_DRIVER
) := y
29 include $(LOCAL_PATH
)/.config
31 # To ignore possible wrong network configurations
32 L_CFLAGS
= -DWPA_IGNORE_CONFIG_ERRORS
34 # Use Android specific directory for control interface sockets
35 L_CFLAGS
+= -DCONFIG_CTRL_IFACE_CLIENT_DIR
=\"/data
/misc
/wifi
/sockets
\"
36 L_CFLAGS
+= -DCONFIG_CTRL_IFACE_DIR
=\"/data
/system
/wpa_supplicant
\"
38 # To force sizeof(enum) = 4
39 ifeq ($(TARGET_ARCH
),arm
)
40 L_CFLAGS
+= -mabi
=aapcs-linux
43 # To allow non-ASCII characters in SSID
44 L_CFLAGS
+= -DWPA_UNICODE_SSID
46 # OpenSSL is configured without engines on Android
47 L_CFLAGS
+= -DOPENSSL_NO_ENGINE
49 INCLUDES
= $(LOCAL_PATH
)
50 INCLUDES
+= $(LOCAL_PATH
)/src
51 INCLUDES
+= $(LOCAL_PATH
)/src
/common
52 # INCLUDES += $(LOCAL_PATH)/src/crypto # To force proper includes
53 INCLUDES
+= $(LOCAL_PATH
)/src
/drivers
54 INCLUDES
+= $(LOCAL_PATH
)/src
/eap_common
55 INCLUDES
+= $(LOCAL_PATH
)/src
/eapol_supp
56 INCLUDES
+= $(LOCAL_PATH
)/src
/eap_peer
57 INCLUDES
+= $(LOCAL_PATH
)/src
/eap_server
58 INCLUDES
+= $(LOCAL_PATH
)/src
/hlr_auc_gw
59 INCLUDES
+= $(LOCAL_PATH
)/src
/l2_packet
60 INCLUDES
+= $(LOCAL_PATH
)/src
/radius
61 INCLUDES
+= $(LOCAL_PATH
)/src
/rsn_supp
62 INCLUDES
+= $(LOCAL_PATH
)/src
/tls
63 INCLUDES
+= $(LOCAL_PATH
)/src
/utils
64 INCLUDES
+= $(LOCAL_PATH
)/src
/wps
65 INCLUDES
+= external
/openssl
/include
66 INCLUDES
+= frameworks
/base
/cmds
/keystore
67 ifdef CONFIG_DRIVER_NL80211
68 INCLUDES
+= external
/libnl_2
/include
74 OBJS
+= eap_register.c
75 OBJS
+= src
/utils
/common.c
76 OBJS
+= src
/utils
/wpa_debug.c
77 OBJS
+= src
/utils
/wpabuf.c
78 OBJS_p
= wpa_passphrase.c
79 OBJS_p
+= src
/utils
/common.c
80 OBJS_p
+= src
/utils
/wpa_debug.c
81 OBJS_p
+= src
/utils
/wpabuf.c
82 OBJS_c
= wpa_cli.c src
/common
/wpa_ctrl.c
83 OBJS_c
+= src
/utils
/wpa_debug.c
88 ifdef CONFIG_NATIVE_WINDOWS
95 ifeq ($(CONFIG_OS
), internal
)
96 L_CFLAGS
+= -DOS_NO_C_LIB_DEFINES
99 OBJS
+= src
/utils
/os_
$(CONFIG_OS
).c
100 OBJS_p
+= src
/utils
/os_
$(CONFIG_OS
).c
101 OBJS_c
+= src
/utils
/os_
$(CONFIG_OS
).c
103 ifdef CONFIG_WPA_TRACE
104 L_CFLAGS
+= -DWPA_TRACE
105 OBJS
+= src
/utils
/trace.c
106 OBJS_p
+= src
/utils
/trace.c
107 OBJS_c
+= src
/utils
/trace.c
109 L_CFLAGS
+= -funwind-tables
110 ifdef CONFIG_WPA_TRACE_BFD
111 L_CFLAGS
+= -DWPA_TRACE_BFD
121 OBJS
+= src
/utils
/$(CONFIG_ELOOP
).c
122 OBJS_c
+= src
/utils
/$(CONFIG_ELOOP
).c
125 ifdef CONFIG_EAPOL_TEST
126 L_CFLAGS
+= -Werror
-DEAPOL_TEST
129 ifndef CONFIG_BACKEND
133 ifeq ($(CONFIG_BACKEND
), file
)
134 OBJS
+= config_file.c
135 ifndef CONFIG_NO_CONFIG_BLOBS
138 L_CFLAGS
+= -DCONFIG_BACKEND_FILE
141 ifeq ($(CONFIG_BACKEND
), winreg
)
142 OBJS
+= config_winreg.c
145 ifeq ($(CONFIG_BACKEND
), none
)
146 OBJS
+= config_none.c
149 ifdef CONFIG_NO_CONFIG_WRITE
150 L_CFLAGS
+= -DCONFIG_NO_CONFIG_WRITE
153 ifdef CONFIG_NO_CONFIG_BLOBS
154 L_CFLAGS
+= -DCONFIG_NO_CONFIG_BLOBS
157 ifdef CONFIG_NO_SCAN_PROCESSING
158 L_CFLAGS
+= -DCONFIG_NO_SCAN_PROCESSING
161 ifdef CONFIG_IEEE80211W
162 L_CFLAGS
+= -DCONFIG_IEEE80211W
167 ifdef CONFIG_IEEE80211R
168 L_CFLAGS
+= -DCONFIG_IEEE80211R
169 OBJS
+= src
/rsn_supp
/wpa_ft.c
176 L_CFLAGS
+= -DCONFIG_TDLS
177 OBJS
+= src
/rsn_supp
/tdls.o
183 L_CFLAGS
+= -DCONFIG_PEERKEY
187 OBJS
+= src
/rsn_supp
/wpa.c
188 OBJS
+= src
/rsn_supp
/preauth.c
189 OBJS
+= src
/rsn_supp
/pmksa_cache.c
190 OBJS
+= src
/rsn_supp
/peerkey.c
191 OBJS
+= src
/rsn_supp
/wpa_ie.c
192 OBJS
+= src
/common
/wpa_common.c
198 L_CFLAGS
+= -DCONFIG_NO_WPA
-DCONFIG_NO_WPA2
201 ifdef CONFIG_IBSS_RSN
202 NEED_RSN_AUTHENTICATOR
=y
203 L_CFLAGS
+= -DCONFIG_IBSS_RSN
208 OBJS
+= p2p_supplicant.c
209 OBJS
+= src
/p2p
/p2p.c
210 OBJS
+= src
/p2p
/p2p_utils.c
211 OBJS
+= src
/p2p
/p2p_parse.c
212 OBJS
+= src
/p2p
/p2p_build.c
213 OBJS
+= src
/p2p
/p2p_go_neg.c
214 OBJS
+= src
/p2p
/p2p_sd.c
215 OBJS
+= src
/p2p
/p2p_pd.c
216 OBJS
+= src
/p2p
/p2p_invitation.c
217 OBJS
+= src
/p2p
/p2p_dev_disc.c
218 OBJS
+= src
/p2p
/p2p_group.c
219 OBJS
+= src
/ap
/p2p_hostapd.c
220 L_CFLAGS
+= -DCONFIG_P2P
222 ifdef CONFIG_P2P_STRICT
223 L_CFLAGS
+= -DCONFIG_P2P_STRICT
228 L_CFLAGS
+= -DCONFIG_NO_WPA2
231 include $(LOCAL_PATH
)/src
/drivers
/drivers.mk
234 OBJS_d
+= $(DRV_BOTH_OBJS
)
235 L_CFLAGS
+= $(DRV_BOTH_CFLAGS
)
236 LDFLAGS
+= $(DRV_BOTH_LDFLAGS
)
237 LIBS
+= $(DRV_BOTH_LIBS
)
240 OBJS_d
+= $(DRV_WPA_OBJS
)
241 L_CFLAGS
+= $(DRV_WPA_CFLAGS
)
242 LDFLAGS
+= $(DRV_WPA_LDFLAGS
)
243 LIBS
+= $(DRV_WPA_LIBS
)
246 ifndef CONFIG_L2_PACKET
247 CONFIG_L2_PACKET
=linux
250 OBJS_l2
+= src
/l2_packet
/l2_packet_
$(CONFIG_L2_PACKET
).c
252 ifeq ($(CONFIG_L2_PACKET
), pcap
)
254 L_CFLAGS
+= -DCONFIG_WINPCAP
255 LIBS
+= -lwpcap
-lpacket
258 LIBS
+= -ldnet
-lpcap
262 ifeq ($(CONFIG_L2_PACKET
), winpcap
)
263 LIBS
+= -lwpcap
-lpacket
267 ifeq ($(CONFIG_L2_PACKET
), freebsd
)
273 ifeq ($(CONFIG_EAP_TLS
), dyn
)
274 L_CFLAGS
+= -DEAP_TLS_DYNAMIC
275 EAPDYN
+= src
/eap_peer
/eap_tls.so
277 L_CFLAGS
+= -DEAP_TLS
278 OBJS
+= src
/eap_peer
/eap_tls.c
279 OBJS_h
+= src
/eap_server
/eap_server_tls.c
282 CONFIG_IEEE8021X_EAPOL
=y
285 ifdef CONFIG_EAP_PEAP
287 ifeq ($(CONFIG_EAP_PEAP
), dyn
)
288 L_CFLAGS
+= -DEAP_PEAP_DYNAMIC
289 EAPDYN
+= src
/eap_peer
/eap_peap.so
291 L_CFLAGS
+= -DEAP_PEAP
292 OBJS
+= src
/eap_peer
/eap_peap.c
293 OBJS
+= src
/eap_common
/eap_peap_common.c
294 OBJS_h
+= src
/eap_server
/eap_server_peap.c
297 CONFIG_IEEE8021X_EAPOL
=y
300 ifdef CONFIG_EAP_TTLS
302 ifeq ($(CONFIG_EAP_TTLS
), dyn
)
303 L_CFLAGS
+= -DEAP_TTLS_DYNAMIC
304 EAPDYN
+= src
/eap_peer
/eap_ttls.so
306 L_CFLAGS
+= -DEAP_TTLS
307 OBJS
+= src
/eap_peer
/eap_ttls.c
308 OBJS_h
+= src
/eap_server
/eap_server_ttls.c
313 CONFIG_IEEE8021X_EAPOL
=y
318 ifeq ($(CONFIG_EAP_MD5
), dyn
)
319 L_CFLAGS
+= -DEAP_MD5_DYNAMIC
320 EAPDYN
+= src
/eap_peer
/eap_md5.so
322 L_CFLAGS
+= -DEAP_MD5
323 OBJS
+= src
/eap_peer
/eap_md5.c
324 OBJS_h
+= src
/eap_server
/eap_server_md5.c
327 CONFIG_IEEE8021X_EAPOL
=y
330 # backwards compatibility for old spelling
331 ifdef CONFIG_MSCHAPV2
332 ifndef CONFIG_EAP_MSCHAPV2
333 CONFIG_EAP_MSCHAPV2
=y
337 ifdef CONFIG_EAP_MSCHAPV2
339 ifeq ($(CONFIG_EAP_MSCHAPV2
), dyn
)
340 L_CFLAGS
+= -DEAP_MSCHAPv2_DYNAMIC
341 EAPDYN
+= src
/eap_peer
/eap_mschapv2.so
342 EAPDYN
+= src
/eap_peer
/mschapv2.so
344 L_CFLAGS
+= -DEAP_MSCHAPv2
345 OBJS
+= src
/eap_peer
/eap_mschapv2.c
346 OBJS
+= src
/eap_peer
/mschapv2.c
347 OBJS_h
+= src
/eap_server
/eap_server_mschapv2.c
350 CONFIG_IEEE8021X_EAPOL
=y
355 ifeq ($(CONFIG_EAP_GTC
), dyn
)
356 L_CFLAGS
+= -DEAP_GTC_DYNAMIC
357 EAPDYN
+= src
/eap_peer
/eap_gtc.so
359 L_CFLAGS
+= -DEAP_GTC
360 OBJS
+= src
/eap_peer
/eap_gtc.c
361 OBJS_h
+= src
/eap_server
/eap_server_gtc.c
363 CONFIG_IEEE8021X_EAPOL
=y
368 ifeq ($(CONFIG_EAP_OTP
), dyn
)
369 L_CFLAGS
+= -DEAP_OTP_DYNAMIC
370 EAPDYN
+= src
/eap_peer
/eap_otp.so
372 L_CFLAGS
+= -DEAP_OTP
373 OBJS
+= src
/eap_peer
/eap_otp.c
375 CONFIG_IEEE8021X_EAPOL
=y
380 ifeq ($(CONFIG_EAP_SIM
), dyn
)
381 L_CFLAGS
+= -DEAP_SIM_DYNAMIC
382 EAPDYN
+= src
/eap_peer
/eap_sim.so
384 L_CFLAGS
+= -DEAP_SIM
385 OBJS
+= src
/eap_peer
/eap_sim.c
386 OBJS_h
+= src
/eap_server
/eap_server_sim.c
388 CONFIG_IEEE8021X_EAPOL
=y
389 CONFIG_EAP_SIM_COMMON
=y
393 ifdef CONFIG_EAP_LEAP
395 ifeq ($(CONFIG_EAP_LEAP
), dyn
)
396 L_CFLAGS
+= -DEAP_LEAP_DYNAMIC
397 EAPDYN
+= src
/eap_peer
/eap_leap.so
399 L_CFLAGS
+= -DEAP_LEAP
400 OBJS
+= src
/eap_peer
/eap_leap.c
403 CONFIG_IEEE8021X_EAPOL
=y
408 ifeq ($(CONFIG_EAP_PSK
), dyn
)
409 L_CFLAGS
+= -DEAP_PSK_DYNAMIC
410 EAPDYN
+= src
/eap_peer
/eap_psk.so
412 L_CFLAGS
+= -DEAP_PSK
413 OBJS
+= src
/eap_peer
/eap_psk.c src
/eap_common
/eap_psk_common.c
414 OBJS_h
+= src
/eap_server
/eap_server_psk.c
416 CONFIG_IEEE8021X_EAPOL
=y
425 ifeq ($(CONFIG_EAP_AKA
), dyn
)
426 L_CFLAGS
+= -DEAP_AKA_DYNAMIC
427 EAPDYN
+= src
/eap_peer
/eap_aka.so
429 L_CFLAGS
+= -DEAP_AKA
430 OBJS
+= src
/eap_peer
/eap_aka.c
431 OBJS_h
+= src
/eap_server
/eap_server_aka.c
433 CONFIG_IEEE8021X_EAPOL
=y
434 CONFIG_EAP_SIM_COMMON
=y
438 ifdef CONFIG_EAP_AKA_PRIME
440 ifeq ($(CONFIG_EAP_AKA_PRIME
), dyn
)
441 L_CFLAGS
+= -DEAP_AKA_PRIME_DYNAMIC
443 L_CFLAGS
+= -DEAP_AKA_PRIME
448 ifdef CONFIG_EAP_SIM_COMMON
449 OBJS
+= src
/eap_common
/eap_sim_common.c
450 OBJS_h
+= src
/eap_server
/eap_sim_db.c
455 ifdef CONFIG_EAP_FAST
457 ifeq ($(CONFIG_EAP_FAST
), dyn
)
458 L_CFLAGS
+= -DEAP_FAST_DYNAMIC
459 EAPDYN
+= src
/eap_peer
/eap_fast.so
460 EAPDYN
+= src
/eap_common
/eap_fast_common.c
462 L_CFLAGS
+= -DEAP_FAST
463 OBJS
+= src
/eap_peer
/eap_fast.c src
/eap_peer
/eap_fast_pac.c
464 OBJS
+= src
/eap_common
/eap_fast_common.c
465 OBJS_h
+= src
/eap_server
/eap_server_fast.c
468 CONFIG_IEEE8021X_EAPOL
=y
474 ifeq ($(CONFIG_EAP_PAX
), dyn
)
475 L_CFLAGS
+= -DEAP_PAX_DYNAMIC
476 EAPDYN
+= src
/eap_peer
/eap_pax.so
478 L_CFLAGS
+= -DEAP_PAX
479 OBJS
+= src
/eap_peer
/eap_pax.c src
/eap_common
/eap_pax_common.c
480 OBJS_h
+= src
/eap_server
/eap_server_pax.c
482 CONFIG_IEEE8021X_EAPOL
=y
485 ifdef CONFIG_EAP_SAKE
487 ifeq ($(CONFIG_EAP_SAKE
), dyn
)
488 L_CFLAGS
+= -DEAP_SAKE_DYNAMIC
489 EAPDYN
+= src
/eap_peer
/eap_sake.so
491 L_CFLAGS
+= -DEAP_SAKE
492 OBJS
+= src
/eap_peer
/eap_sake.c src
/eap_common
/eap_sake_common.c
493 OBJS_h
+= src
/eap_server
/eap_server_sake.c
495 CONFIG_IEEE8021X_EAPOL
=y
498 ifdef CONFIG_EAP_GPSK
500 ifeq ($(CONFIG_EAP_GPSK
), dyn
)
501 L_CFLAGS
+= -DEAP_GPSK_DYNAMIC
502 EAPDYN
+= src
/eap_peer
/eap_gpsk.so
504 L_CFLAGS
+= -DEAP_GPSK
505 OBJS
+= src
/eap_peer
/eap_gpsk.c src
/eap_common
/eap_gpsk_common.c
506 OBJS_h
+= src
/eap_server
/eap_server_gpsk.c
508 CONFIG_IEEE8021X_EAPOL
=y
509 ifdef CONFIG_EAP_GPSK_SHA256
510 L_CFLAGS
+= -DEAP_GPSK_SHA256
517 L_CFLAGS
+= -DEAP_PWD
518 OBJS
+= src
/eap_peer
/eap_pwd.c src
/eap_common
/eap_pwd_common.c
519 OBJS_h
+= src
/eap_server
/eap_pwd.c
520 CONFIG_IEEE8021X_EAPOL
=y
526 L_CFLAGS
+= -DCONFIG_WPS2
530 L_CFLAGS
+= -DCONFIG_WPS
-DEAP_WSC
531 OBJS
+= wps_supplicant.c
532 OBJS
+= src
/utils
/uuid.c
533 OBJS
+= src
/eap_peer
/eap_wsc.c src
/eap_common
/eap_wsc_common.c
534 OBJS
+= src
/wps
/wps.c
535 OBJS
+= src
/wps
/wps_common.c
536 OBJS
+= src
/wps
/wps_attr_parse.c
537 OBJS
+= src
/wps
/wps_attr_build.c
538 OBJS
+= src
/wps
/wps_attr_process.c
539 OBJS
+= src
/wps
/wps_dev_attr.c
540 OBJS
+= src
/wps
/wps_enrollee.c
541 OBJS
+= src
/wps
/wps_registrar.c
542 OBJS_h
+= src
/eap_server
/eap_server_wsc.c
543 CONFIG_IEEE8021X_EAPOL
=y
552 L_CFLAGS
+= -DCONFIG_WPS_UFD
553 OBJS
+= src
/wps
/wps_ufd.c
558 L_CFLAGS
+= -DCONFIG_WPS_NFC
559 OBJS
+= src
/wps
/ndef.c
560 OBJS
+= src
/wps
/wps_nfc.c
562 ifdef CONFIG_WPS_NFC_PN531
563 PN531_PATH ?
= /usr
/local
/src
/nfc
564 L_CFLAGS
+= -DCONFIG_WPS_NFC_PN531
565 L_CFLAGS
+= -I
${PN531_PATH}/inc
566 OBJS
+= src
/wps
/wps_nfc_pn531.c
567 LIBS
+= ${PN531_PATH}/lib
/wpsnfc.dll
568 LIBS
+= ${PN531_PATH}/lib
/libnfc_mapping_pn53x.dll
573 L_CFLAGS
+= -DCONFIG_WPS_OOB
578 L_CFLAGS
+= -DCONFIG_WPS_ER
579 OBJS
+= src
/wps
/wps_er.c
580 OBJS
+= src
/wps
/wps_er_ssdp.c
583 ifdef CONFIG_WPS_UPNP
584 L_CFLAGS
+= -DCONFIG_WPS_UPNP
585 OBJS
+= src
/wps
/wps_upnp.c
586 OBJS
+= src
/wps
/wps_upnp_ssdp.c
587 OBJS
+= src
/wps
/wps_upnp_web.c
588 OBJS
+= src
/wps
/wps_upnp_event.c
589 OBJS
+= src
/wps
/wps_upnp_ap.c
590 OBJS
+= src
/wps
/upnp_xml.c
591 OBJS
+= src
/wps
/httpread.c
592 OBJS
+= src
/wps
/http_client.c
593 OBJS
+= src
/wps
/http_server.c
596 ifdef CONFIG_WPS_STRICT
597 L_CFLAGS
+= -DCONFIG_WPS_STRICT
598 OBJS
+= src
/wps
/wps_validate.c
601 ifdef CONFIG_WPS_TESTING
602 L_CFLAGS
+= -DCONFIG_WPS_TESTING
605 ifdef CONFIG_WPS_REG_DISABLE_OPEN
606 L_CFLAGS
+= -DCONFIG_WPS_REG_DISABLE_OPEN
611 ifdef CONFIG_EAP_IKEV2
613 ifeq ($(CONFIG_EAP_IKEV2
), dyn
)
614 L_CFLAGS
+= -DEAP_IKEV2_DYNAMIC
615 EAPDYN
+= src
/eap_peer
/eap_ikev2.so src
/eap_peer
/ikev2.c
616 EAPDYN
+= src
/eap_common
/eap_ikev2_common.c src
/eap_common
/ikev2_common.c
618 L_CFLAGS
+= -DEAP_IKEV2
619 OBJS
+= src
/eap_peer
/eap_ikev2.c src
/eap_peer
/ikev2.c
620 OBJS
+= src
/eap_common
/eap_ikev2_common.c src
/eap_common
/ikev2_common.c
621 OBJS_h
+= src
/eap_server
/eap_server_ikev2.c
622 OBJS_h
+= src
/eap_server
/ikev2.c
624 CONFIG_IEEE8021X_EAPOL
=y
631 ifdef CONFIG_EAP_VENDOR_TEST
632 ifeq ($(CONFIG_EAP_VENDOR_TEST
), dyn
)
633 L_CFLAGS
+= -DEAP_VENDOR_TEST_DYNAMIC
634 EAPDYN
+= src
/eap_peer
/eap_vendor_test.so
636 L_CFLAGS
+= -DEAP_VENDOR_TEST
637 OBJS
+= src
/eap_peer
/eap_vendor_test.c
638 OBJS_h
+= src
/eap_server
/eap_server_vendor_test.c
640 CONFIG_IEEE8021X_EAPOL
=y
645 L_CFLAGS
+= -DEAP_TNC
646 OBJS
+= src
/eap_peer
/eap_tnc.c
647 OBJS
+= src
/eap_peer
/tncc.c
648 OBJS_h
+= src
/eap_server
/eap_server_tnc.c
649 OBJS_h
+= src
/eap_server
/tncs.c
651 ifndef CONFIG_NATIVE_WINDOWS
652 ifndef CONFIG_DRIVER_BSD
658 ifdef CONFIG_IEEE8021X_EAPOL
659 # IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
660 L_CFLAGS
+= -DIEEE8021X_EAPOL
661 OBJS
+= src
/eapol_supp
/eapol_supp_sm.c
662 OBJS
+= src
/eap_peer
/eap.c src
/eap_peer
/eap_methods.c
664 ifdef CONFIG_DYNAMIC_EAP_METHODS
665 L_CFLAGS
+= -DCONFIG_DYNAMIC_EAP_METHODS
666 LIBS
+= -ldl
-rdynamic
673 NEED_RSN_AUTHENTICATOR
=y
674 L_CFLAGS
+= -DCONFIG_AP
676 L_CFLAGS
+= -DCONFIG_NO_RADIUS
677 L_CFLAGS
+= -DCONFIG_NO_ACCOUNTING
678 L_CFLAGS
+= -DCONFIG_NO_VLAN
679 OBJS
+= src
/ap
/hostapd.c
680 OBJS
+= src
/ap
/wpa_auth_glue.c
681 OBJS
+= src
/ap
/utils.c
682 OBJS
+= src
/ap
/authsrv.c
683 OBJS
+= src
/ap
/ap_config.c
684 OBJS
+= src
/utils
/ip_addr.c
685 OBJS
+= src
/ap
/sta_info.c
686 OBJS
+= src
/ap
/tkip_countermeasures.c
687 OBJS
+= src
/ap
/ap_mlme.c
688 OBJS
+= src
/ap
/ieee802_1x.c
689 OBJS
+= src
/eapol_auth
/eapol_auth_sm.c
690 OBJS
+= src
/ap
/ieee802_11_auth.c
691 OBJS
+= src
/ap
/drv_callbacks.c
692 OBJS
+= src
/ap
/ap_drv_ops.c
693 ifdef CONFIG_IEEE80211N
694 OBJS
+= src
/ap
/ieee802_11_ht.c
696 ifdef CONFIG_CTRL_IFACE
697 OBJS
+= src
/ap
/ctrl_iface_ap.c
700 L_CFLAGS
+= -DEAP_SERVER
-DEAP_SERVER_IDENTITY
701 OBJS
+= src
/eap_server
/eap_server.c
702 OBJS
+= src
/eap_server
/eap_server_identity.c
703 OBJS
+= src
/eap_server
/eap_server_methods.c
705 ifdef CONFIG_IEEE80211N
706 L_CFLAGS
+= -DCONFIG_IEEE80211N
710 OBJS
+= src
/ap
/beacon.c
712 OBJS
+= src
/ap
/ap_list.c
713 OBJS
+= src
/ap
/ieee802_11.c
714 OBJS
+= src
/ap
/hw_features.c
715 L_CFLAGS
+= -DNEED_AP_MLME
718 L_CFLAGS
+= -DEAP_SERVER_WSC
719 OBJS
+= src
/ap
/wps_hostapd.c
720 OBJS
+= src
/eap_server
/eap_server_wsc.c
724 ifdef NEED_RSN_AUTHENTICATOR
725 L_CFLAGS
+= -DCONFIG_NO_RADIUS
727 OBJS
+= src
/ap
/wpa_auth.c
728 OBJS
+= src
/ap
/wpa_auth_ie.c
729 OBJS
+= src
/ap
/pmksa_cache_auth.c
730 ifdef CONFIG_IEEE80211R
731 OBJS
+= src
/ap
/wpa_auth_ft.c
734 OBJS
+= src
/ap
/peerkey_auth.c
738 ifdef CONFIG_EAP_SERVER
739 L_CFLAGS
+= -DEAP_SERVER
740 OBJS_h
+= src
/eap_server
/eap_server.c
741 OBJS_h
+= src
/eap_server
/eap_server_identity.c
742 OBJS_h
+= src
/eap_server
/eap_server_methods.c
745 ifdef CONFIG_RADIUS_CLIENT
746 OBJS_h
+= src
/utils
/ip_addr.c
747 OBJS_h
+= src
/radius
/radius.c
748 OBJS_h
+= src
/radius
/radius_client.c
751 ifdef CONFIG_AUTHENTICATOR
752 OBJS_h
+= src
/eapol_auth
/eapol_auth_sm.c
753 OBJS_h
+= src
/ap
/ieee802_1x.c
756 ifdef CONFIG_WPA_AUTHENTICATOR
757 OBJS_h
+= src
/ap
/wpa_auth.c
758 OBJS_h
+= src
/ap
/wpa_auth_ie.c
759 OBJS_h
+= src
/ap
/pmksa_cache_auth.c
760 ifdef CONFIG_IEEE80211R
761 OBJS_h
+= src
/ap
/wpa_auth_ft.c
764 OBJS_h
+= src
/ap
/peerkey_auth.c
769 # PC/SC interface for smartcards (USIM, GSM SIM)
770 L_CFLAGS
+= -DPCSC_FUNCS
-I
/usr
/include/PCSC
771 OBJS
+= src
/utils
/pcsc_funcs.c
772 # -lpthread may not be needed depending on how pcsc-lite was configured
773 ifdef CONFIG_NATIVE_WINDOWS
774 #Once MinGW gets support for WinScard, -lwinscard could be used instead of the
775 #dynamic symbol loading that is now used in pcsc_funcs.c
778 LIBS
+= -lpcsclite
-lpthread
782 ifdef CONFIG_SIM_SIMULATOR
783 L_CFLAGS
+= -DCONFIG_SIM_SIMULATOR
787 ifdef CONFIG_USIM_SIMULATOR
788 L_CFLAGS
+= -DCONFIG_USIM_SIMULATOR
793 OBJS
+= src
/crypto
/milenage.c
797 L_CFLAGS
+= -DPKCS12_FUNCS
800 ifdef CONFIG_SMARTCARD
801 L_CFLAGS
+= -DCONFIG_SMARTCARD
805 OBJS
+= src
/crypto
/ms_funcs.c
811 OBJS
+= src
/eap_common
/chap.c
816 # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
817 OBJS
+= src
/eap_peer
/eap_tls_common.c
818 OBJS_h
+= src
/eap_server
/eap_server_tls_common.c
826 ifeq ($(CONFIG_TLS
), openssl
)
828 L_CFLAGS
+= -DEAP_TLS_OPENSSL
829 OBJS
+= src
/crypto
/tls_openssl.c
832 OBJS
+= src
/crypto
/crypto_openssl.c
833 OBJS_p
+= src
/crypto
/crypto_openssl.c
834 ifdef NEED_FIPS186_2_PRF
835 OBJS
+= src
/crypto
/fips_prf_openssl.c
841 ifeq ($(CONFIG_TLS
), gnutls
)
843 OBJS
+= src
/crypto
/tls_gnutls.c
844 LIBS
+= -lgnutls
-lgpg-error
845 ifdef CONFIG_GNUTLS_EXTRA
846 L_CFLAGS
+= -DCONFIG_GNUTLS_EXTRA
847 LIBS
+= -lgnutls-extra
850 OBJS
+= src
/crypto
/crypto_gnutls.c
851 OBJS_p
+= src
/crypto
/crypto_gnutls.c
852 ifdef NEED_FIPS186_2_PRF
853 OBJS
+= src
/crypto
/fips_prf_gnutls.c
857 CONFIG_INTERNAL_SHA256
=y
858 CONFIG_INTERNAL_RC4
=y
859 CONFIG_INTERNAL_DH_GROUP5
=y
862 ifeq ($(CONFIG_TLS
), schannel
)
864 OBJS
+= src
/crypto
/tls_schannel.c
866 OBJS
+= src
/crypto
/crypto_cryptoapi.c
867 OBJS_p
+= src
/crypto
/crypto_cryptoapi.c
868 ifdef NEED_FIPS186_2_PRF
869 OBJS
+= src
/crypto
/fips_prf_cryptoapi.c
871 CONFIG_INTERNAL_SHA256
=y
872 CONFIG_INTERNAL_RC4
=y
873 CONFIG_INTERNAL_DH_GROUP5
=y
876 ifeq ($(CONFIG_TLS
), nss
)
878 OBJS
+= src
/crypto
/tls_nss.c
881 OBJS
+= src
/crypto
/crypto_nss.c
882 OBJS_p
+= src
/crypto
/crypto_nss.c
883 ifdef NEED_FIPS186_2_PRF
884 OBJS
+= src
/crypto
/fips_prf_nss.c
888 CONFIG_INTERNAL_MD4
=y
889 CONFIG_INTERNAL_DH_GROUP5
=y
892 ifeq ($(CONFIG_TLS
), internal
)
894 CONFIG_CRYPTO
=internal
897 OBJS
+= src
/crypto
/crypto_internal-rsa.c
898 OBJS
+= src
/crypto
/tls_internal.c
899 OBJS
+= src
/tls
/tlsv1_common.c
900 OBJS
+= src
/tls
/tlsv1_record.c
901 OBJS
+= src
/tls
/tlsv1_cred.c
902 OBJS
+= src
/tls
/tlsv1_client.c
903 OBJS
+= src
/tls
/tlsv1_client_write.c
904 OBJS
+= src
/tls
/tlsv1_client_read.c
905 OBJS
+= src
/tls
/asn1.c
906 OBJS
+= src
/tls
/rsa.c
907 OBJS
+= src
/tls
/x509v3.c
908 OBJS
+= src
/tls
/pkcs1.c
909 OBJS
+= src
/tls
/pkcs5.c
910 OBJS
+= src
/tls
/pkcs8.c
916 L_CFLAGS
+= -DCONFIG_TLS_INTERNAL_CLIENT
920 OBJS
+= src
/crypto
/crypto_internal-cipher.c
923 OBJS
+= src
/crypto
/crypto_internal-modexp.c
924 OBJS
+= src
/tls
/bignum.c
926 ifeq ($(CONFIG_CRYPTO
), libtomcrypt
)
927 OBJS
+= src
/crypto
/crypto_libtomcrypt.c
928 OBJS_p
+= src
/crypto
/crypto_libtomcrypt.c
929 LIBS
+= -ltomcrypt
-ltfm
930 LIBS_p
+= -ltomcrypt
-ltfm
931 CONFIG_INTERNAL_SHA256
=y
932 CONFIG_INTERNAL_RC4
=y
933 CONFIG_INTERNAL_DH_GROUP5
=y
935 ifeq ($(CONFIG_CRYPTO
), internal
)
936 OBJS
+= src
/crypto
/crypto_internal.c
937 OBJS_p
+= src
/crypto
/crypto_internal.c
939 L_CFLAGS
+= -DCONFIG_CRYPTO_INTERNAL
940 ifdef CONFIG_INTERNAL_LIBTOMMATH
941 L_CFLAGS
+= -DCONFIG_INTERNAL_LIBTOMMATH
942 ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
943 L_CFLAGS
+= -DLTM_FAST
949 CONFIG_INTERNAL_AES
=y
950 CONFIG_INTERNAL_DES
=y
951 CONFIG_INTERNAL_SHA1
=y
952 CONFIG_INTERNAL_MD4
=y
953 CONFIG_INTERNAL_MD5
=y
954 CONFIG_INTERNAL_SHA256
=y
955 CONFIG_INTERNAL_RC4
=y
956 CONFIG_INTERNAL_DH_GROUP5
=y
958 ifeq ($(CONFIG_CRYPTO
), cryptoapi
)
959 OBJS
+= src
/crypto
/crypto_cryptoapi.c
960 OBJS_p
+= src
/crypto
/crypto_cryptoapi.c
961 L_CFLAGS
+= -DCONFIG_CRYPTO_CRYPTOAPI
962 CONFIG_INTERNAL_SHA256
=y
963 CONFIG_INTERNAL_RC4
=y
967 ifeq ($(CONFIG_TLS
), none
)
969 OBJS
+= src
/crypto
/tls_none.c
970 L_CFLAGS
+= -DEAP_TLS_NONE
971 CONFIG_INTERNAL_AES
=y
972 CONFIG_INTERNAL_SHA1
=y
973 CONFIG_INTERNAL_MD5
=y
975 OBJS
+= src
/crypto
/crypto_none.c
976 OBJS_p
+= src
/crypto
/crypto_none.c
977 CONFIG_INTERNAL_SHA256
=y
978 CONFIG_INTERNAL_RC4
=y
982 ifdef CONFIG_SMARTCARD
983 ifndef CONFIG_NATIVE_WINDOWS
984 ifneq ($(CONFIG_L2_PACKET
), freebsd
)
992 OBJS
+= src
/crypto
/tls_none.c
993 ifeq ($(CONFIG_TLS
), internal
)
994 CONFIG_INTERNAL_AES
=y
995 CONFIG_INTERNAL_SHA1
=y
996 CONFIG_INTERNAL_MD5
=y
997 CONFIG_INTERNAL_RC4
=y
1001 AESOBJS
= # none so far (see below)
1002 ifdef CONFIG_INTERNAL_AES
1003 AESOBJS
+= src
/crypto
/aes-internal.c src
/crypto
/aes-internal-dec.c
1006 AESOBJS
+= src
/crypto
/aes-unwrap.c
1008 AESOBJS
+= src
/crypto
/aes-eax.c
1012 AESOBJS
+= src
/crypto
/aes-ctr.c
1014 ifdef NEED_AES_ENCBLOCK
1015 AESOBJS
+= src
/crypto
/aes-encblock.c
1017 ifdef NEED_AES_OMAC1
1019 AESOBJS
+= src
/crypto
/aes-omac1.c
1023 AESOBJS
+= src
/crypto
/aes-wrap.c
1027 AESOBJS
+= src
/crypto
/aes-cbc.c
1030 ifdef CONFIG_INTERNAL_AES
1031 AESOBJS
+= src
/crypto
/aes-internal-enc.c
1040 SHA1OBJS
+= src
/crypto
/sha1.c
1041 ifdef CONFIG_INTERNAL_SHA1
1042 SHA1OBJS
+= src
/crypto
/sha1-internal.c
1043 ifdef NEED_FIPS186_2_PRF
1044 SHA1OBJS
+= src
/crypto
/fips_prf_internal.c
1047 ifndef CONFIG_NO_WPA_PASSPHRASE
1048 SHA1OBJS
+= src
/crypto
/sha1-pbkdf2.c
1051 SHA1OBJS
+= src
/crypto
/sha1-tprf.c
1054 SHA1OBJS
+= src
/crypto
/sha1-tlsprf.c
1058 MD5OBJS
= src
/crypto
/md5.c
1060 ifdef CONFIG_INTERNAL_MD5
1061 MD5OBJS
+= src
/crypto
/md5-internal.c
1064 MD5OBJS
+= src
/crypto
/md5-non-fips.c
1067 OBJS_p
+= $(MD5OBJS
)
1071 ifdef CONFIG_INTERNAL_MD4
1072 OBJS
+= src
/crypto
/md4-internal.c
1076 DESOBJS
= # none needed when not internal
1078 ifdef CONFIG_INTERNAL_DES
1079 DESOBJS
+= src
/crypto
/des-internal.c
1084 ifdef CONFIG_INTERNAL_RC4
1085 OBJS
+= src
/crypto
/rc4.c
1089 SHA256OBJS
= # none by default
1091 L_CFLAGS
+= -DCONFIG_SHA256
1092 SHA256OBJS
+= src
/crypto
/sha256.c
1093 ifdef CONFIG_INTERNAL_SHA256
1094 SHA256OBJS
+= src
/crypto
/sha256-internal.c
1096 OBJS
+= $(SHA256OBJS
)
1099 ifdef NEED_DH_GROUPS
1100 OBJS
+= src
/crypto
/dh_groups.c
1102 ifdef NEED_DH_GROUPS_ALL
1103 L_CFLAGS
+= -DALL_DH_GROUPS
1105 ifdef CONFIG_INTERNAL_DH_GROUP5
1106 ifdef NEED_DH_GROUPS
1107 OBJS
+= src
/crypto
/dh_group5.c
1111 ifdef CONFIG_NO_RANDOM_POOL
1112 L_CFLAGS
+= -DCONFIG_NO_RANDOM_POOL
1114 OBJS
+= src
/crypto
/random.c
1117 ifdef CONFIG_CTRL_IFACE
1118 ifeq ($(CONFIG_CTRL_IFACE
), y
)
1119 ifdef CONFIG_NATIVE_WINDOWS
1120 CONFIG_CTRL_IFACE
=named_pipe
1122 CONFIG_CTRL_IFACE
=unix
1125 L_CFLAGS
+= -DCONFIG_CTRL_IFACE
1126 ifeq ($(CONFIG_CTRL_IFACE
), unix
)
1127 L_CFLAGS
+= -DCONFIG_CTRL_IFACE_UNIX
1129 ifeq ($(CONFIG_CTRL_IFACE
), udp
)
1130 L_CFLAGS
+= -DCONFIG_CTRL_IFACE_UDP
1132 ifeq ($(CONFIG_CTRL_IFACE
), named_pipe
)
1133 L_CFLAGS
+= -DCONFIG_CTRL_IFACE_NAMED_PIPE
1135 OBJS
+= ctrl_iface.c ctrl_iface_
$(CONFIG_CTRL_IFACE
).c
1138 ifdef CONFIG_CTRL_IFACE_DBUS
1140 DBUS_CFLAGS
+= -DCONFIG_CTRL_IFACE_DBUS
-DDBUS_API_SUBJECT_TO_CHANGE
1141 DBUS_OBJS
+= dbus
/dbus_old.c dbus
/dbus_old_handlers.c
1143 DBUS_OBJS
+= dbus
/dbus_old_handlers_wps.c
1145 DBUS_OBJS
+= dbus
/dbus_dict_helpers.c
1147 DBUS_LIBS
:= $(shell $(PKG_CONFIG
) --libs dbus-1
)
1150 DBUS_INCLUDE
:= $(shell $(PKG_CONFIG
) --cflags dbus-1
)
1152 dbus_version
=$(subst .
, ,$(shell $(PKG_CONFIG
) --modversion dbus-1
))
1153 DBUS_VERSION_MAJOR
=$(word 1,$(dbus_version
))
1154 DBUS_VERSION_MINOR
=$(word 2,$(dbus_version
))
1155 ifeq ($(DBUS_VERSION_MAJOR
),)
1156 DBUS_VERSION_MAJOR
=0
1158 ifeq ($(DBUS_VERSION_MINOR
),)
1159 DBUS_VERSION_MINOR
=0
1161 DBUS_INCLUDE
+= -DDBUS_VERSION_MAJOR
=$(DBUS_VERSION_MAJOR
)
1162 DBUS_INCLUDE
+= -DDBUS_VERSION_MINOR
=$(DBUS_VERSION_MINOR
)
1163 DBUS_CFLAGS
+= $(DBUS_INCLUDE
)
1166 ifdef CONFIG_CTRL_IFACE_DBUS_NEW
1168 DBUS_CFLAGS
+= -DCONFIG_CTRL_IFACE_DBUS_NEW
1169 DBUS_OBJS ?
= dbus
/dbus_dict_helpers.c
1170 DBUS_OBJS
+= dbus
/dbus_new_helpers.c
1171 DBUS_OBJS
+= dbus
/dbus_new.c dbus
/dbus_new_handlers.c
1173 DBUS_OBJS
+= dbus
/dbus_new_handlers_wps.c
1176 DBUS_LIBS
:= $(shell $(PKG_CONFIG
) --libs dbus-1
)
1179 DBUS_INCLUDE
:= $(shell $(PKG_CONFIG
) --cflags dbus-1
)
1181 ifdef CONFIG_CTRL_IFACE_DBUS_INTRO
1182 DBUS_OBJS
+= dbus
/dbus_new_introspect.c
1183 DBUS_CFLAGS
+= -DCONFIG_CTRL_IFACE_DBUS_INTRO
1185 DBUS_CFLAGS
+= $(DBUS_INCLUDE
)
1189 DBUS_CFLAGS
+= -DCONFIG_DBUS
1190 DBUS_OBJS
+= dbus
/dbus_common.c
1193 OBJS
+= $(DBUS_OBJS
)
1194 L_CFLAGS
+= $(DBUS_CFLAGS
)
1195 LIBS
+= $(DBUS_LIBS
)
1197 ifdef CONFIG_READLINE
1198 OBJS_c
+= src
/utils
/edit_readline.c
1199 LIBS_c
+= -lncurses
-lreadline
1201 ifdef CONFIG_WPA_CLI_EDIT
1202 OBJS_c
+= src
/utils
/edit.c
1204 OBJS_c
+= src
/utils
/edit_simple.c
1208 ifdef CONFIG_NATIVE_WINDOWS
1209 L_CFLAGS
+= -DCONFIG_NATIVE_WINDOWS
1210 LIBS
+= -lws2_32
-lgdi32
-lcrypt32
1212 LIBS_p
+= -lws2_32
-lgdi32
1213 ifeq ($(CONFIG_CRYPTO
), cryptoapi
)
1218 ifdef CONFIG_NO_STDOUT_DEBUG
1219 L_CFLAGS
+= -DCONFIG_NO_STDOUT_DEBUG
1220 ifndef CONFIG_CTRL_IFACE
1221 L_CFLAGS
+= -DCONFIG_NO_WPA_MSG
1225 ifdef CONFIG_ANDROID_LOG
1226 L_CFLAGS
+= -DCONFIG_ANDROID_LOG
1230 # for eapol_test only
1231 L_CFLAGS
+= -DCONFIG_IPV6
1235 OBJS
+= src
/utils
/base64.c
1241 L_CFLAGS
+= -DCONFIG_SME
1244 ifdef CONFIG_CLIENT_MLME
1246 L_CFLAGS
+= -DCONFIG_CLIENT_MLME
1250 ifdef NEED_80211_COMMON
1251 OBJS
+= src
/common
/ieee802_11_common.c
1254 ifdef NEED_EAP_COMMON
1255 OBJS
+= src
/eap_common
/eap_common.c
1262 ifdef CONFIG_DEBUG_SYSLOG
1263 L_CFLAGS
+= -DCONFIG_DEBUG_SYSLOG
1266 ifdef CONFIG_DEBUG_FILE
1267 L_CFLAGS
+= -DCONFIG_DEBUG_FILE
1270 ifdef CONFIG_DELAYED_MIC_ERROR_REPORT
1271 L_CFLAGS
+= -DCONFIG_DELAYED_MIC_ERROR_REPORT
1275 L_CFLAGS
+= -DCONFIG_FIPS
1278 OBJS
+= $(SHA1OBJS
) $(DESOBJS
)
1280 OBJS_p
+= $(SHA1OBJS
)
1282 ifdef CONFIG_BGSCAN_SIMPLE
1283 L_CFLAGS
+= -DCONFIG_BGSCAN_SIMPLE
1284 OBJS
+= bgscan_simple.c
1288 ifdef CONFIG_BGSCAN_LEARN
1289 L_CFLAGS
+= -DCONFIG_BGSCAN_LEARN
1290 OBJS
+= bgscan_learn.c
1295 L_CFLAGS
+= -DCONFIG_BGSCAN
1299 OBJS_wpa_rm
:= ctrl_iface.c mlme.c ctrl_iface_unix.c
1300 OBJS_wpa
:= $(filter-out $(OBJS_wpa_rm
),$(OBJS
)) $(OBJS_h
) tests
/test_wpa.c
1301 ifdef CONFIG_AUTHENTICATOR
1302 OBJS_wpa
+= tests
/link_test.c
1304 OBJS_wpa
+= $(OBJS_l2
)
1305 OBJS
+= wpa_supplicant.c events.c blacklist.c wpas_glue.c scan.c
1306 OBJS_t
:= $(OBJS
) $(OBJS_l2
) eapol_test.c
1307 OBJS_t
+= src
/radius
/radius_client.c
1308 OBJS_t
+= src
/radius
/radius.c
1310 OBJS_t
+= src
/utils
/ip_addr.c
1312 OBJS_t2
:= $(OBJS
) $(OBJS_l2
) preauth_test.c
1313 OBJS
+= $(CONFIG_MAIN
).c
1315 ifdef CONFIG_PRIVSEP
1316 OBJS_priv
+= $(OBJS_d
) src
/drivers
/drivers.c
1317 OBJS_priv
+= $(OBJS_l2
)
1318 OBJS_priv
+= src
/utils
/os_
$(CONFIG_OS
).c
1319 OBJS_priv
+= src
/utils
/$(CONFIG_ELOOP
).c
1320 OBJS_priv
+= src
/utils
/common.c
1321 OBJS_priv
+= src
/utils
/wpa_debug.c
1322 OBJS_priv
+= src
/utils
/wpabuf.c
1323 OBJS_priv
+= wpa_priv.c
1324 ifdef CONFIG_DRIVER_TEST
1325 OBJS_priv
+= $(SHA1OBJS
)
1326 OBJS_priv
+= $(MD5OBJS
)
1327 ifeq ($(CONFIG_TLS
), openssl
)
1328 OBJS_priv
+= src
/crypto
/crypto_openssl.c
1330 ifeq ($(CONFIG_TLS
), gnutls
)
1331 OBJS_priv
+= src
/crypto
/crypto_gnutls.c
1333 ifeq ($(CONFIG_TLS
), nss
)
1334 OBJS_priv
+= src
/crypto
/crypto_nss.c
1336 ifeq ($(CONFIG_TLS
), internal
)
1337 ifeq ($(CONFIG_CRYPTO
), libtomcrypt
)
1338 OBJS_priv
+= src
/crypto
/crypto_libtomcrypt.c
1340 OBJS_priv
+= src
/crypto
/crypto_internal.c
1343 endif # CONFIG_DRIVER_TEST
1344 OBJS
+= src
/l2_packet
/l2_packet_privsep.c
1345 OBJS
+= src
/drivers
/driver_privsep.c
1346 EXTRA_progs
+= wpa_priv
1348 OBJS
+= $(OBJS_d
) src
/drivers
/drivers.c
1352 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
1353 L_CFLAGS
+= -DCONFIG_NDIS_EVENTS_INTEGRATED
1354 OBJS
+= src
/drivers
/ndis_events.c
1355 EXTRALIBS
+= -loleaut32
-lole32
-luuid
1356 ifdef PLATFORMSDKLIB
1357 EXTRALIBS
+= $(PLATFORMSDKLIB
)/WbemUuid.Lib
1359 EXTRALIBS
+= WbemUuid.Lib
1367 ifeq ($(WPA_BUILD_SUPPLICANT
),true
)
1369 ########################
1371 include $(CLEAR_VARS
)
1372 LOCAL_MODULE
:= wpa_cli
1373 LOCAL_MODULE_TAGS
:= debug
1374 LOCAL_SHARED_LIBRARIES
:= libc libcutils
1375 LOCAL_CFLAGS
:= $(L_CFLAGS
)
1376 LOCAL_SRC_FILES
:= $(OBJS_c
)
1377 LOCAL_C_INCLUDES
:= $(INCLUDES
)
1378 include $(BUILD_EXECUTABLE
)
1380 ########################
1381 include $(CLEAR_VARS
)
1382 LOCAL_MODULE
:= wpa_supplicant
1383 ifdef CONFIG_DRIVER_CUSTOM
1384 LOCAL_STATIC_LIBRARIES
:= libCustomWifi
1386 ifneq ($(BOARD_WPA_SUPPLICANT_PRIVATE_LIB
),)
1387 LOCAL_STATIC_LIBRARIES
+= $(BOARD_WPA_SUPPLICANT_PRIVATE_LIB
)
1389 LOCAL_SHARED_LIBRARIES
:= libc libcutils libcrypto libssl
1390 ifdef CONFIG_DRIVER_NL80211
1391 LOCAL_SHARED_LIBRARIES
+= libnl_2
1393 LOCAL_CFLAGS
:= $(L_CFLAGS
)
1394 LOCAL_SRC_FILES
:= $(OBJS
)
1395 LOCAL_C_INCLUDES
:= $(INCLUDES
)
1396 include $(BUILD_EXECUTABLE
)
1398 ########################
1400 #include $(CLEAR_VARS)
1401 #LOCAL_MODULE := eapol_test
1402 #ifdef CONFIG_DRIVER_CUSTOM
1403 #LOCAL_STATIC_LIBRARIES := libCustomWifi
1405 #LOCAL_SHARED_LIBRARIES := libc libcrypto libssl
1406 #LOCAL_CFLAGS := $(L_CFLAGS)
1407 #LOCAL_SRC_FILES := $(OBJS_t)
1408 #LOCAL_C_INCLUDES := $(INCLUDES)
1409 #include $(BUILD_EXECUTABLE)
1411 ########################
1413 #local_target_dir := $(TARGET_OUT)/etc/wifi
1415 #include $(CLEAR_VARS)
1416 #LOCAL_MODULE := wpa_supplicant.conf
1417 #LOCAL_MODULE_TAGS := user
1418 #LOCAL_MODULE_CLASS := ETC
1419 #LOCAL_MODULE_PATH := $(local_target_dir)
1420 #LOCAL_SRC_FILES := $(LOCAL_MODULE)
1421 #include $(BUILD_PREBUILT)
1423 ########################
1425 endif # ifeq ($(WPA_BUILD_SUPPLICANT),true)
1427 include $(CLEAR_VARS
)
1428 LOCAL_MODULE
= libwpa_client
1429 LOCAL_CFLAGS
= $(L_CFLAGS
)
1430 LOCAL_SRC_FILES
= src
/common
/wpa_ctrl.c src
/utils
/os_
$(CONFIG_OS
).c
1431 LOCAL_C_INCLUDES
= $(INCLUDES
)
1432 LOCAL_SHARED_LIBRARIES
:= libcutils
1433 LOCAL_COPY_HEADERS_TO
:= libwpa_client
1434 LOCAL_COPY_HEADERS
:= src
/common
/wpa_ctrl.h
1435 include $(BUILD_SHARED_LIBRARY
)