Home | History | Annotate | Download | only in wpa_supplicant
      1 #
      2 # Copyright (C) 2008 The Android Open Source Project
      3 #
      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
      7 #
      8 #      http://www.apache.org/licenses/LICENSE-2.0
      9 #
     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.
     15 #
     16 ifndef WPA_SUPPLICANT_VERSION
     17 WPA_SUPPLICANT_VERSION := VER_0_5_X
     18 endif
     19 
     20 ifeq ($(WPA_SUPPLICANT_VERSION),VER_0_5_X)
     21 
     22 LOCAL_PATH := $(call my-dir)
     23 
     24 WPA_BUILD_SUPPLICANT := false
     25 ifneq ($(TARGET_SIMULATOR),true)
     26   ifneq ($(BOARD_WPA_SUPPLICANT_DRIVER),)
     27     WPA_BUILD_SUPPLICANT := true
     28     CONFIG_DRIVER_$(BOARD_WPA_SUPPLICANT_DRIVER) = y
     29   endif
     30 endif
     31 
     32 include $(LOCAL_PATH)/.config
     33 
     34 # To force sizeof(enum) = 4
     35 ifeq ($(TARGET_ARCH),arm)
     36 L_CFLAGS += -mabi=aapcs-linux
     37 endif
     38 
     39 # To ignore possible wrong network configurations
     40 L_CFLAGS += -DWPA_IGNORE_CONFIG_ERRORS
     41 
     42 # To allow non-ASCII characters in SSID
     43 L_CFLAGS += -DWPA_UNICODE_SSID
     44 
     45 # OpenSSL is configured without engines on Android
     46 L_CFLAGS += -DOPENSSL_NO_ENGINE
     47 
     48 INCLUDES = external/openssl/include frameworks/base/cmds/keystore
     49   
     50 OBJS = config.c common.c md5.c md4.c rc4.c sha1.c des.c
     51 OBJS_p = wpa_passphrase.c sha1.c md5.c md4.c common.c des.c
     52 OBJS_c = wpa_cli.c wpa_ctrl.c
     53 
     54 ifndef CONFIG_OS
     55 ifdef CONFIG_NATIVE_WINDOWS
     56 CONFIG_OS=win32
     57 else
     58 CONFIG_OS=unix
     59 endif
     60 endif
     61 
     62 OBJS += os_$(CONFIG_OS).c
     63 OBJS_p += os_$(CONFIG_OS).c
     64 OBJS_c += os_$(CONFIG_OS).c
     65 
     66 ifndef CONFIG_ELOOP
     67 CONFIG_ELOOP=eloop
     68 endif
     69 OBJS += $(CONFIG_ELOOP).c
     70 
     71 
     72 ifdef CONFIG_EAPOL_TEST
     73 L_CFLAGS += -Werror -DEAPOL_TEST
     74 endif
     75 
     76 ifndef CONFIG_BACKEND
     77 CONFIG_BACKEND=file
     78 endif
     79 
     80 ifeq ($(CONFIG_BACKEND), file)
     81 OBJS += config_file.c base64.c
     82 L_CFLAGS += -DCONFIG_BACKEND_FILE
     83 endif
     84 
     85 ifeq ($(CONFIG_BACKEND), winreg)
     86 OBJS += config_winreg.c
     87 endif
     88 
     89 ifeq ($(CONFIG_BACKEND), none)
     90 OBJS += config_none.c
     91 endif
     92 
     93 ifdef CONFIG_DRIVER_HOSTAP
     94 L_CFLAGS += -DCONFIG_DRIVER_HOSTAP
     95 OBJS_d += driver_hostap.c
     96 CONFIG_WIRELESS_EXTENSION=y
     97 endif
     98 
     99 ifdef CONFIG_DRIVER_WEXT
    100 L_CFLAGS += -DCONFIG_DRIVER_WEXT
    101 CONFIG_WIRELESS_EXTENSION=y
    102 endif
    103 
    104 ifdef CONFIG_DRIVER_PRISM54
    105 L_CFLAGS += -DCONFIG_DRIVER_PRISM54
    106 OBJS_d += driver_prism54.c
    107 CONFIG_WIRELESS_EXTENSION=y
    108 endif
    109 
    110 ifdef CONFIG_DRIVER_HERMES
    111 L_CFLAGS += -DCONFIG_DRIVER_HERMES
    112 OBJS_d += driver_hermes.c
    113 CONFIG_WIRELESS_EXTENSION=y
    114 endif
    115 
    116 ifdef CONFIG_DRIVER_MADWIFI
    117 L_CFLAGS += -DCONFIG_DRIVER_MADWIFI
    118 OBJS_d += driver_madwifi.c
    119 CONFIG_WIRELESS_EXTENSION=y
    120 endif
    121 
    122 ifdef CONFIG_DRIVER_ATMEL
    123 L_CFLAGS += -DCONFIG_DRIVER_ATMEL
    124 OBJS_d += driver_atmel.c
    125 CONFIG_WIRELESS_EXTENSION=y
    126 endif
    127 
    128 ifdef CONFIG_DRIVER_NDISWRAPPER
    129 L_CFLAGS += -DCONFIG_DRIVER_NDISWRAPPER
    130 OBJS_d += driver_ndiswrapper.c
    131 CONFIG_WIRELESS_EXTENSION=y
    132 endif
    133 
    134 ifdef CONFIG_DRIVER_BROADCOM
    135 L_CFLAGS += -DCONFIG_DRIVER_BROADCOM
    136 OBJS_d += driver_broadcom.c
    137 endif
    138 
    139 ifdef CONFIG_DRIVER_IPW
    140 L_CFLAGS += -DCONFIG_DRIVER_IPW
    141 OBJS_d += driver_ipw.c
    142 CONFIG_WIRELESS_EXTENSION=y
    143 endif
    144 
    145 ifdef CONFIG_DRIVER_BSD
    146 L_CFLAGS += -DCONFIG_DRIVER_BSD
    147 OBJS_d += driver_bsd.c
    148 ifndef CONFIG_L2_PACKET
    149 CONFIG_L2_PACKET=freebsd
    150 endif
    151 endif
    152 
    153 ifdef CONFIG_DRIVER_NDIS
    154 L_CFLAGS += -DCONFIG_DRIVER_NDIS
    155 OBJS_d += driver_ndis.c driver_ndis_.c
    156 ifndef CONFIG_L2_PACKET
    157 CONFIG_L2_PACKET=pcap
    158 endif
    159 CONFIG_WINPCAP=y
    160 ifdef CONFIG_USE_NDISUIO
    161 L_CFLAGS += -DCONFIG_USE_NDISUIO
    162 endif
    163 endif
    164 
    165 ifdef CONFIG_DRIVER_WIRED
    166 L_CFLAGS += -DCONFIG_DRIVER_WIRED
    167 OBJS_d += driver_wired.c
    168 endif
    169 
    170 ifdef CONFIG_DRIVER_TEST
    171 L_CFLAGS += -DCONFIG_DRIVER_TEST
    172 OBJS_d += driver_test.c
    173 endif
    174 
    175 ifdef CONFIG_DRIVER_CUSTOM
    176 L_CFLAGS += -DCONFIG_DRIVER_CUSTOM
    177 endif
    178 
    179 ifndef CONFIG_L2_PACKET
    180 CONFIG_L2_PACKET=linux
    181 endif
    182 
    183 OBJS += l2_packet_$(CONFIG_L2_PACKET).c
    184 
    185 ifeq ($(CONFIG_L2_PACKET), pcap)
    186 ifdef CONFIG_WINPCAP
    187 L_CFLAGS += -DCONFIG_WINPCAP
    188 LIBS += -lwpcap -lpacket
    189 LIBS_w += -lwpcap
    190 else
    191 LIBS += -ldnet -lpcap
    192 endif
    193 endif
    194 
    195 ifeq ($(CONFIG_L2_PACKET), winpcap)
    196 LIBS += -lwpcap -lpacket
    197 LIBS_w += -lwpcap
    198 endif
    199 
    200 ifeq ($(CONFIG_L2_PACKET), freebsd)
    201 LIBS += -lpcap
    202 endif
    203 
    204 ifdef CONFIG_EAP_TLS
    205 # EAP-TLS
    206 L_CFLAGS += -DEAP_TLS
    207 OBJS += eap_tls.c
    208 TLS_FUNCS=y
    209 CONFIG_IEEE8021X_EAPOL=y
    210 endif
    211 
    212 ifdef CONFIG_EAP_PEAP
    213 # EAP-PEAP
    214 L_CFLAGS += -DEAP_PEAP
    215 OBJS += eap_peap.c
    216 TLS_FUNCS=y
    217 CONFIG_IEEE8021X_EAPOL=y
    218 CONFIG_EAP_TLV=y
    219 endif
    220 
    221 ifdef CONFIG_EAP_TTLS
    222 # EAP-TTLS
    223 L_CFLAGS += -DEAP_TTLS
    224 OBJS += eap_ttls.c
    225 MS_FUNCS=y
    226 TLS_FUNCS=y
    227 CONFIG_IEEE8021X_EAPOL=y
    228 endif
    229 
    230 ifdef CONFIG_EAP_MD5
    231 # EAP-MD5 (also used by EAP-TTLS)
    232 L_CFLAGS += -DEAP_MD5
    233 OBJS += eap_md5.c
    234 CONFIG_IEEE8021X_EAPOL=y
    235 endif
    236 
    237 # backwards compatibility for old spelling
    238 ifdef CONFIG_MSCHAPV2
    239 ifndef CONFIG_EAP_MSCHAPV2
    240 CONFIG_EAP_MSCHAPV2=y
    241 endif
    242 endif
    243 
    244 ifdef CONFIG_EAP_MSCHAPV2
    245 # EAP-MSCHAPv2 (also used by EAP-PEAP)
    246 L_CFLAGS += -DEAP_MSCHAPv2
    247 OBJS += eap_mschapv2.c
    248 MS_FUNCS=y
    249 CONFIG_IEEE8021X_EAPOL=y
    250 endif
    251 
    252 ifdef CONFIG_EAP_GTC
    253 # EAP-GTC (also used by EAP-PEAP)
    254 L_CFLAGS += -DEAP_GTC
    255 OBJS += eap_gtc.c
    256 CONFIG_IEEE8021X_EAPOL=y
    257 endif
    258 
    259 ifdef CONFIG_EAP_OTP
    260 # EAP-OTP
    261 L_CFLAGS += -DEAP_OTP
    262 OBJS += eap_otp.c
    263 CONFIG_IEEE8021X_EAPOL=y
    264 endif
    265 
    266 ifdef CONFIG_EAP_SIM
    267 # EAP-SIM
    268 L_CFLAGS += -DEAP_SIM
    269 OBJS += eap_sim.c
    270 CONFIG_IEEE8021X_EAPOL=y
    271 CONFIG_EAP_SIM_COMMON=y
    272 endif
    273 
    274 ifdef CONFIG_EAP_LEAP
    275 # EAP-LEAP
    276 L_CFLAGS += -DEAP_LEAP
    277 OBJS += eap_leap.c
    278 MS_FUNCS=y
    279 CONFIG_IEEE8021X_EAPOL=y
    280 endif
    281 
    282 ifdef CONFIG_EAP_PSK
    283 # EAP-PSK
    284 L_CFLAGS += -DEAP_PSK
    285 OBJS += eap_psk.c eap_psk_common.c
    286 CONFIG_IEEE8021X_EAPOL=y
    287 NEED_AES=y
    288 endif
    289 
    290 ifdef CONFIG_EAP_AKA
    291 # EAP-AKA
    292 L_CFLAGS += -DEAP_AKA
    293 OBJS += eap_aka.c
    294 CONFIG_IEEE8021X_EAPOL=y
    295 CONFIG_EAP_SIM_COMMON=y
    296 endif
    297 
    298 ifdef CONFIG_EAP_SIM_COMMON
    299 OBJS += eap_sim_common.c
    300 NEED_AES=y
    301 endif
    302 
    303 ifdef CONFIG_EAP_TLV
    304 # EAP-TLV
    305 L_CFLAGS += -DEAP_TLV
    306 OBJS += eap_tlv.c
    307 endif
    308 
    309 ifdef CONFIG_EAP_FAST
    310 # EAP-FAST
    311 L_CFLAGS += -DEAP_FAST
    312 OBJS += eap_fast.c
    313 TLS_FUNCS=y
    314 endif
    315 
    316 ifdef CONFIG_EAP_PAX
    317 # EAP-PAX
    318 L_CFLAGS += -DEAP_PAX
    319 OBJS += eap_pax.c eap_pax_common.c
    320 CONFIG_IEEE8021X_EAPOL=y
    321 endif
    322 
    323 ifdef CONFIG_EAP_SAKE
    324 # EAP-SAKE
    325 L_CFLAGS += -DEAP_SAKE
    326 OBJS += eap_sake.c eap_sake_common.c
    327 CONFIG_IEEE8021X_EAPOL=y
    328 endif
    329 
    330 ifdef CONFIG_EAP_GPSK
    331 # EAP-GPSK
    332 L_CFLAGS += -DEAP_GPSK
    333 OBJS += eap_gpsk.c eap_gpsk_common.c
    334 CONFIG_IEEE8021X_EAPOL=y
    335 ifdef CONFIG_EAP_GPSK_SHA256
    336 L_CFLAGS += -DEAP_GPSK_SHA256
    337 NEED_SHA256=y
    338 endif
    339 endif
    340 ifdef CONFIG_EAP_VENDOR_TEST
    341 L_CFLAGS += -DEAP_VENDOR_TEST
    342 OBJS += eap_vendor_test.c
    343 CONFIG_IEEE8021X_EAPOL=y
    344 endif
    345 
    346 ifdef CONFIG_IEEE8021X_EAPOL
    347 # IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
    348 L_CFLAGS += -DIEEE8021X_EAPOL
    349 OBJS += eapol_sm.c eap.c eap_methods.c
    350 endif
    351 
    352 ifdef CONFIG_PCSC
    353 # PC/SC interface for smartcards (USIM, GSM SIM)
    354 L_CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC
    355 OBJS += pcsc_funcs.c
    356 # -lpthread may not be needed depending on how pcsc-lite was configured
    357 ifdef CONFIG_NATIVE_WINDOWS
    358 #Once MinGW gets support for WinScard, -lwinscard could be used instead of the
    359 #dynamic symbol loading that is now used in pcsc_funcs.c
    360 #LIBS += -lwinscard
    361 else
    362 LIBS += -lpcsclite -lpthread
    363 endif
    364 endif
    365 
    366 ifndef CONFIG_TLS
    367 CONFIG_TLS=openssl
    368 # CONFIG_TLS=internal
    369 endif
    370 
    371 ifeq ($(CONFIG_TLS), internal)
    372 ifndef CONFIG_CRYPTO
    373 CONFIG_CRYPTO=internal
    374 endif
    375 endif
    376 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    377 L_CFLAGS += -DCONFIG_INTERNAL_X509
    378 endif
    379 ifeq ($(CONFIG_CRYPTO), internal)
    380 L_CFLAGS += -DCONFIG_INTERNAL_X509
    381 endif
    382 
    383 
    384 ifdef TLS_FUNCS
    385 # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
    386 L_CFLAGS += -DEAP_TLS_FUNCS
    387 OBJS += eap_tls_common.c
    388 ifeq ($(CONFIG_TLS), openssl)
    389 L_CFLAGS += -DEAP_TLS_OPENSSL
    390 OBJS += tls_openssl.c
    391 LIBS += -lssl -lcrypto
    392 LIBS_p += -lcrypto
    393 endif
    394 ifeq ($(CONFIG_TLS), gnutls)
    395 OBJS += tls_gnutls.c
    396 LIBS += -lgnutls -lgcrypt -lgpg-error
    397 LIBS_p += -lgcrypt
    398 ifdef CONFIG_GNUTLS_EXTRA
    399 L_CFLAGS += -DCONFIG_GNUTLS_EXTRA
    400 LIBS += -lgnutls-extra
    401 endif
    402 endif
    403 ifeq ($(CONFIG_TLS), schannel)
    404 OBJS += tls_schannel.c
    405 endif
    406 ifeq ($(CONFIG_TLS), internal)
    407 OBJS += tls_internal.c tlsv1_common.c tlsv1_client.c asn1.c x509v3.c
    408 OBJS_p += asn1.c rc4.c aes_wrap.c
    409 ifneq ($(CONFIG_BACKEND), file)
    410 OBJS += base64.c
    411 endif
    412 L_CFLAGS += -DCONFIG_TLS_INTERNAL
    413 ifeq ($(CONFIG_CRYPTO), internal)
    414 ifdef CONFIG_INTERNAL_LIBTOMMATH
    415 L_CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
    416 else
    417 LIBS += -ltommath
    418 LIBS_p += -ltommath
    419 endif
    420 endif
    421 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    422 LIBS += -ltomcrypt -ltfm
    423 LIBS_p += -ltomcrypt -ltfm
    424 endif
    425 endif
    426 ifeq ($(CONFIG_TLS), none)
    427 OBJS += tls_none.c
    428 L_CFLAGS += -DEAP_TLS_NONE
    429 CONFIG_INTERNAL_AES=y
    430 CONFIG_INTERNAL_SHA1=y
    431 CONFIG_INTERNAL_MD5=y
    432 CONFIG_INTERNAL_SHA256=y
    433 endif
    434 ifdef CONFIG_SMARTCARD
    435 ifndef CONFIG_NATIVE_WINDOWS
    436 ifneq ($(CONFIG_L2_PACKET), freebsd)
    437 LIBS += -ldl
    438 endif
    439 endif
    440 endif
    441 NEED_CRYPTO=y
    442 else
    443 OBJS += tls_none.c
    444 endif
    445 
    446 ifdef CONFIG_PKCS12
    447 L_CFLAGS += -DPKCS12_FUNCS
    448 endif
    449 
    450 ifdef CONFIG_SMARTCARD
    451 L_CFLAGS += -DCONFIG_SMARTCARD
    452 endif
    453 
    454 ifdef MS_FUNCS
    455 OBJS += ms_funcs.c
    456 NEED_CRYPTO=y
    457 endif
    458 
    459 ifdef NEED_CRYPTO
    460 ifndef TLS_FUNCS
    461 ifeq ($(CONFIG_TLS), openssl)
    462 LIBS += -lcrypto
    463 LIBS_p += -lcrypto
    464 endif
    465 ifeq ($(CONFIG_TLS), gnutls)
    466 LIBS += -lgcrypt
    467 LIBS_p += -lgcrypt
    468 endif
    469 ifeq ($(CONFIG_TLS), schannel)
    470 endif
    471 ifeq ($(CONFIG_TLS), internal)
    472 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    473 LIBS += -ltomcrypt -ltfm
    474 LIBS_p += -ltomcrypt -ltfm
    475 endif
    476 endif
    477 endif
    478 ifeq ($(CONFIG_TLS), openssl)
    479 OBJS += crypto.c
    480 OBJS_p += crypto.c
    481 CONFIG_INTERNAL_SHA256=y
    482 endif
    483 ifeq ($(CONFIG_TLS), gnutls)
    484 OBJS += crypto_gnutls.c
    485 OBJS_p += crypto_gnutls.c
    486 CONFIG_INTERNAL_SHA256=y
    487 endif
    488 ifeq ($(CONFIG_TLS), schannel)
    489 OBJS += crypto_cryptoapi.c
    490 OBJS_p += crypto_cryptoapi.c
    491 CONFIG_INTERNAL_SHA256=y
    492 endif
    493 ifeq ($(CONFIG_TLS), internal)
    494 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    495 OBJS += crypto_libtomcrypt.c
    496 OBJS_p += crypto_libtomcrypt.c
    497 CONFIG_INTERNAL_SHA256=y
    498 endif
    499 ifeq ($(CONFIG_CRYPTO), internal)
    500 OBJS += crypto_internal.c rsa.c bignum.c
    501 OBJS_p += crypto_internal.c rsa.c bignum.c
    502 L_CFLAGS += -DCONFIG_CRYPTO_INTERNAL
    503 CONFIG_INTERNAL_AES=y
    504 CONFIG_INTERNAL_DES=y
    505 CONFIG_INTERNAL_SHA1=y
    506 CONFIG_INTERNAL_MD4=y
    507 CONFIG_INTERNAL_MD5=y
    508 CONFIG_INTERNAL_SHA256=y
    509 endif
    510 ifeq ($(CONFIG_CRYPTO), cryptoapi)
    511 OBJS += crypto_cryptoapi.c
    512 OBJS_p += crypto_cryptoapi.c
    513 L_CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
    514 CONFIG_INTERNAL_SHA256=y
    515 endif
    516 endif
    517 ifeq ($(CONFIG_TLS), none)
    518 OBJS += crypto_none.c
    519 OBJS_p += crypto_none.c
    520 CONFIG_INTERNAL_SHA256=y
    521 endif
    522 else
    523 CONFIG_INTERNAL_AES=y
    524 CONFIG_INTERNAL_SHA1=y
    525 CONFIG_INTERNAL_MD5=y
    526 endif
    527 
    528 ifdef CONFIG_INTERNAL_AES
    529 L_CFLAGS += -DINTERNAL_AES
    530 endif
    531 ifdef CONFIG_INTERNAL_SHA1
    532 L_CFLAGS += -DINTERNAL_SHA1
    533 endif
    534 ifdef CONFIG_INTERNAL_SHA256
    535 L_CFLAGS += -DINTERNAL_SHA256
    536 endif
    537 ifdef CONFIG_INTERNAL_MD5
    538 L_CFLAGS += -DINTERNAL_MD5
    539 endif
    540 ifdef CONFIG_INTERNAL_MD4
    541 L_CFLAGS += -DINTERNAL_MD4
    542 endif
    543 ifdef CONFIG_INTERNAL_DES
    544 L_CFLAGS += -DINTERNAL_DES
    545 endif
    546 
    547 ifdef NEED_SHA256
    548 OBJS += sha256.c
    549 endif
    550 
    551 ifdef CONFIG_WIRELESS_EXTENSION
    552 L_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
    553 OBJS_d += driver_wext.c
    554 endif
    555 
    556 ifdef CONFIG_CTRL_IFACE
    557 ifeq ($(CONFIG_CTRL_IFACE), y)
    558 ifdef CONFIG_NATIVE_WINDOWS
    559 CONFIG_CTRL_IFACE=udp
    560 else
    561 CONFIG_CTRL_IFACE=unix
    562 endif
    563 endif
    564 L_CFLAGS += -DCONFIG_CTRL_IFACE
    565 ifeq ($(CONFIG_CTRL_IFACE), udp)
    566 L_CFLAGS += -DCONFIG_CTRL_IFACE_UDP
    567 else
    568 L_CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
    569 endif
    570 OBJS += ctrl_iface.c ctrl_iface_$(CONFIG_CTRL_IFACE).c
    571 endif
    572 
    573 ifdef CONFIG_READLINE
    574 L_CFLAGS += -DCONFIG_READLINE
    575 LIBS_c += -lncurses -lreadline
    576 endif
    577 
    578 ifdef CONFIG_NATIVE_WINDOWS
    579 L_CFLAGS += -DCONFIG_NATIVE_WINDOWS
    580 LIBS += -lws2_32 -lgdi32 -lcrypt32
    581 LIBS_c += -lws2_32
    582 LIBS_p += -lws2_32
    583 ifeq ($(CONFIG_CRYPTO), cryptoapi)
    584 LIBS_p += -lcrypt32
    585 endif
    586 endif
    587 
    588 ifdef CONFIG_NO_STDOUT_DEBUG
    589 L_CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
    590 ifndef CONFIG_CTRL_IFACE
    591 CFLAGS += -DCONFIG_NO_WPA_MSG
    592 endif
    593 endif
    594 
    595 ifdef CONFIG_IPV6
    596 # for eapol_test only
    597 L_CFLAGS += -DCONFIG_IPV6
    598 endif
    599 
    600 ifdef CONFIG_PEERKEY
    601 L_CFLAGS += -DCONFIG_PEERKEY
    602 endif
    603 
    604 ifdef CONFIG_IEEE80211W
    605 L_CFLAGS += -DCONFIG_IEEE80211W
    606 NEED_SHA256=y
    607 endif
    608 
    609 ifndef CONFIG_NO_WPA
    610 OBJS += wpa.c preauth.c pmksa_cache.c
    611 NEED_AES=y
    612 else
    613 L_CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2
    614 endif
    615 
    616 ifdef CONFIG_NO_WPA2
    617 L_CFLAGS += -DCONFIG_NO_WPA2
    618 endif
    619 
    620 ifdef CONFIG_NO_AES_EXTRAS
    621 L_CFLAGS += -DCONFIG_NO_AES_WRAP
    622 L_CFLAGS += -DCONFIG_NO_AES_CTR -DCONFIG_NO_AES_OMAC1
    623 L_CFLAGS += -DCONFIG_NO_AES_EAX -DCONFIG_NO_AES_CBC
    624 endif
    625 
    626 ifdef NEED_AES
    627 OBJS += aes_wrap.c
    628 endif
    629 
    630 ifdef CONFIG_CLIENT_MLME
    631 OBJS += mlme.c
    632 L_CFLAGS += -DCONFIG_CLIENT_MLME
    633 endif
    634 
    635 ifndef CONFIG_MAIN
    636 CONFIG_MAIN=main
    637 endif
    638 
    639 ifdef CONFIG_DEBUG_FILE
    640 L_CFLAGS += -DCONFIG_DEBUG_FILE
    641 endif
    642 
    643 OBJS += wpa_supplicant.c events.c
    644 OBJS_t := $(OBJS) eapol_test.c radius.c radius_client.c
    645 OBJS_t2 := $(OBJS) preauth_test.c
    646 OBJS += $(CONFIG_MAIN).c drivers.c $(OBJS_d)
    647 
    648 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
    649 L_CFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED
    650 OBJS += ndis_events.c
    651 EXTRALIBS += -loleaut32 -lole32 -luuid
    652 ifdef PLATFORMSDKLIB
    653 EXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib
    654 else
    655 EXTRALIBS += WbemUuid.Lib
    656 endif
    657 endif
    658 
    659 ifeq ($(WPA_BUILD_SUPPLICANT),true)
    660 
    661 ########################
    662 
    663 include $(CLEAR_VARS)
    664 LOCAL_MODULE := wpa_cli
    665 LOCAL_MODULE_TAGS := debug
    666 LOCAL_SHARED_LIBRARIES := libc libcutils
    667 LOCAL_CFLAGS := $(L_CFLAGS)
    668 LOCAL_SRC_FILES := $(OBJS_c)
    669 LOCAL_C_INCLUDES := $(INCLUDES)
    670 include $(BUILD_EXECUTABLE)
    671 
    672 ########################
    673 include $(CLEAR_VARS)
    674 LOCAL_MODULE := wpa_supplicant
    675 ifdef CONFIG_DRIVER_CUSTOM
    676 LOCAL_STATIC_LIBRARIES := libCustomWifi
    677 endif
    678 ifneq ($(BOARD_WPA_SUPPLICANT_PRIVATE_LIB),)
    679 LOCAL_STATIC_LIBRARIES += $(BOARD_WPA_SUPPLICANT_PRIVATE_LIB)
    680 endif
    681 LOCAL_SHARED_LIBRARIES := libc libcutils libcrypto libssl
    682 LOCAL_CFLAGS := $(L_CFLAGS)
    683 LOCAL_SRC_FILES := $(OBJS)
    684 LOCAL_C_INCLUDES := $(INCLUDES)
    685 include $(BUILD_EXECUTABLE)
    686 
    687 ########################
    688 #
    689 #include $(CLEAR_VARS)
    690 #LOCAL_MODULE := eapol_test
    691 #ifdef CONFIG_DRIVER_CUSTOM
    692 #LOCAL_STATIC_LIBRARIES := libCustomWifi
    693 #endif
    694 #LOCAL_SHARED_LIBRARIES := libc libcrypto libssl
    695 #LOCAL_CFLAGS := $(L_CFLAGS)
    696 #LOCAL_SRC_FILES := $(OBJS_t)
    697 #LOCAL_C_INCLUDES := $(INCLUDES)
    698 #include $(BUILD_EXECUTABLE)
    699 #
    700 ########################
    701 #
    702 #local_target_dir := $(TARGET_OUT)/etc/wifi
    703 #
    704 #include $(CLEAR_VARS)
    705 #LOCAL_MODULE := wpa_supplicant.conf
    706 #LOCAL_MODULE_TAGS := user
    707 #LOCAL_MODULE_CLASS := ETC
    708 #LOCAL_MODULE_PATH := $(local_target_dir)
    709 #LOCAL_SRC_FILES := $(LOCAL_MODULE)
    710 #include $(BUILD_PREBUILT)
    711 #
    712 ########################
    713 
    714 endif # ifeq ($(WPA_BUILD_SUPPLICANT),true)
    715 
    716 include $(CLEAR_VARS)
    717 LOCAL_MODULE = libwpa_client
    718 LOCAL_CFLAGS = $(L_CFLAGS)
    719 LOCAL_SRC_FILES = wpa_ctrl.c os_unix.c
    720 LOCAL_C_INCLUDES = $(INCLUDES)
    721 LOCAL_SHARED_LIBRARIES := libcutils
    722 LOCAL_COPY_HEADERS_TO := libwpa_client
    723 LOCAL_COPY_HEADERS := wpa_ctrl.h
    724 include $(BUILD_SHARED_LIBRARY)
    725 
    726 endif # VER_0_5_X
    727