1 # Copyright (C) 2008 The Android Open Source Project
3 # This software may be distributed under the terms of the BSD license.
4 # See README for more details.
7 LOCAL_PATH
:= $(call my-dir
)
9 WPA_BUILD_HOSTAPD
:= false
10 ifneq ($(BOARD_HOSTAPD_DRIVER
),)
11 WPA_BUILD_HOSTAPD
:= true
12 CONFIG_DRIVER_
$(BOARD_HOSTAPD_DRIVER
) := y
15 ifeq ($(WPA_BUILD_HOSTAPD
),true
)
17 include $(LOCAL_PATH
)/android.config
19 # To ignore possible wrong network configurations
20 L_CFLAGS
= -DWPA_IGNORE_CONFIG_ERRORS
22 L_CFLAGS
+= -DVERSION_STR_POSTFIX
=\"-$(PLATFORM_VERSION
)\"
24 # Set Android log name
25 L_CFLAGS
+= -DANDROID_LOG_NAME
=\"hostapd
\"
27 ifeq ($(BOARD_WLAN_DEVICE
), bcmdhd
)
28 L_CFLAGS
+= -DANDROID_P2P
31 ifeq ($(BOARD_WLAN_DEVICE
), qcwcn
)
32 L_CFLAGS
+= -DANDROID_P2P
35 ifeq ($(BOARD_WLAN_DEVICE
), mrvl
)
36 L_CFLAGS
+= -DANDROID_P2P
39 # Use Android specific directory for control interface sockets
40 L_CFLAGS
+= -DCONFIG_CTRL_IFACE_CLIENT_DIR
=\"/data
/misc
/wifi
/sockets
\"
41 L_CFLAGS
+= -DCONFIG_CTRL_IFACE_DIR
=\"/data
/system
/hostapd
\"
43 # To force sizeof(enum) = 4
44 ifeq ($(TARGET_ARCH
),arm
)
45 L_CFLAGS
+= -mabi
=aapcs-linux
48 # OpenSSL is configured without engines on Android
49 L_CFLAGS
+= -DOPENSSL_NO_ENGINE
51 INCLUDES
= $(LOCAL_PATH
)
52 INCLUDES
+= $(LOCAL_PATH
)/src
53 INCLUDES
+= $(LOCAL_PATH
)/src
/utils
54 INCLUDES
+= external
/openssl
/include
55 # frameworks/base/cmds/keystore is the old location and can be dropped at some
57 INCLUDES
+= frameworks
/base
/cmds
/keystore
58 INCLUDES
+= system
/security
/keystore
59 ifdef CONFIG_DRIVER_NL80211
60 INCLUDES
+= external
/libnl-headers
65 ifdef CONFIG_NATIVE_WINDOWS
72 ifeq ($(CONFIG_OS
), internal
)
73 L_CFLAGS
+= -DOS_NO_C_LIB_DEFINES
76 ifdef CONFIG_NATIVE_WINDOWS
77 L_CFLAGS
+= -DCONFIG_NATIVE_WINDOWS
84 OBJS
+= src
/ap
/hostapd.c
85 OBJS
+= src
/ap
/wpa_auth_glue.c
86 OBJS
+= src
/ap
/drv_callbacks.c
87 OBJS
+= src
/ap
/ap_drv_ops.c
88 OBJS
+= src
/ap
/utils.c
89 OBJS
+= src
/ap
/authsrv.c
90 OBJS
+= src
/ap
/ieee802_1x.c
91 OBJS
+= src
/ap
/ap_config.c
92 OBJS
+= src
/ap
/eap_user_db.c
93 OBJS
+= src
/ap
/ieee802_11_auth.c
94 OBJS
+= src
/ap
/sta_info.c
95 OBJS
+= src
/ap
/wpa_auth.c
96 OBJS
+= src
/ap
/tkip_countermeasures.c
97 OBJS
+= src
/ap
/ap_mlme.c
98 OBJS
+= src
/ap
/wpa_auth_ie.c
99 OBJS
+= src
/ap
/preauth_auth.c
100 OBJS
+= src
/ap
/pmksa_cache_auth.c
101 OBJS
+= src
/ap
/ieee802_11_shared.c
102 OBJS
+= src
/ap
/beacon.c
115 OBJS
+= src
/drivers
/drivers.c
116 L_CFLAGS
+= -DHOSTAPD
118 ifdef CONFIG_WPA_TRACE
119 L_CFLAGS
+= -DWPA_TRACE
120 OBJS
+= src
/utils
/trace.c
121 HOBJS
+= src
/utils
/trace.c
123 L_CFLAGS
+= -funwind-tables
124 ifdef CONFIG_WPA_TRACE_BFD
125 L_CFLAGS
+= -DWPA_TRACE_BFD
132 OBJS
+= src
/utils
/eloop.c
133 OBJS
+= src
/utils
/common.c
134 OBJS
+= src
/utils
/wpa_debug.c
135 OBJS
+= src
/utils
/wpabuf.c
136 OBJS
+= src
/utils
/os_
$(CONFIG_OS
).c
137 OBJS
+= src
/utils
/ip_addr.c
139 OBJS
+= src
/common
/ieee802_11_common.c
140 OBJS
+= src
/common
/wpa_common.c
142 OBJS
+= src
/eapol_auth
/eapol_auth_sm.c
145 ifndef CONFIG_NO_DUMP_STATE
146 # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to
147 # a file (undefine it, if you want to save in binary size)
148 L_CFLAGS
+= -DHOSTAPD_DUMP_STATE
150 OBJS
+= src
/eapol_auth
/eapol_auth_dump.c
153 ifdef CONFIG_NO_RADIUS
154 L_CFLAGS
+= -DCONFIG_NO_RADIUS
155 CONFIG_NO_ACCOUNTING
=y
157 OBJS
+= src
/radius
/radius.c
158 OBJS
+= src
/radius
/radius_client.c
159 OBJS
+= src
/radius
/radius_das.c
162 ifdef CONFIG_NO_ACCOUNTING
163 L_CFLAGS
+= -DCONFIG_NO_ACCOUNTING
165 OBJS
+= src
/ap
/accounting.c
169 L_CFLAGS
+= -DCONFIG_NO_VLAN
171 OBJS
+= src
/ap
/vlan_init.c
172 ifdef CONFIG_VLAN_NETLINK
173 ifdef CONFIG_FULL_DYNAMIC_VLAN
174 OBJS
+= src
/ap
/vlan_util.c
176 L_CFLAGS
+= -DCONFIG_VLAN_NETLINK
180 ifdef CONFIG_NO_CTRL_IFACE
181 L_CFLAGS
+= -DCONFIG_NO_CTRL_IFACE
184 OBJS
+= src
/ap
/ctrl_iface_ap.c
187 OBJS
+= src
/crypto
/md5.c
189 L_CFLAGS
+= -DCONFIG_CTRL_IFACE
-DCONFIG_CTRL_IFACE_UNIX
192 L_CFLAGS
+= -DCONFIG_IAPP
193 OBJS
+= src
/ap
/iapp.c
196 ifdef CONFIG_RSN_PREAUTH
197 L_CFLAGS
+= -DCONFIG_RSN_PREAUTH
202 L_CFLAGS
+= -DCONFIG_PEERKEY
203 OBJS
+= src
/ap
/peerkey_auth.c
206 ifdef CONFIG_IEEE80211W
207 L_CFLAGS
+= -DCONFIG_IEEE80211W
212 ifdef CONFIG_IEEE80211R
213 L_CFLAGS
+= -DCONFIG_IEEE80211R
214 OBJS
+= src
/ap
/wpa_auth_ft.c
221 L_CFLAGS
+= -DCONFIG_SAE
222 OBJS
+= src
/common
/sae.c
228 L_CFLAGS
+= -DCONFIG_WNM
229 OBJS
+= src
/ap
/wnm_ap.c
232 ifdef CONFIG_IEEE80211N
233 L_CFLAGS
+= -DCONFIG_IEEE80211N
236 ifdef CONFIG_IEEE80211AC
237 L_CFLAGS
+= -DCONFIG_IEEE80211AC
240 include $(LOCAL_PATH
)/src
/drivers
/drivers.mk
242 OBJS
+= $(DRV_AP_OBJS
)
243 L_CFLAGS
+= $(DRV_AP_CFLAGS
)
244 LDFLAGS
+= $(DRV_AP_LDFLAGS
)
245 LIBS
+= $(DRV_AP_LIBS
)
247 ifdef CONFIG_L2_PACKET
248 ifdef CONFIG_DNET_PCAP
249 ifdef CONFIG_L2_FREEBSD
251 OBJS
+= src
/l2_packet
/l2_packet_freebsd.c
253 LIBS
+= -ldnet
-lpcap
254 OBJS
+= src
/l2_packet
/l2_packet_pcap.c
257 OBJS
+= src
/l2_packet
/l2_packet_linux.c
260 OBJS
+= src
/l2_packet
/l2_packet_none.c
265 L_CFLAGS
+= -DEAP_SERVER_MD5
266 OBJS
+= src
/eap_server
/eap_server_md5.c
271 L_CFLAGS
+= -DEAP_SERVER_TLS
272 OBJS
+= src
/eap_server
/eap_server_tls.c
276 ifdef CONFIG_EAP_UNAUTH_TLS
277 L_CFLAGS
+= -DEAP_SERVER_UNAUTH_TLS
278 ifndef CONFIG_EAP_TLS
279 OBJS
+= src
/eap_server
/eap_server_tls.c
284 ifdef CONFIG_EAP_PEAP
285 L_CFLAGS
+= -DEAP_SERVER_PEAP
286 OBJS
+= src
/eap_server
/eap_server_peap.c
287 OBJS
+= src
/eap_common
/eap_peap_common.c
289 CONFIG_EAP_MSCHAPV2
=y
292 ifdef CONFIG_EAP_TTLS
293 L_CFLAGS
+= -DEAP_SERVER_TTLS
294 OBJS
+= src
/eap_server
/eap_server_ttls.c
299 ifdef CONFIG_EAP_MSCHAPV2
300 L_CFLAGS
+= -DEAP_SERVER_MSCHAPV2
301 OBJS
+= src
/eap_server
/eap_server_mschapv2.c
306 L_CFLAGS
+= -DEAP_SERVER_GTC
307 OBJS
+= src
/eap_server
/eap_server_gtc.c
311 L_CFLAGS
+= -DEAP_SERVER_SIM
312 OBJS
+= src
/eap_server
/eap_server_sim.c
313 CONFIG_EAP_SIM_COMMON
=y
318 L_CFLAGS
+= -DEAP_SERVER_AKA
319 OBJS
+= src
/eap_server
/eap_server_aka.c
320 CONFIG_EAP_SIM_COMMON
=y
325 ifdef CONFIG_EAP_AKA_PRIME
326 L_CFLAGS
+= -DEAP_SERVER_AKA_PRIME
329 ifdef CONFIG_EAP_SIM_COMMON
330 OBJS
+= src
/eap_common
/eap_sim_common.c
331 # Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
332 # replaced with another file implementating the interface specified in
334 OBJS
+= src
/eap_server
/eap_sim_db.c
339 L_CFLAGS
+= -DEAP_SERVER_PAX
340 OBJS
+= src
/eap_server
/eap_server_pax.c src
/eap_common
/eap_pax_common.c
344 L_CFLAGS
+= -DEAP_SERVER_PSK
345 OBJS
+= src
/eap_server
/eap_server_psk.c src
/eap_common
/eap_psk_common.c
351 ifdef CONFIG_EAP_SAKE
352 L_CFLAGS
+= -DEAP_SERVER_SAKE
353 OBJS
+= src
/eap_server
/eap_server_sake.c src
/eap_common
/eap_sake_common.c
356 ifdef CONFIG_EAP_GPSK
357 L_CFLAGS
+= -DEAP_SERVER_GPSK
358 OBJS
+= src
/eap_server
/eap_server_gpsk.c src
/eap_common
/eap_gpsk_common.c
359 ifdef CONFIG_EAP_GPSK_SHA256
360 L_CFLAGS
+= -DEAP_SERVER_GPSK_SHA256
367 L_CFLAGS
+= -DEAP_SERVER_PWD
368 OBJS
+= src
/eap_server
/eap_server_pwd.c src
/eap_common
/eap_pwd_common.c
373 L_CFLAGS
+= -DEAP_SERVER_EKE
374 OBJS
+= src
/eap_server
/eap_server_eke.c src
/eap_common
/eap_eke_common.c
379 ifdef CONFIG_EAP_VENDOR_TEST
380 L_CFLAGS
+= -DEAP_SERVER_VENDOR_TEST
381 OBJS
+= src
/eap_server
/eap_server_vendor_test.c
384 ifdef CONFIG_EAP_FAST
385 L_CFLAGS
+= -DEAP_SERVER_FAST
386 OBJS
+= src
/eap_server
/eap_server_fast.c
387 OBJS
+= src
/eap_common
/eap_fast_common.c
395 L_CFLAGS
+= -DCONFIG_WPS2
398 L_CFLAGS
+= -DCONFIG_WPS
-DEAP_SERVER_WSC
399 OBJS
+= src
/utils
/uuid.c
400 OBJS
+= src
/ap
/wps_hostapd.c
401 OBJS
+= src
/eap_server
/eap_server_wsc.c src
/eap_common
/eap_wsc_common.c
402 OBJS
+= src
/wps
/wps.c
403 OBJS
+= src
/wps
/wps_common.c
404 OBJS
+= src
/wps
/wps_attr_parse.c
405 OBJS
+= src
/wps
/wps_attr_build.c
406 OBJS
+= src
/wps
/wps_attr_process.c
407 OBJS
+= src
/wps
/wps_dev_attr.c
408 OBJS
+= src
/wps
/wps_enrollee.c
409 OBJS
+= src
/wps
/wps_registrar.c
418 L_CFLAGS
+= -DCONFIG_WPS_NFC
419 OBJS
+= src
/wps
/ndef.c
424 L_CFLAGS
+= -DCONFIG_WPS_OOB
427 ifdef CONFIG_WPS_UPNP
428 L_CFLAGS
+= -DCONFIG_WPS_UPNP
429 OBJS
+= src
/wps
/wps_upnp.c
430 OBJS
+= src
/wps
/wps_upnp_ssdp.c
431 OBJS
+= src
/wps
/wps_upnp_web.c
432 OBJS
+= src
/wps
/wps_upnp_event.c
433 OBJS
+= src
/wps
/wps_upnp_ap.c
434 OBJS
+= src
/wps
/upnp_xml.c
435 OBJS
+= src
/wps
/httpread.c
436 OBJS
+= src
/wps
/http_client.c
437 OBJS
+= src
/wps
/http_server.c
440 ifdef CONFIG_WPS_STRICT
441 L_CFLAGS
+= -DCONFIG_WPS_STRICT
442 OBJS
+= src
/wps
/wps_validate.c
445 ifdef CONFIG_WPS_TESTING
446 L_CFLAGS
+= -DCONFIG_WPS_TESTING
451 ifdef CONFIG_EAP_IKEV2
452 L_CFLAGS
+= -DEAP_SERVER_IKEV2
453 OBJS
+= src
/eap_server
/eap_server_ikev2.c src
/eap_server
/ikev2.c
454 OBJS
+= src
/eap_common
/eap_ikev2_common.c src
/eap_common
/ikev2_common.c
462 L_CFLAGS
+= -DEAP_SERVER_TNC
463 OBJS
+= src
/eap_server
/eap_server_tnc.c
464 OBJS
+= src
/eap_server
/tncs.c
466 ifndef CONFIG_DRIVER_BSD
471 # Basic EAP functionality is needed for EAPOL
472 OBJS
+= eap_register.c
473 OBJS
+= src
/eap_server
/eap_server.c
474 OBJS
+= src
/eap_common
/eap_common.c
475 OBJS
+= src
/eap_server
/eap_server_methods.c
476 OBJS
+= src
/eap_server
/eap_server_identity.c
477 L_CFLAGS
+= -DEAP_SERVER_IDENTITY
480 L_CFLAGS
+= -DEAP_SERVER
484 L_CFLAGS
+= -DPKCS12_FUNCS
488 OBJS
+= src
/crypto
/ms_funcs.c
494 OBJS
+= src
/eap_common
/chap.c
499 # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
500 L_CFLAGS
+= -DEAP_TLS_FUNCS
501 OBJS
+= src
/eap_server
/eap_server_tls_common.c
510 L_CFLAGS
+= -DCONFIG_TLSV11
514 L_CFLAGS
+= -DCONFIG_TLSV12
518 ifeq ($(CONFIG_TLS
), openssl
)
520 OBJS
+= src
/crypto
/tls_openssl.c
523 OBJS
+= src
/crypto
/crypto_openssl.c
524 HOBJS
+= src
/crypto
/crypto_openssl.c
525 ifdef NEED_FIPS186_2_PRF
526 OBJS
+= src
/crypto
/fips_prf_openssl.c
532 ifeq ($(CONFIG_TLS
), gnutls
)
534 OBJS
+= src
/crypto
/tls_gnutls.c
535 LIBS
+= -lgnutls
-lgpg-error
536 ifdef CONFIG_GNUTLS_EXTRA
537 L_CFLAGS
+= -DCONFIG_GNUTLS_EXTRA
538 LIBS
+= -lgnutls-extra
541 OBJS
+= src
/crypto
/crypto_gnutls.c
542 HOBJS
+= src
/crypto
/crypto_gnutls.c
543 ifdef NEED_FIPS186_2_PRF
544 OBJS
+= src
/crypto
/fips_prf_gnutls.c
548 CONFIG_INTERNAL_SHA256
=y
549 CONFIG_INTERNAL_RC4
=y
550 CONFIG_INTERNAL_DH_GROUP5
=y
553 ifeq ($(CONFIG_TLS
), schannel
)
555 OBJS
+= src
/crypto
/tls_schannel.c
557 OBJS
+= src
/crypto
/crypto_cryptoapi.c
558 OBJS_p
+= src
/crypto
/crypto_cryptoapi.c
559 CONFIG_INTERNAL_SHA256
=y
560 CONFIG_INTERNAL_RC4
=y
561 CONFIG_INTERNAL_DH_GROUP5
=y
564 ifeq ($(CONFIG_TLS
), nss
)
566 OBJS
+= src
/crypto
/tls_nss.c
569 OBJS
+= src
/crypto
/crypto_nss.c
570 ifdef NEED_FIPS186_2_PRF
571 OBJS
+= src
/crypto
/fips_prf_nss.c
575 CONFIG_INTERNAL_MD4
=y
576 CONFIG_INTERNAL_DH_GROUP5
=y
579 ifeq ($(CONFIG_TLS
), internal
)
581 CONFIG_CRYPTO
=internal
584 OBJS
+= src
/crypto
/crypto_internal-rsa.c
585 OBJS
+= src
/crypto
/tls_internal.c
586 OBJS
+= src
/tls
/tlsv1_common.c
587 OBJS
+= src
/tls
/tlsv1_record.c
588 OBJS
+= src
/tls
/tlsv1_cred.c
589 OBJS
+= src
/tls
/tlsv1_server.c
590 OBJS
+= src
/tls
/tlsv1_server_write.c
591 OBJS
+= src
/tls
/tlsv1_server_read.c
592 OBJS
+= src
/tls
/asn1.c
593 OBJS
+= src
/tls
/rsa.c
594 OBJS
+= src
/tls
/x509v3.c
595 OBJS
+= src
/tls
/pkcs1.c
596 OBJS
+= src
/tls
/pkcs5.c
597 OBJS
+= src
/tls
/pkcs8.c
602 NEED_TLS_PRF_SHA256
=y
606 L_CFLAGS
+= -DCONFIG_TLS_INTERNAL
607 L_CFLAGS
+= -DCONFIG_TLS_INTERNAL_SERVER
611 OBJS
+= src
/crypto
/crypto_internal-cipher.c
614 OBJS
+= src
/crypto
/crypto_internal-modexp.c
615 OBJS
+= src
/tls
/bignum.c
617 ifeq ($(CONFIG_CRYPTO
), libtomcrypt
)
618 OBJS
+= src
/crypto
/crypto_libtomcrypt.c
619 LIBS
+= -ltomcrypt
-ltfm
620 LIBS_h
+= -ltomcrypt
-ltfm
621 CONFIG_INTERNAL_SHA256
=y
622 CONFIG_INTERNAL_RC4
=y
623 CONFIG_INTERNAL_DH_GROUP5
=y
625 ifeq ($(CONFIG_CRYPTO
), internal
)
626 OBJS
+= src
/crypto
/crypto_internal.c
628 L_CFLAGS
+= -DCONFIG_CRYPTO_INTERNAL
629 ifdef CONFIG_INTERNAL_LIBTOMMATH
630 L_CFLAGS
+= -DCONFIG_INTERNAL_LIBTOMMATH
631 ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
632 L_CFLAGS
+= -DLTM_FAST
638 CONFIG_INTERNAL_AES
=y
639 CONFIG_INTERNAL_DES
=y
640 CONFIG_INTERNAL_SHA1
=y
641 CONFIG_INTERNAL_MD4
=y
642 CONFIG_INTERNAL_MD5
=y
643 CONFIG_INTERNAL_SHA256
=y
644 CONFIG_INTERNAL_RC4
=y
645 CONFIG_INTERNAL_DH_GROUP5
=y
647 ifeq ($(CONFIG_CRYPTO
), cryptoapi
)
648 OBJS
+= src
/crypto
/crypto_cryptoapi.c
649 OBJS_p
+= src
/crypto
/crypto_cryptoapi.c
650 L_CFLAGS
+= -DCONFIG_CRYPTO_CRYPTOAPI
651 CONFIG_INTERNAL_SHA256
=y
652 CONFIG_INTERNAL_RC4
=y
656 ifeq ($(CONFIG_TLS
), none
)
658 OBJS
+= src
/crypto
/tls_none.c
659 L_CFLAGS
+= -DEAP_TLS_NONE
660 CONFIG_INTERNAL_AES
=y
661 CONFIG_INTERNAL_SHA1
=y
662 CONFIG_INTERNAL_MD5
=y
664 OBJS
+= src
/crypto
/crypto_none.c
665 OBJS_p
+= src
/crypto
/crypto_none.c
666 CONFIG_INTERNAL_SHA256
=y
667 CONFIG_INTERNAL_RC4
=y
671 OBJS
+= src
/crypto
/tls_none.c
672 ifeq ($(CONFIG_TLS
), internal
)
673 CONFIG_INTERNAL_AES
=y
674 CONFIG_INTERNAL_SHA1
=y
675 CONFIG_INTERNAL_MD5
=y
676 CONFIG_INTERNAL_RC4
=y
680 AESOBJS
= # none so far
681 ifdef CONFIG_INTERNAL_AES
682 AESOBJS
+= src
/crypto
/aes-internal.c src
/crypto
/aes-internal-enc.c
685 AESOBJS
+= src
/crypto
/aes-wrap.c
687 AESOBJS
+= src
/crypto
/aes-eax.c
691 AESOBJS
+= src
/crypto
/aes-ctr.c
693 ifdef NEED_AES_ENCBLOCK
694 AESOBJS
+= src
/crypto
/aes-encblock.c
697 AESOBJS
+= src
/crypto
/aes-omac1.c
699 ifdef NEED_AES_UNWRAP
701 AESOBJS
+= src
/crypto
/aes-unwrap.c
705 AESOBJS
+= src
/crypto
/aes-cbc.c
708 ifdef CONFIG_INTERNAL_AES
709 AESOBJS
+= src
/crypto
/aes-internal-dec.c
718 ifneq ($(CONFIG_TLS
), openssl
)
719 SHA1OBJS
+= src
/crypto
/sha1.c
721 SHA1OBJS
+= src
/crypto
/sha1-prf.c
722 ifdef CONFIG_INTERNAL_SHA1
723 SHA1OBJS
+= src
/crypto
/sha1-internal.c
724 ifdef NEED_FIPS186_2_PRF
725 SHA1OBJS
+= src
/crypto
/fips_prf_internal.c
728 ifneq ($(CONFIG_TLS
), openssl
)
729 SHA1OBJS
+= src
/crypto
/sha1-pbkdf2.c
732 SHA1OBJS
+= src
/crypto
/sha1-tprf.c
735 SHA1OBJS
+= src
/crypto
/sha1-tlsprf.c
744 ifdef CONFIG_INTERNAL_MD5
745 OBJS
+= src
/crypto
/md5-internal.c
746 HOBJS
+= src
/crypto
/md5-internal.c
751 ifdef CONFIG_INTERNAL_MD4
752 OBJS
+= src
/crypto
/md4-internal.c
757 ifdef CONFIG_INTERNAL_DES
758 OBJS
+= src
/crypto
/des-internal.c
763 ifdef CONFIG_INTERNAL_RC4
764 OBJS
+= src
/crypto
/rc4.c
769 L_CFLAGS
+= -DCONFIG_SHA256
770 ifneq ($(CONFIG_TLS
), openssl
)
771 OBJS
+= src
/crypto
/sha256.c
773 OBJS
+= src
/crypto
/sha256-prf.c
774 ifdef CONFIG_INTERNAL_SHA256
775 OBJS
+= src
/crypto
/sha256-internal.c
777 ifdef NEED_TLS_PRF_SHA256
778 OBJS
+= src
/crypto
/sha256-tlsprf.c
783 OBJS
+= src
/crypto
/dh_groups.c
785 ifdef NEED_DH_GROUPS_ALL
786 L_CFLAGS
+= -DALL_DH_GROUPS
788 ifdef CONFIG_INTERNAL_DH_GROUP5
790 OBJS
+= src
/crypto
/dh_group5.c
795 L_CFLAGS
+= -DCONFIG_ECC
798 ifdef CONFIG_NO_RANDOM_POOL
799 L_CFLAGS
+= -DCONFIG_NO_RANDOM_POOL
801 OBJS
+= src
/crypto
/random.c
802 HOBJS
+= src
/crypto
/random.c
803 HOBJS
+= src
/utils
/eloop.c
805 HOBJS
+= src
/crypto
/md5.c
808 ifdef CONFIG_RADIUS_SERVER
809 L_CFLAGS
+= -DRADIUS_SERVER
810 OBJS
+= src
/radius
/radius_server.c
814 L_CFLAGS
+= -DCONFIG_IPV6
817 ifdef CONFIG_DRIVER_RADIUS_ACL
818 L_CFLAGS
+= -DCONFIG_DRIVER_RADIUS_ACL
821 ifdef CONFIG_FULL_DYNAMIC_VLAN
822 # define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
823 # and vlan interfaces for the vlan feature.
824 L_CFLAGS
+= -DCONFIG_FULL_DYNAMIC_VLAN
828 OBJS
+= src
/utils
/base64.c
833 OBJS
+= src
/ap
/ap_list.c
834 OBJS
+= src
/ap
/ieee802_11.c
835 OBJS
+= src
/ap
/hw_features.c
837 L_CFLAGS
+= -DNEED_AP_MLME
839 ifdef CONFIG_IEEE80211N
840 OBJS
+= src
/ap
/ieee802_11_ht.c
843 ifdef CONFIG_IEEE80211AC
844 OBJS
+= src
/ap
/ieee802_11_vht.c
847 ifdef CONFIG_P2P_MANAGER
848 L_CFLAGS
+= -DCONFIG_P2P_MANAGER
849 OBJS
+= src
/ap
/p2p_hostapd.c
853 L_CFLAGS
+= -DCONFIG_HS20
854 OBJS
+= src
/ap
/hs20.c
855 CONFIG_INTERWORKING
=y
858 ifdef CONFIG_INTERWORKING
859 L_CFLAGS
+= -DCONFIG_INTERWORKING
860 OBJS
+= src
/common
/gas.c
861 OBJS
+= src
/ap
/gas_serv.c
864 OBJS
+= src
/drivers
/driver_common.c
866 ifdef CONFIG_NO_STDOUT_DEBUG
867 L_CFLAGS
+= -DCONFIG_NO_STDOUT_DEBUG
870 ifdef CONFIG_DEBUG_FILE
871 L_CFLAGS
+= -DCONFIG_DEBUG_FILE
874 ifdef CONFIG_ANDROID_LOG
875 L_CFLAGS
+= -DCONFIG_ANDROID_LOG
878 OBJS_c
= hostapd_cli.c src
/common
/wpa_ctrl.c src
/utils
/os_
$(CONFIG_OS
).c
879 OBJS_c
+= src
/utils
/eloop.c
880 ifdef CONFIG_WPA_TRACE
881 OBJS_c
+= src
/utils
/trace.c
883 OBJS_c
+= src
/utils
/wpa_debug.c
884 ifdef CONFIG_WPA_CLI_EDIT
885 OBJS_c
+= src
/utils
/edit.c
887 OBJS_c
+= src
/utils
/edit_simple.c
890 ########################
892 include $(CLEAR_VARS
)
893 LOCAL_MODULE
:= hostapd_cli
894 LOCAL_MODULE_TAGS
:= debug
895 LOCAL_SHARED_LIBRARIES
:= libc libcutils
896 LOCAL_CFLAGS
:= $(L_CFLAGS
)
897 LOCAL_SRC_FILES
:= $(OBJS_c
)
898 LOCAL_C_INCLUDES
:= $(INCLUDES
)
899 include $(BUILD_EXECUTABLE
)
901 ########################
902 include $(CLEAR_VARS
)
903 LOCAL_MODULE
:= hostapd
904 LOCAL_MODULE_TAGS
:= optional
905 ifdef CONFIG_DRIVER_CUSTOM
906 LOCAL_STATIC_LIBRARIES
:= libCustomWifi
908 ifneq ($(BOARD_HOSTAPD_PRIVATE_LIB
),)
909 LOCAL_STATIC_LIBRARIES
+= $(BOARD_HOSTAPD_PRIVATE_LIB
)
911 LOCAL_SHARED_LIBRARIES
:= libc libcutils libcrypto libssl
912 ifdef CONFIG_DRIVER_NL80211
913 LOCAL_STATIC_LIBRARIES
+= libnl_2
915 LOCAL_CFLAGS
:= $(L_CFLAGS
)
916 LOCAL_SRC_FILES
:= $(OBJS
)
917 LOCAL_C_INCLUDES
:= $(INCLUDES
)
918 include $(BUILD_EXECUTABLE
)
920 endif # ifeq ($(WPA_BUILD_HOSTAPD),true)