Home | History | Annotate | Line # | Download | only in hostapd
Android.mk revision 1.1.1.7.8.1
      1 # Copyright (C) 2008 The Android Open Source Project
      2 #
      3 # This software may be distributed under the terms of the BSD license.
      4 # See README for more details.
      5 #
      6 
      7 LOCAL_PATH := $(call my-dir)
      8 
      9 WPA_BUILD_HOSTAPD := false
     10 ifneq ($(BOARD_HOSTAPD_DRIVER),)
     11   WPA_BUILD_HOSTAPD := true
     12   CONFIG_DRIVER_$(BOARD_HOSTAPD_DRIVER) := y
     13 endif
     14 
     15 ifeq ($(WPA_BUILD_HOSTAPD),true)
     16 
     17 include $(LOCAL_PATH)/android.config
     18 
     19 # To ignore possible wrong network configurations
     20 L_CFLAGS = -DWPA_IGNORE_CONFIG_ERRORS
     21 
     22 L_CFLAGS += -DVERSION_STR_POSTFIX=\"-$(PLATFORM_VERSION)\"
     23 
     24 # Set Android log name
     25 L_CFLAGS += -DANDROID_LOG_NAME=\"hostapd\"
     26 
     27 # Disable unused parameter warnings
     28 L_CFLAGS += -Wno-unused-parameter
     29 
     30 # Set Android extended P2P functionality
     31 L_CFLAGS += -DANDROID_P2P
     32 
     33 ifeq ($(BOARD_HOSTAPD_PRIVATE_LIB),)
     34 L_CFLAGS += -DANDROID_LIB_STUB
     35 endif
     36 
     37 ifneq ($(BOARD_HOSTAPD_PRIVATE_LIB_EVENT),)
     38 L_CFLAGS += -DANDROID_LIB_EVENT
     39 endif
     40 
     41 # Use Android specific directory for control interface sockets
     42 L_CFLAGS += -DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/misc/wifi/sockets\"
     43 L_CFLAGS += -DCONFIG_CTRL_IFACE_DIR=\"/data/system/hostapd\"
     44 
     45 # Use Android specific directory for hostapd_cli command completion history
     46 L_CFLAGS += -DCONFIG_HOSTAPD_CLI_HISTORY_DIR=\"/data/misc/wifi\"
     47 
     48 # To force sizeof(enum) = 4
     49 ifeq ($(TARGET_ARCH),arm)
     50 L_CFLAGS += -mabi=aapcs-linux
     51 endif
     52 
     53 INCLUDES = $(LOCAL_PATH)
     54 INCLUDES += $(LOCAL_PATH)/src
     55 INCLUDES += $(LOCAL_PATH)/src/utils
     56 INCLUDES += system/security/keystore/include
     57 ifdef CONFIG_DRIVER_NL80211
     58 ifneq ($(wildcard external/libnl),)
     59 INCLUDES += external/libnl/include
     60 else
     61 INCLUDES += external/libnl-headers
     62 endif
     63 endif
     64 
     65 
     66 ifndef CONFIG_OS
     67 ifdef CONFIG_NATIVE_WINDOWS
     68 CONFIG_OS=win32
     69 else
     70 CONFIG_OS=unix
     71 endif
     72 endif
     73 
     74 ifeq ($(CONFIG_OS), internal)
     75 L_CFLAGS += -DOS_NO_C_LIB_DEFINES
     76 endif
     77 
     78 ifdef CONFIG_NATIVE_WINDOWS
     79 L_CFLAGS += -DCONFIG_NATIVE_WINDOWS
     80 LIBS += -lws2_32
     81 endif
     82 
     83 OBJS = main.c
     84 OBJS += config_file.c
     85 
     86 OBJS += src/ap/hostapd.c
     87 OBJS += src/ap/wpa_auth_glue.c
     88 OBJS += src/ap/drv_callbacks.c
     89 OBJS += src/ap/ap_drv_ops.c
     90 OBJS += src/ap/utils.c
     91 OBJS += src/ap/authsrv.c
     92 OBJS += src/ap/ieee802_1x.c
     93 OBJS += src/ap/ap_config.c
     94 OBJS += src/ap/eap_user_db.c
     95 OBJS += src/ap/ieee802_11_auth.c
     96 OBJS += src/ap/sta_info.c
     97 OBJS += src/ap/wpa_auth.c
     98 OBJS += src/ap/tkip_countermeasures.c
     99 OBJS += src/ap/ap_mlme.c
    100 OBJS += src/ap/wpa_auth_ie.c
    101 OBJS += src/ap/preauth_auth.c
    102 OBJS += src/ap/pmksa_cache_auth.c
    103 OBJS += src/ap/ieee802_11_shared.c
    104 OBJS += src/ap/beacon.c
    105 OBJS += src/ap/bss_load.c
    106 OBJS += src/ap/neighbor_db.c
    107 OBJS += src/ap/rrm.c
    108 OBJS_d =
    109 OBJS_p =
    110 LIBS =
    111 LIBS_c =
    112 HOBJS =
    113 LIBS_h =
    114 
    115 NEED_RC4=y
    116 NEED_AES=y
    117 NEED_MD5=y
    118 NEED_SHA1=y
    119 
    120 OBJS += src/drivers/drivers.c
    121 L_CFLAGS += -DHOSTAPD
    122 
    123 ifdef CONFIG_WPA_TRACE
    124 L_CFLAGS += -DWPA_TRACE
    125 OBJS += src/utils/trace.c
    126 HOBJS += src/utils/trace.c
    127 LDFLAGS += -rdynamic
    128 L_CFLAGS += -funwind-tables
    129 ifdef CONFIG_WPA_TRACE_BFD
    130 L_CFLAGS += -DWPA_TRACE_BFD
    131 LIBS += -lbfd
    132 LIBS_c += -lbfd
    133 LIBS_h += -lbfd
    134 endif
    135 endif
    136 
    137 OBJS += src/utils/eloop.c
    138 
    139 ifdef CONFIG_ELOOP_POLL
    140 L_CFLAGS += -DCONFIG_ELOOP_POLL
    141 endif
    142 
    143 ifdef CONFIG_ELOOP_EPOLL
    144 L_CFLAGS += -DCONFIG_ELOOP_EPOLL
    145 endif
    146 
    147 OBJS += src/utils/common.c
    148 OBJS += src/utils/wpa_debug.c
    149 OBJS += src/utils/wpabuf.c
    150 OBJS += src/utils/os_$(CONFIG_OS).c
    151 OBJS += src/utils/ip_addr.c
    152 OBJS += src/utils/crc32.c
    153 
    154 OBJS += src/common/ieee802_11_common.c
    155 OBJS += src/common/wpa_common.c
    156 OBJS += src/common/hw_features_common.c
    157 OBJS += src/common/ptksa_cache.c
    158 
    159 OBJS += src/eapol_auth/eapol_auth_sm.c
    160 
    161 
    162 ifndef CONFIG_NO_DUMP_STATE
    163 # define HOSTAPD_DUMP_STATE to include support for dumping internal state
    164 # through control interface commands (undefine it, if you want to save in
    165 # binary size)
    166 L_CFLAGS += -DHOSTAPD_DUMP_STATE
    167 OBJS += src/eapol_auth/eapol_auth_dump.c
    168 endif
    169 
    170 ifdef CONFIG_NO_RADIUS
    171 L_CFLAGS += -DCONFIG_NO_RADIUS
    172 CONFIG_NO_ACCOUNTING=y
    173 else
    174 OBJS += src/radius/radius.c
    175 OBJS += src/radius/radius_client.c
    176 OBJS += src/radius/radius_das.c
    177 endif
    178 
    179 ifdef CONFIG_NO_ACCOUNTING
    180 L_CFLAGS += -DCONFIG_NO_ACCOUNTING
    181 else
    182 OBJS += src/ap/accounting.c
    183 endif
    184 
    185 ifdef CONFIG_NO_VLAN
    186 L_CFLAGS += -DCONFIG_NO_VLAN
    187 else
    188 OBJS += src/ap/vlan_init.c
    189 OBJS += src/ap/vlan_ifconfig.c
    190 OBJS += src/ap/vlan.c
    191 ifdef CONFIG_FULL_DYNAMIC_VLAN
    192 # Define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
    193 # and VLAN interfaces for the VLAN feature.
    194 L_CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
    195 OBJS += src/ap/vlan_full.c
    196 ifdef CONFIG_VLAN_NETLINK
    197 OBJS += src/ap/vlan_util.c
    198 else
    199 OBJS += src/ap/vlan_ioctl.c
    200 endif
    201 endif
    202 endif
    203 
    204 ifdef CONFIG_NO_CTRL_IFACE
    205 L_CFLAGS += -DCONFIG_NO_CTRL_IFACE
    206 else
    207 OBJS += src/common/ctrl_iface_common.c
    208 OBJS += ctrl_iface.c
    209 OBJS += src/ap/ctrl_iface_ap.c
    210 endif
    211 
    212 L_CFLAGS += -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX
    213 
    214 ifdef CONFIG_RSN_PREAUTH
    215 L_CFLAGS += -DCONFIG_RSN_PREAUTH
    216 CONFIG_L2_PACKET=y
    217 endif
    218 
    219 ifdef CONFIG_HS20
    220 CONFIG_PROXYARP=y
    221 endif
    222 
    223 ifdef CONFIG_PROXYARP
    224 CONFIG_L2_PACKET=y
    225 endif
    226 
    227 ifdef CONFIG_SUITEB
    228 L_CFLAGS += -DCONFIG_SUITEB
    229 endif
    230 
    231 ifdef CONFIG_SUITEB192
    232 L_CFLAGS += -DCONFIG_SUITEB192
    233 NEED_SHA384=y
    234 endif
    235 
    236 ifdef CONFIG_OCV
    237 L_CFLAGS += -DCONFIG_OCV
    238 OBJS += src/common/ocv.c
    239 endif
    240 
    241 NEED_AES_UNWRAP=y
    242 
    243 ifdef CONFIG_IEEE80211R
    244 L_CFLAGS += -DCONFIG_IEEE80211R -DCONFIG_IEEE80211R_AP
    245 OBJS += src/ap/wpa_auth_ft.c
    246 NEED_AES_UNWRAP=y
    247 NEED_AES_SIV=y
    248 NEED_ETH_P_OUI=y
    249 NEED_HMAC_SHA256_KDF=y
    250 endif
    251 
    252 ifdef NEED_ETH_P_OUI
    253 L_CFLAGS += -DCONFIG_ETH_P_OUI
    254 OBJS += src/ap/eth_p_oui.c
    255 endif
    256 
    257 ifdef CONFIG_SAE
    258 L_CFLAGS += -DCONFIG_SAE
    259 OBJS += src/common/sae.c
    260 ifdef CONFIG_SAE_PK
    261 L_CFLAGS += -DCONFIG_SAE_PK
    262 NEED_AES_SIV=y
    263 OBJS += src/common/sae_pk.c
    264 endif
    265 NEED_ECC=y
    266 NEED_DH_GROUPS=y
    267 NEED_HMAC_SHA256_KDF=y
    268 NEED_DRAGONFLY=y
    269 endif
    270 
    271 ifdef CONFIG_OWE
    272 L_CFLAGS += -DCONFIG_OWE
    273 NEED_ECC=y
    274 NEED_HMAC_SHA256_KDF=y
    275 NEED_HMAC_SHA384_KDF=y
    276 NEED_HMAC_SHA512_KDF=y
    277 NEED_SHA384=y
    278 NEED_SHA512=y
    279 endif
    280 
    281 ifdef CONFIG_FILS
    282 L_CFLAGS += -DCONFIG_FILS
    283 OBJS += src/ap/fils_hlp.c
    284 NEED_SHA384=y
    285 NEED_AES_SIV=y
    286 ifdef CONFIG_FILS_SK_PFS
    287 L_CFLAGS += -DCONFIG_FILS_SK_PFS
    288 NEED_ECC=y
    289 endif
    290 endif
    291 
    292 ifdef CONFIG_WNM
    293 L_CFLAGS += -DCONFIG_WNM -DCONFIG_WNM_AP
    294 OBJS += src/ap/wnm_ap.c
    295 endif
    296 
    297 ifdef CONFIG_IEEE80211AC
    298 L_CFLAGS += -DCONFIG_IEEE80211AC
    299 endif
    300 
    301 ifdef CONFIG_IEEE80211BE
    302 CONFIG_IEEE80211AX=y
    303 L_CFLAGS += -DCONFIG_IEEE80211BE
    304 OBJS += src/ap/ieee802_11_eht.c
    305 endif
    306 
    307 ifdef CONFIG_IEEE80211AX
    308 L_CFLAGS += -DCONFIG_IEEE80211AX
    309 endif
    310 
    311 ifdef CONFIG_MBO
    312 L_CFLAGS += -DCONFIG_MBO
    313 OBJS += src/ap/mbo_ap.c
    314 endif
    315 
    316 ifdef CONFIG_FST
    317 L_CFLAGS += -DCONFIG_FST
    318 OBJS += src/fst/fst.c
    319 OBJS += src/fst/fst_group.c
    320 OBJS += src/fst/fst_iface.c
    321 OBJS += src/fst/fst_session.c
    322 OBJS += src/fst/fst_ctrl_aux.c
    323 ifdef CONFIG_FST_TEST
    324 L_CFLAGS += -DCONFIG_FST_TEST
    325 endif
    326 ifndef CONFIG_NO_CTRL_IFACE
    327 OBJS += src/fst/fst_ctrl_iface.c
    328 endif
    329 endif
    330 
    331 ifdef CONFIG_WEP
    332 L_CFLAGS += -DCONFIG_WEP
    333 endif
    334 
    335 ifdef CONFIG_NO_TKIP
    336 L_CFLAGS += -DCONFIG_NO_TKIP
    337 endif
    338 
    339 
    340 include $(LOCAL_PATH)/src/drivers/drivers.mk
    341 
    342 OBJS += $(DRV_AP_OBJS)
    343 L_CFLAGS += $(DRV_AP_CFLAGS)
    344 LDFLAGS += $(DRV_AP_LDFLAGS)
    345 LIBS += $(DRV_AP_LIBS)
    346 
    347 ifdef CONFIG_L2_PACKET
    348 ifdef CONFIG_DNET_PCAP
    349 ifdef CONFIG_L2_FREEBSD
    350 LIBS += -lpcap
    351 OBJS += src/l2_packet/l2_packet_freebsd.c
    352 else
    353 LIBS += -ldnet -lpcap
    354 OBJS += src/l2_packet/l2_packet_pcap.c
    355 endif
    356 else
    357 OBJS += src/l2_packet/l2_packet_linux.c
    358 endif
    359 else
    360 OBJS += src/l2_packet/l2_packet_none.c
    361 endif
    362 
    363 
    364 ifdef CONFIG_EAP_MD5
    365 L_CFLAGS += -DEAP_SERVER_MD5
    366 OBJS += src/eap_server/eap_server_md5.c
    367 CHAP=y
    368 endif
    369 
    370 ifdef CONFIG_EAP_TLS
    371 L_CFLAGS += -DEAP_SERVER_TLS
    372 OBJS += src/eap_server/eap_server_tls.c
    373 TLS_FUNCS=y
    374 endif
    375 
    376 ifdef CONFIG_EAP_UNAUTH_TLS
    377 L_CFLAGS += -DEAP_SERVER_UNAUTH_TLS
    378 ifndef CONFIG_EAP_TLS
    379 OBJS += src/eap_server/eap_server_tls.c
    380 TLS_FUNCS=y
    381 endif
    382 endif
    383 
    384 ifdef CONFIG_EAP_PEAP
    385 L_CFLAGS += -DEAP_SERVER_PEAP
    386 OBJS += src/eap_server/eap_server_peap.c
    387 OBJS += src/eap_common/eap_peap_common.c
    388 TLS_FUNCS=y
    389 CONFIG_EAP_MSCHAPV2=y
    390 endif
    391 
    392 ifdef CONFIG_EAP_TTLS
    393 L_CFLAGS += -DEAP_SERVER_TTLS
    394 OBJS += src/eap_server/eap_server_ttls.c
    395 TLS_FUNCS=y
    396 CHAP=y
    397 endif
    398 
    399 ifdef CONFIG_EAP_MSCHAPV2
    400 L_CFLAGS += -DEAP_SERVER_MSCHAPV2
    401 OBJS += src/eap_server/eap_server_mschapv2.c
    402 MS_FUNCS=y
    403 endif
    404 
    405 ifdef CONFIG_EAP_GTC
    406 L_CFLAGS += -DEAP_SERVER_GTC
    407 OBJS += src/eap_server/eap_server_gtc.c
    408 endif
    409 
    410 ifdef CONFIG_EAP_SIM
    411 L_CFLAGS += -DEAP_SERVER_SIM
    412 OBJS += src/eap_server/eap_server_sim.c
    413 CONFIG_EAP_SIM_COMMON=y
    414 NEED_AES_CBC=y
    415 endif
    416 
    417 ifdef CONFIG_EAP_AKA
    418 L_CFLAGS += -DEAP_SERVER_AKA
    419 OBJS += src/eap_server/eap_server_aka.c
    420 CONFIG_EAP_SIM_COMMON=y
    421 NEED_AES_CBC=y
    422 endif
    423 
    424 ifdef CONFIG_EAP_AKA_PRIME
    425 L_CFLAGS += -DEAP_SERVER_AKA_PRIME
    426 endif
    427 
    428 ifdef CONFIG_EAP_SIM_COMMON
    429 OBJS += src/eap_common/eap_sim_common.c
    430 # Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
    431 # replaced with another file implementing the interface specified in
    432 # eap_sim_db.h.
    433 OBJS += src/eap_server/eap_sim_db.c
    434 NEED_FIPS186_2_PRF=y
    435 endif
    436 
    437 ifdef CONFIG_EAP_PAX
    438 L_CFLAGS += -DEAP_SERVER_PAX
    439 OBJS += src/eap_server/eap_server_pax.c src/eap_common/eap_pax_common.c
    440 endif
    441 
    442 ifdef CONFIG_EAP_PSK
    443 L_CFLAGS += -DEAP_SERVER_PSK
    444 OBJS += src/eap_server/eap_server_psk.c src/eap_common/eap_psk_common.c
    445 NEED_AES_ENCBLOCK=y
    446 NEED_AES_EAX=y
    447 endif
    448 
    449 ifdef CONFIG_EAP_SAKE
    450 L_CFLAGS += -DEAP_SERVER_SAKE
    451 OBJS += src/eap_server/eap_server_sake.c src/eap_common/eap_sake_common.c
    452 endif
    453 
    454 ifdef CONFIG_EAP_GPSK
    455 L_CFLAGS += -DEAP_SERVER_GPSK
    456 OBJS += src/eap_server/eap_server_gpsk.c src/eap_common/eap_gpsk_common.c
    457 ifdef CONFIG_EAP_GPSK_SHA256
    458 L_CFLAGS += -DEAP_GPSK_SHA256
    459 endif
    460 endif
    461 
    462 ifdef CONFIG_EAP_PWD
    463 L_CFLAGS += -DEAP_SERVER_PWD
    464 OBJS += src/eap_server/eap_server_pwd.c src/eap_common/eap_pwd_common.c
    465 NEED_ECC=y
    466 NEED_DRAGONFLY=y
    467 endif
    468 
    469 ifdef CONFIG_EAP_EKE
    470 L_CFLAGS += -DEAP_SERVER_EKE
    471 OBJS += src/eap_server/eap_server_eke.c src/eap_common/eap_eke_common.c
    472 NEED_DH_GROUPS=y
    473 NEED_DH_GROUPS_ALL=y
    474 endif
    475 
    476 ifdef CONFIG_EAP_VENDOR_TEST
    477 L_CFLAGS += -DEAP_SERVER_VENDOR_TEST
    478 OBJS += src/eap_server/eap_server_vendor_test.c
    479 endif
    480 
    481 ifdef CONFIG_EAP_FAST
    482 L_CFLAGS += -DEAP_SERVER_FAST
    483 OBJS += src/eap_server/eap_server_fast.c
    484 OBJS += src/eap_common/eap_fast_common.c
    485 TLS_FUNCS=y
    486 NEED_T_PRF=y
    487 NEED_AES_UNWRAP=y
    488 endif
    489 
    490 ifdef CONFIG_EAP_TEAP
    491 L_CFLAGS += -DEAP_SERVER_TEAP
    492 OBJS += src/eap_server/eap_server_teap.c
    493 OBJS += src/eap_common/eap_teap_common.c
    494 TLS_FUNCS=y
    495 NEED_T_PRF=y
    496 NEED_SHA384=y
    497 NEED_TLS_PRF_SHA256=y
    498 NEED_TLS_PRF_SHA384=y
    499 NEED_AES_UNWRAP=y
    500 endif
    501 
    502 ifdef CONFIG_WPS
    503 L_CFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC
    504 OBJS += src/utils/uuid.c
    505 OBJS += src/ap/wps_hostapd.c
    506 OBJS += src/eap_server/eap_server_wsc.c src/eap_common/eap_wsc_common.c
    507 OBJS += src/wps/wps.c
    508 OBJS += src/wps/wps_common.c
    509 OBJS += src/wps/wps_attr_parse.c
    510 OBJS += src/wps/wps_attr_build.c
    511 OBJS += src/wps/wps_attr_process.c
    512 OBJS += src/wps/wps_dev_attr.c
    513 OBJS += src/wps/wps_enrollee.c
    514 OBJS += src/wps/wps_registrar.c
    515 NEED_DH_GROUPS=y
    516 NEED_BASE64=y
    517 NEED_AES_CBC=y
    518 NEED_MODEXP=y
    519 CONFIG_EAP=y
    520 
    521 ifdef CONFIG_WPS_NFC
    522 L_CFLAGS += -DCONFIG_WPS_NFC
    523 OBJS += src/wps/ndef.c
    524 NEED_WPS_OOB=y
    525 endif
    526 
    527 ifdef NEED_WPS_OOB
    528 L_CFLAGS += -DCONFIG_WPS_OOB
    529 endif
    530 
    531 ifdef CONFIG_WPS_UPNP
    532 L_CFLAGS += -DCONFIG_WPS_UPNP
    533 OBJS += src/wps/wps_upnp.c
    534 OBJS += src/wps/wps_upnp_ssdp.c
    535 OBJS += src/wps/wps_upnp_web.c
    536 OBJS += src/wps/wps_upnp_event.c
    537 OBJS += src/wps/wps_upnp_ap.c
    538 OBJS += src/wps/upnp_xml.c
    539 OBJS += src/wps/httpread.c
    540 OBJS += src/wps/http_client.c
    541 OBJS += src/wps/http_server.c
    542 endif
    543 
    544 ifdef CONFIG_WPS_STRICT
    545 L_CFLAGS += -DCONFIG_WPS_STRICT
    546 OBJS += src/wps/wps_validate.c
    547 endif
    548 
    549 ifdef CONFIG_WPS_TESTING
    550 L_CFLAGS += -DCONFIG_WPS_TESTING
    551 endif
    552 
    553 endif
    554 
    555 ifdef CONFIG_DPP
    556 L_CFLAGS += -DCONFIG_DPP
    557 OBJS += src/common/dpp.c
    558 OBJS += src/common/dpp_auth.c
    559 OBJS += src/common/dpp_backup.c
    560 OBJS += src/common/dpp_crypto.c
    561 OBJS += src/common/dpp_pkex.c
    562 OBJS += src/common/dpp_reconfig.c
    563 OBJS += src/common/dpp_tcp.c
    564 OBJS += src/ap/dpp_hostapd.c
    565 OBJS += src/ap/gas_query_ap.c
    566 NEED_AES_SIV=y
    567 NEED_HMAC_SHA256_KDF=y
    568 NEED_HMAC_SHA384_KDF=y
    569 NEED_HMAC_SHA512_KDF=y
    570 NEED_SHA384=y
    571 NEED_SHA512=y
    572 NEED_ECC=y
    573 NEED_JSON=y
    574 NEED_GAS=y
    575 NEED_BASE64=y
    576 NEED_ASN1=y
    577 ifdef CONFIG_DPP2
    578 L_CFLAGS += -DCONFIG_DPP2
    579 endif
    580 ifdef CONFIG_DPP3
    581 L_CFLAGS += -DCONFIG_DPP3
    582 endif
    583 endif
    584 
    585 ifdef CONFIG_NAN_USD
    586 OBJS += src/common/nan_de.c
    587 OBJS += src/ap/nan_usd_ap.c
    588 L_CFLAGS += -DCONFIG_NAN_USD
    589 endif
    590 
    591 ifdef CONFIG_PASN
    592 L_CFLAGS += -DCONFIG_PASN
    593 L_CFLAGS += -DCONFIG_PTKSA_CACHE
    594 NEED_HMAC_SHA256_KDF=y
    595 NEED_HMAC_SHA384_KDF=y
    596 NEED_SHA256=y
    597 NEED_SHA384=y
    598 endif
    599 
    600 ifdef CONFIG_EAP_IKEV2
    601 L_CFLAGS += -DEAP_SERVER_IKEV2
    602 OBJS += src/eap_server/eap_server_ikev2.c src/eap_server/ikev2.c
    603 OBJS += src/eap_common/eap_ikev2_common.c src/eap_common/ikev2_common.c
    604 NEED_DH_GROUPS=y
    605 NEED_DH_GROUPS_ALL=y
    606 NEED_MODEXP=y
    607 NEED_CIPHER=y
    608 endif
    609 
    610 ifdef CONFIG_EAP_TNC
    611 L_CFLAGS += -DEAP_SERVER_TNC
    612 OBJS += src/eap_server/eap_server_tnc.c
    613 OBJS += src/eap_server/tncs.c
    614 NEED_BASE64=y
    615 ifndef CONFIG_DRIVER_BSD
    616 LIBS += -ldl
    617 endif
    618 endif
    619 
    620 # Basic EAP functionality is needed for EAPOL
    621 OBJS += eap_register.c
    622 OBJS += src/eap_server/eap_server.c
    623 OBJS += src/eap_common/eap_common.c
    624 OBJS += src/eap_server/eap_server_methods.c
    625 OBJS += src/eap_server/eap_server_identity.c
    626 L_CFLAGS += -DEAP_SERVER_IDENTITY
    627 
    628 ifdef CONFIG_EAP
    629 L_CFLAGS += -DEAP_SERVER
    630 endif
    631 
    632 ifdef CONFIG_PKCS12
    633 L_CFLAGS += -DPKCS12_FUNCS
    634 endif
    635 
    636 ifdef NEED_DRAGONFLY
    637 OBJS += src/common/dragonfly.c
    638 endif
    639 
    640 ifdef MS_FUNCS
    641 OBJS += src/crypto/ms_funcs.c
    642 NEED_DES=y
    643 NEED_MD4=y
    644 endif
    645 
    646 ifdef CHAP
    647 OBJS += src/eap_common/chap.c
    648 endif
    649 
    650 ifdef CONFIG_RADIUS_TLS
    651 TLS_FUNCS=y
    652 L_CFLAGS += -DCONFIG_RADIUS_TLS
    653 endif
    654 
    655 ifdef TLS_FUNCS
    656 NEED_DES=y
    657 # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
    658 L_CFLAGS += -DEAP_TLS_FUNCS
    659 OBJS += src/eap_server/eap_server_tls_common.c
    660 NEED_TLS_PRF=y
    661 endif
    662 
    663 ifndef CONFIG_TLS
    664 CONFIG_TLS=openssl
    665 endif
    666 
    667 ifdef CONFIG_TLSV11
    668 L_CFLAGS += -DCONFIG_TLSV11
    669 endif
    670 
    671 ifdef CONFIG_TLSV12
    672 L_CFLAGS += -DCONFIG_TLSV12
    673 endif
    674 
    675 ifeq ($(CONFIG_TLS), openssl)
    676 L_CFLAGS += -DCRYPTO_RSA_OAEP_SHA256
    677 ifdef TLS_FUNCS
    678 OBJS += src/crypto/tls_openssl.c
    679 OBJS += src/crypto/tls_openssl_ocsp.c
    680 LIBS += -lssl
    681 endif
    682 OBJS += src/crypto/crypto_openssl.c
    683 HOBJS += src/crypto/crypto_openssl.c
    684 ifdef NEED_FIPS186_2_PRF
    685 OBJS += src/crypto/fips_prf_openssl.c
    686 endif
    687 NEED_TLS_PRF_SHA256=y
    688 LIBS += -lcrypto
    689 LIBS_h += -lcrypto
    690 ifndef CONFIG_TLS_DEFAULT_CIPHERS
    691 CONFIG_TLS_DEFAULT_CIPHERS = "DEFAULT:!EXP:!LOW"
    692 endif
    693 L_CFLAGS += -DTLS_DEFAULT_CIPHERS=\"$(CONFIG_TLS_DEFAULT_CIPHERS)\"
    694 endif
    695 
    696 ifeq ($(CONFIG_TLS), gnutls)
    697 ifndef CONFIG_CRYPTO
    698 # default to libgcrypt
    699 CONFIG_CRYPTO=gnutls
    700 endif
    701 ifdef TLS_FUNCS
    702 OBJS += src/crypto/tls_gnutls.c
    703 LIBS += -lgnutls -lgpg-error
    704 endif
    705 OBJS += src/crypto/crypto_$(CONFIG_CRYPTO).c
    706 HOBJS += src/crypto/crypto_$(CONFIG_CRYPTO).c
    707 ifdef NEED_FIPS186_2_PRF
    708 OBJS += src/crypto/fips_prf_internal.c
    709 OBJS += src/crypto/sha1-internal.c
    710 endif
    711 ifeq ($(CONFIG_CRYPTO), gnutls)
    712 LIBS += -lgcrypt
    713 LIBS_h += -lgcrypt
    714 CONFIG_INTERNAL_RC4=y
    715 CONFIG_INTERNAL_DH_GROUP5=y
    716 endif
    717 ifeq ($(CONFIG_CRYPTO), nettle)
    718 LIBS += -lnettle -lgmp
    719 LIBS_p += -lnettle -lgmp
    720 CONFIG_INTERNAL_RC4=y
    721 CONFIG_INTERNAL_DH_GROUP5=y
    722 endif
    723 endif
    724 
    725 ifeq ($(CONFIG_TLS), internal)
    726 ifndef CONFIG_CRYPTO
    727 CONFIG_CRYPTO=internal
    728 endif
    729 ifdef TLS_FUNCS
    730 OBJS += src/crypto/crypto_internal-rsa.c
    731 OBJS += src/crypto/tls_internal.c
    732 OBJS += src/tls/tlsv1_common.c
    733 OBJS += src/tls/tlsv1_record.c
    734 OBJS += src/tls/tlsv1_cred.c
    735 OBJS += src/tls/tlsv1_server.c
    736 OBJS += src/tls/tlsv1_server_write.c
    737 OBJS += src/tls/tlsv1_server_read.c
    738 OBJS += src/tls/rsa.c
    739 OBJS += src/tls/x509v3.c
    740 OBJS += src/tls/pkcs1.c
    741 OBJS += src/tls/pkcs5.c
    742 OBJS += src/tls/pkcs8.c
    743 NEED_ASN1=y
    744 NEED_BASE64=y
    745 NEED_TLS_PRF=y
    746 ifdef CONFIG_TLSV12
    747 NEED_TLS_PRF_SHA256=y
    748 endif
    749 NEED_MODEXP=y
    750 NEED_CIPHER=y
    751 L_CFLAGS += -DCONFIG_TLS_INTERNAL
    752 L_CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
    753 endif
    754 ifdef NEED_CIPHER
    755 NEED_DES=y
    756 OBJS += src/crypto/crypto_internal-cipher.c
    757 endif
    758 ifdef NEED_MODEXP
    759 OBJS += src/crypto/crypto_internal-modexp.c
    760 OBJS += src/tls/bignum.c
    761 endif
    762 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    763 OBJS += src/crypto/crypto_libtomcrypt.c
    764 LIBS += -ltomcrypt -ltfm
    765 LIBS_h += -ltomcrypt -ltfm
    766 CONFIG_INTERNAL_SHA256=y
    767 CONFIG_INTERNAL_RC4=y
    768 CONFIG_INTERNAL_DH_GROUP5=y
    769 endif
    770 ifeq ($(CONFIG_CRYPTO), internal)
    771 OBJS += src/crypto/crypto_internal.c
    772 NEED_AES_DEC=y
    773 L_CFLAGS += -DCONFIG_CRYPTO_INTERNAL
    774 ifdef CONFIG_INTERNAL_LIBTOMMATH
    775 L_CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
    776 ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
    777 L_CFLAGS += -DLTM_FAST
    778 endif
    779 else
    780 LIBS += -ltommath
    781 LIBS_h += -ltommath
    782 endif
    783 CONFIG_INTERNAL_AES=y
    784 CONFIG_INTERNAL_DES=y
    785 CONFIG_INTERNAL_SHA1=y
    786 CONFIG_INTERNAL_MD4=y
    787 CONFIG_INTERNAL_MD5=y
    788 CONFIG_INTERNAL_SHA256=y
    789 CONFIG_INTERNAL_SHA384=y
    790 CONFIG_INTERNAL_SHA512=y
    791 CONFIG_INTERNAL_RC4=y
    792 CONFIG_INTERNAL_DH_GROUP5=y
    793 endif
    794 ifeq ($(CONFIG_CRYPTO), cryptoapi)
    795 OBJS += src/crypto/crypto_cryptoapi.c
    796 OBJS_p += src/crypto/crypto_cryptoapi.c
    797 L_CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
    798 CONFIG_INTERNAL_SHA256=y
    799 CONFIG_INTERNAL_RC4=y
    800 endif
    801 endif
    802 
    803 ifeq ($(CONFIG_TLS), none)
    804 ifdef TLS_FUNCS
    805 OBJS += src/crypto/tls_none.c
    806 L_CFLAGS += -DEAP_TLS_NONE
    807 CONFIG_INTERNAL_AES=y
    808 CONFIG_INTERNAL_SHA1=y
    809 CONFIG_INTERNAL_MD5=y
    810 endif
    811 OBJS += src/crypto/crypto_none.c
    812 OBJS_p += src/crypto/crypto_none.c
    813 CONFIG_INTERNAL_SHA256=y
    814 CONFIG_INTERNAL_RC4=y
    815 endif
    816 
    817 ifndef TLS_FUNCS
    818 OBJS += src/crypto/tls_none.c
    819 ifeq ($(CONFIG_TLS), internal)
    820 CONFIG_INTERNAL_AES=y
    821 CONFIG_INTERNAL_SHA1=y
    822 CONFIG_INTERNAL_MD5=y
    823 CONFIG_INTERNAL_RC4=y
    824 endif
    825 endif
    826 
    827 AESOBJS = # none so far
    828 ifdef CONFIG_INTERNAL_AES
    829 AESOBJS += src/crypto/aes-internal.c src/crypto/aes-internal-enc.c
    830 endif
    831 
    832 ifneq ($(CONFIG_TLS), openssl)
    833 AESOBJS += src/crypto/aes-wrap.c
    834 endif
    835 ifdef NEED_AES_EAX
    836 AESOBJS += src/crypto/aes-eax.c
    837 NEED_AES_CTR=y
    838 endif
    839 ifdef NEED_AES_SIV
    840 AESOBJS += src/crypto/aes-siv.c
    841 NEED_AES_CTR=y
    842 endif
    843 ifdef NEED_AES_CTR
    844 AESOBJS += src/crypto/aes-ctr.c
    845 endif
    846 ifdef NEED_AES_ENCBLOCK
    847 AESOBJS += src/crypto/aes-encblock.c
    848 endif
    849 ifneq ($(CONFIG_TLS), openssl)
    850 AESOBJS += src/crypto/aes-omac1.c
    851 endif
    852 ifdef NEED_AES_UNWRAP
    853 ifneq ($(CONFIG_TLS), openssl)
    854 NEED_AES_DEC=y
    855 AESOBJS += src/crypto/aes-unwrap.c
    856 endif
    857 endif
    858 ifdef NEED_AES_CBC
    859 NEED_AES_DEC=y
    860 ifneq ($(CONFIG_TLS), openssl)
    861 AESOBJS += src/crypto/aes-cbc.c
    862 endif
    863 endif
    864 ifdef NEED_AES_DEC
    865 ifdef CONFIG_INTERNAL_AES
    866 AESOBJS += src/crypto/aes-internal-dec.c
    867 endif
    868 endif
    869 ifdef NEED_AES
    870 OBJS += $(AESOBJS)
    871 endif
    872 
    873 SHA1OBJS =
    874 ifdef NEED_SHA1
    875 ifneq ($(CONFIG_TLS), openssl)
    876 ifneq ($(CONFIG_TLS), gnutls)
    877 SHA1OBJS += src/crypto/sha1.c
    878 endif
    879 endif
    880 SHA1OBJS += src/crypto/sha1-prf.c
    881 ifdef CONFIG_INTERNAL_SHA1
    882 SHA1OBJS += src/crypto/sha1-internal.c
    883 ifdef NEED_FIPS186_2_PRF
    884 SHA1OBJS += src/crypto/fips_prf_internal.c
    885 endif
    886 endif
    887 ifneq ($(CONFIG_TLS), openssl)
    888 SHA1OBJS += src/crypto/sha1-pbkdf2.c
    889 endif
    890 ifdef NEED_T_PRF
    891 SHA1OBJS += src/crypto/sha1-tprf.c
    892 endif
    893 ifdef NEED_TLS_PRF
    894 SHA1OBJS += src/crypto/sha1-tlsprf.c
    895 endif
    896 endif
    897 
    898 ifdef NEED_SHA1
    899 OBJS += $(SHA1OBJS)
    900 endif
    901 
    902 ifneq ($(CONFIG_TLS), openssl)
    903 ifneq ($(CONFIG_TLS), gnutls)
    904 OBJS += src/crypto/md5.c
    905 endif
    906 endif
    907 
    908 ifdef NEED_MD5
    909 ifdef CONFIG_INTERNAL_MD5
    910 OBJS += src/crypto/md5-internal.c
    911 HOBJS += src/crypto/md5-internal.c
    912 endif
    913 endif
    914 
    915 ifdef NEED_MD4
    916 ifdef CONFIG_INTERNAL_MD4
    917 OBJS += src/crypto/md4-internal.c
    918 endif
    919 endif
    920 
    921 ifdef NEED_DES
    922 ifdef CONFIG_INTERNAL_DES
    923 OBJS += src/crypto/des-internal.c
    924 endif
    925 endif
    926 
    927 ifdef CONFIG_NO_RC4
    928 L_CFLAGS += -DCONFIG_NO_RC4
    929 endif
    930 
    931 ifdef NEED_RC4
    932 ifdef CONFIG_INTERNAL_RC4
    933 ifndef CONFIG_NO_RC4
    934 OBJS += src/crypto/rc4.c
    935 endif
    936 endif
    937 endif
    938 
    939 L_CFLAGS += -DCONFIG_SHA256
    940 ifneq ($(CONFIG_TLS), openssl)
    941 ifneq ($(CONFIG_TLS), gnutls)
    942 OBJS += src/crypto/sha256.c
    943 endif
    944 endif
    945 OBJS += src/crypto/sha256-prf.c
    946 ifdef CONFIG_INTERNAL_SHA256
    947 OBJS += src/crypto/sha256-internal.c
    948 endif
    949 ifdef NEED_TLS_PRF_SHA256
    950 OBJS += src/crypto/sha256-tlsprf.c
    951 endif
    952 ifdef NEED_TLS_PRF_SHA384
    953 OBJS += src/crypto/sha384-tlsprf.c
    954 endif
    955 ifdef NEED_HMAC_SHA256_KDF
    956 OBJS += src/crypto/sha256-kdf.c
    957 endif
    958 ifdef NEED_HMAC_SHA384_KDF
    959 OBJS += src/crypto/sha384-kdf.c
    960 endif
    961 ifdef NEED_HMAC_SHA512_KDF
    962 OBJS += src/crypto/sha512-kdf.c
    963 endif
    964 ifdef NEED_SHA384
    965 L_CFLAGS += -DCONFIG_SHA384
    966 ifneq ($(CONFIG_TLS), openssl)
    967 ifneq ($(CONFIG_TLS), gnutls)
    968 OBJS += src/crypto/sha384.c
    969 endif
    970 endif
    971 OBJS += src/crypto/sha384-prf.c
    972 endif
    973 ifdef NEED_SHA512
    974 L_CFLAGS += -DCONFIG_SHA512
    975 ifneq ($(CONFIG_TLS), openssl)
    976 ifneq ($(CONFIG_TLS), linux)
    977 ifneq ($(CONFIG_TLS), gnutls)
    978 OBJS += src/crypto/sha512.c
    979 endif
    980 endif
    981 endif
    982 OBJS += src/crypto/sha512-prf.c
    983 endif
    984 
    985 ifdef CONFIG_INTERNAL_SHA384
    986 L_CFLAGS += -DCONFIG_INTERNAL_SHA384
    987 OBJS += src/crypto/sha384-internal.c
    988 endif
    989 
    990 ifdef CONFIG_INTERNAL_SHA512
    991 L_CFLAGS += -DCONFIG_INTERNAL_SHA512
    992 OBJS += src/crypto/sha512-internal.c
    993 endif
    994 
    995 ifdef NEED_ASN1
    996 OBJS += src/tls/asn1.c
    997 endif
    998 
    999 ifdef NEED_DH_GROUPS
   1000 OBJS += src/crypto/dh_groups.c
   1001 endif
   1002 ifdef NEED_DH_GROUPS_ALL
   1003 L_CFLAGS += -DALL_DH_GROUPS
   1004 endif
   1005 ifdef CONFIG_INTERNAL_DH_GROUP5
   1006 ifdef NEED_DH_GROUPS
   1007 OBJS += src/crypto/dh_group5.c
   1008 endif
   1009 endif
   1010 
   1011 ifdef NEED_ECC
   1012 L_CFLAGS += -DCONFIG_ECC
   1013 endif
   1014 
   1015 ifdef CONFIG_NO_RANDOM_POOL
   1016 L_CFLAGS += -DCONFIG_NO_RANDOM_POOL
   1017 else
   1018 OBJS += src/crypto/random.c
   1019 HOBJS += src/crypto/random.c
   1020 HOBJS += src/utils/eloop.c
   1021 HOBJS += $(SHA1OBJS)
   1022 ifneq ($(CONFIG_TLS), openssl)
   1023 HOBJS += src/crypto/md5.c
   1024 endif
   1025 endif
   1026 
   1027 ifdef CONFIG_RADIUS_SERVER
   1028 L_CFLAGS += -DRADIUS_SERVER
   1029 OBJS += src/radius/radius_server.c
   1030 endif
   1031 
   1032 ifdef CONFIG_IPV6
   1033 L_CFLAGS += -DCONFIG_IPV6
   1034 endif
   1035 
   1036 ifdef CONFIG_DRIVER_RADIUS_ACL
   1037 L_CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL
   1038 endif
   1039 
   1040 ifdef NEED_BASE64
   1041 OBJS += src/utils/base64.c
   1042 endif
   1043 
   1044 ifdef NEED_JSON
   1045 OBJS += src/utils/json.c
   1046 L_CFLAGS += -DCONFIG_JSON
   1047 endif
   1048 
   1049 ifdef NEED_AP_MLME
   1050 OBJS += src/ap/wmm.c
   1051 OBJS += src/ap/ap_list.c
   1052 OBJS += src/ap/comeback_token.c
   1053 OBJS += src/pasn/pasn_responder.c
   1054 OBJS += src/pasn/pasn_common.c
   1055 OBJS += src/ap/ieee802_11.c
   1056 OBJS += src/ap/hw_features.c
   1057 OBJS += src/ap/dfs.c
   1058 L_CFLAGS += -DNEED_AP_MLME
   1059 endif
   1060 OBJS += src/ap/ieee802_11_ht.c
   1061 
   1062 ifdef CONFIG_IEEE80211AC
   1063 OBJS += src/ap/ieee802_11_vht.c
   1064 endif
   1065 
   1066 ifdef CONFIG_IEEE80211AX
   1067 OBJS += src/ap/ieee802_11_he.c
   1068 endif
   1069 
   1070 ifdef CONFIG_P2P_MANAGER
   1071 L_CFLAGS += -DCONFIG_P2P_MANAGER
   1072 OBJS += src/ap/p2p_hostapd.c
   1073 endif
   1074 
   1075 ifdef CONFIG_HS20
   1076 L_CFLAGS += -DCONFIG_HS20
   1077 OBJS += src/ap/hs20.c
   1078 CONFIG_INTERWORKING=y
   1079 endif
   1080 
   1081 ifdef CONFIG_INTERWORKING
   1082 L_CFLAGS += -DCONFIG_INTERWORKING
   1083 NEED_GAS=y
   1084 endif
   1085 
   1086 ifdef NEED_GAS
   1087 OBJS += src/common/gas.c
   1088 OBJS += src/ap/gas_serv.c
   1089 endif
   1090 
   1091 ifdef CONFIG_PROXYARP
   1092 L_CFLAGS += -DCONFIG_PROXYARP
   1093 OBJS += src/ap/x_snoop.c
   1094 OBJS += src/ap/dhcp_snoop.c
   1095 ifdef CONFIG_IPV6
   1096 OBJS += src/ap/ndisc_snoop.c
   1097 endif
   1098 endif
   1099 
   1100 OBJS += src/drivers/driver_common.c
   1101 
   1102 ifdef CONFIG_ACS
   1103 L_CFLAGS += -DCONFIG_ACS
   1104 OBJS += src/ap/acs.c
   1105 LIBS += -lm
   1106 endif
   1107 
   1108 ifdef CONFIG_NO_STDOUT_DEBUG
   1109 L_CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
   1110 endif
   1111 
   1112 ifdef CONFIG_DEBUG_SYSLOG
   1113 L_CFLAGS += -DCONFIG_DEBUG_SYSLOG
   1114 endif
   1115 
   1116 ifdef CONFIG_DEBUG_LINUX_TRACING
   1117 L_CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING
   1118 endif
   1119 
   1120 ifdef CONFIG_DEBUG_FILE
   1121 L_CFLAGS += -DCONFIG_DEBUG_FILE
   1122 endif
   1123 
   1124 ifdef CONFIG_ANDROID_LOG
   1125 L_CFLAGS += -DCONFIG_ANDROID_LOG
   1126 endif
   1127 
   1128 OBJS_c = hostapd_cli.c
   1129 OBJS_c += src/common/wpa_ctrl.c
   1130 OBJS_c += src/utils/os_$(CONFIG_OS).c
   1131 OBJS_c += src/common/cli.c
   1132 OBJS_c += src/utils/eloop.c
   1133 OBJS_c += src/utils/common.c
   1134 ifdef CONFIG_WPA_TRACE
   1135 OBJS_c += src/utils/trace.c
   1136 endif
   1137 OBJS_c += src/utils/wpa_debug.c
   1138 ifdef CONFIG_WPA_CLI_EDIT
   1139 OBJS_c += src/utils/edit.c
   1140 else
   1141 OBJS_c += src/utils/edit_simple.c
   1142 endif
   1143 
   1144 ########################
   1145 
   1146 include $(CLEAR_VARS)
   1147 LOCAL_MODULE := hostapd_cli
   1148 LOCAL_MODULE_TAGS := debug
   1149 LOCAL_PROPRIETARY_MODULE := true
   1150 LOCAL_SHARED_LIBRARIES := libc libcutils liblog
   1151 LOCAL_CFLAGS := $(L_CFLAGS)
   1152 LOCAL_SRC_FILES := $(OBJS_c)
   1153 LOCAL_C_INCLUDES := $(INCLUDES)
   1154 include $(BUILD_EXECUTABLE)
   1155 
   1156 ########################
   1157 include $(CLEAR_VARS)
   1158 LOCAL_MODULE := hostapd
   1159 LOCAL_MODULE_TAGS := optional
   1160 LOCAL_PROPRIETARY_MODULE := true
   1161 ifdef CONFIG_DRIVER_CUSTOM
   1162 LOCAL_STATIC_LIBRARIES := libCustomWifi
   1163 endif
   1164 ifneq ($(BOARD_HOSTAPD_PRIVATE_LIB),)
   1165 LOCAL_STATIC_LIBRARIES += $(BOARD_HOSTAPD_PRIVATE_LIB)
   1166 endif
   1167 LOCAL_SHARED_LIBRARIES := libc libcutils liblog libcrypto libssl
   1168 ifdef CONFIG_DRIVER_NL80211
   1169 ifneq ($(wildcard external/libnl),)
   1170 LOCAL_SHARED_LIBRARIES += libnl
   1171 else
   1172 LOCAL_STATIC_LIBRARIES += libnl_2
   1173 endif
   1174 endif
   1175 LOCAL_CFLAGS := $(L_CFLAGS)
   1176 LOCAL_SRC_FILES := $(OBJS)
   1177 LOCAL_C_INCLUDES := $(INCLUDES)
   1178 LOCAL_INIT_RC := hostapd.android.rc
   1179 include $(BUILD_EXECUTABLE)
   1180 
   1181 endif # ifeq ($(WPA_BUILD_HOSTAPD),true)
   1182