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 #
     17 
     18 LOCAL_PATH := $(call my-dir)
     19 
     20 WPA_BUILD_SUPPLICANT := false
     21 ifneq ($(BOARD_WPA_SUPPLICANT_DRIVER),)
     22   WPA_BUILD_SUPPLICANT := true
     23   CONFIG_DRIVER_$(BOARD_WPA_SUPPLICANT_DRIVER) = y
     24 endif
     25 
     26 include $(LOCAL_PATH)/.config
     27 
     28 # To force sizeof(enum) = 4
     29 ifeq ($(TARGET_ARCH),arm)
     30 L_CFLAGS += -mabi=aapcs-linux
     31 endif
     32 
     33 # To ignore possible wrong network configurations
     34 L_CFLAGS += -DWPA_IGNORE_CONFIG_ERRORS
     35 
     36 # To allow non-ASCII characters in SSID
     37 L_CFLAGS += -DWPA_UNICODE_SSID
     38 
     39 # OpenSSL is configured without engines on Android
     40 L_CFLAGS += -DOPENSSL_NO_ENGINE
     41 
     42 INCLUDES = $(LOCAL_PATH)
     43 INCLUDES += $(LOCAL_PATH)/src
     44 INCLUDES += $(LOCAL_PATH)/src/common
     45 # INCLUDES += $(LOCAL_PATH)/src/crypto # To force proper includes
     46 INCLUDES += $(LOCAL_PATH)/src/drivers
     47 INCLUDES += $(LOCAL_PATH)/src/eap_common
     48 INCLUDES += $(LOCAL_PATH)/src/eapol_supp
     49 INCLUDES += $(LOCAL_PATH)/src/eap_peer
     50 INCLUDES += $(LOCAL_PATH)/src/eap_server
     51 INCLUDES += $(LOCAL_PATH)/src/hlr_auc_gw
     52 INCLUDES += $(LOCAL_PATH)/src/l2_packet
     53 INCLUDES += $(LOCAL_PATH)/src/radius
     54 INCLUDES += $(LOCAL_PATH)/src/rsn_supp
     55 INCLUDES += $(LOCAL_PATH)/src/tls
     56 INCLUDES += $(LOCAL_PATH)/src/utils
     57 INCLUDES += $(LOCAL_PATH)/src/wps
     58 INCLUDES += external/openssl/include
     59 INCLUDES += frameworks/base/cmds/keystore
     60 
     61 OBJS = config.c
     62 OBJS += src/utils/common.c
     63 OBJS += src/utils/wpa_debug.c
     64 OBJS += src/utils/wpabuf.c
     65 OBJS += src/crypto/md5.c
     66 OBJS += src/crypto/rc4.c
     67 OBJS += src/crypto/md4.c
     68 OBJS += src/crypto/sha1.c
     69 OBJS += src/crypto/des.c
     70 OBJS_p = wpa_passphrase.c
     71 OBJS_p += src/utils/common.c
     72 OBJS_p += src/utils/wpa_debug.c
     73 OBJS_p += src/crypto/md5.c
     74 OBJS_p += src/crypto/md4.c
     75 OBJS_p += src/crypto/sha1.c
     76 OBJS_p += src/crypto/des.c
     77 OBJS_c = wpa_cli.c
     78 OBJS_c += src/common/wpa_ctrl.c
     79 OBJS_d =
     80 
     81 ifndef CONFIG_OS
     82 ifdef CONFIG_NATIVE_WINDOWS
     83 CONFIG_OS=win32
     84 else
     85 CONFIG_OS=unix
     86 endif
     87 endif
     88 
     89 ifeq ($(CONFIG_OS), internal)
     90 L_CFLAGS += -DOS_NO_C_LIB_DEFINES
     91 endif
     92 
     93 OBJS += src/utils/os_$(CONFIG_OS).c
     94 OBJS_p += src/utils/os_$(CONFIG_OS).c
     95 OBJS_c += src/utils/os_$(CONFIG_OS).c
     96 
     97 ifndef CONFIG_ELOOP
     98 CONFIG_ELOOP=eloop
     99 endif
    100 OBJS += src/utils/$(CONFIG_ELOOP).c
    101 
    102 
    103 ifdef CONFIG_EAPOL_TEST
    104 L_CFLAGS += -Werror -DEAPOL_TEST
    105 endif
    106 
    107 ifndef CONFIG_BACKEND
    108 CONFIG_BACKEND=file
    109 endif
    110 
    111 ifeq ($(CONFIG_BACKEND), file)
    112 OBJS += config_file.c
    113 ifndef CONFIG_NO_CONFIG_BLOBS
    114 NEED_BASE64=y
    115 endif
    116 L_CFLAGS += -DCONFIG_BACKEND_FILE
    117 endif
    118 
    119 ifeq ($(CONFIG_BACKEND), winreg)
    120 OBJS += config_winreg.c
    121 endif
    122 
    123 ifeq ($(CONFIG_BACKEND), none)
    124 OBJS += config_none.c
    125 endif
    126 
    127 ifdef CONFIG_NO_CONFIG_WRITE
    128 L_CFLAGS += -DCONFIG_NO_CONFIG_WRITE
    129 endif
    130 
    131 ifdef CONFIG_NO_CONFIG_BLOBS
    132 L_CFLAGS += -DCONFIG_NO_CONFIG_BLOBS
    133 endif
    134 
    135 ifdef CONFIG_NO_SCAN_PROCESSING
    136 L_CFLAGS += -DCONFIG_NO_SCAN_PROCESSING
    137 endif
    138 
    139 ifdef CONFIG_DRIVER_HOSTAP
    140 L_CFLAGS += -DCONFIG_DRIVER_HOSTAP
    141 OBJS_d += src/drivers/driver_hostap.c
    142 CONFIG_WIRELESS_EXTENSION=y
    143 endif
    144 
    145 ifdef CONFIG_DRIVER_WEXT
    146 L_CFLAGS += -DCONFIG_DRIVER_WEXT
    147 CONFIG_WIRELESS_EXTENSION=y
    148 endif
    149 
    150 ifdef CONFIG_DRIVER_NL80211
    151 L_CFLAGS += -DCONFIG_DRIVER_NL80211
    152 OBJS_d += src/drivers/driver_nl80211.c
    153 LIBS += -lnl
    154 ifdef CONFIG_CLIENT_MLME
    155 OBJS_d += src/drivers/radiotap.c
    156 endif
    157 endif
    158 
    159 ifdef CONFIG_DRIVER_PRISM54
    160 L_CFLAGS += -DCONFIG_DRIVER_PRISM54
    161 OBJS_d += src/drivers/driver_prism54.c
    162 CONFIG_WIRELESS_EXTENSION=y
    163 endif
    164 
    165 ifdef CONFIG_DRIVER_HERMES
    166 L_CFLAGS += -DCONFIG_DRIVER_HERMES
    167 OBJS_d += src/drivers/driver_hermes.c
    168 CONFIG_WIRELESS_EXTENSION=y
    169 endif
    170 
    171 ifdef CONFIG_DRIVER_MADWIFI
    172 L_CFLAGS += -DCONFIG_DRIVER_MADWIFI
    173 OBJS_d += src/drivers/driver_madwifi.c
    174 CONFIG_WIRELESS_EXTENSION=y
    175 endif
    176 
    177 ifdef CONFIG_DRIVER_ATMEL
    178 L_CFLAGS += -DCONFIG_DRIVER_ATMEL
    179 OBJS_d += src/drivers/driver_atmel.c
    180 CONFIG_WIRELESS_EXTENSION=y
    181 endif
    182 
    183 ifdef CONFIG_DRIVER_NDISWRAPPER
    184 L_CFLAGS += -DCONFIG_DRIVER_NDISWRAPPER
    185 OBJS_d += src/drivers/driver_ndiswrapper.c
    186 CONFIG_WIRELESS_EXTENSION=y
    187 endif
    188 
    189 ifdef CONFIG_DRIVER_RALINK
    190 L_CFLAGS += -DCONFIG_DRIVER_RALINK
    191 OBJS_d += src/drivers/driver_ralink.c
    192 endif
    193 
    194 ifdef CONFIG_DRIVER_BROADCOM
    195 L_CFLAGS += -DCONFIG_DRIVER_BROADCOM
    196 OBJS_d += src/drivers/driver_broadcom.c
    197 endif
    198 
    199 ifdef CONFIG_DRIVER_IPW
    200 L_CFLAGS += -DCONFIG_DRIVER_IPW
    201 OBJS_d += src/drivers/driver_ipw.c
    202 CONFIG_WIRELESS_EXTENSION=y
    203 endif
    204 
    205 ifdef CONFIG_DRIVER_BSD
    206 L_CFLAGS += -DCONFIG_DRIVER_BSD
    207 OBJS_d += src/drivers/driver_bsd.c
    208 ifndef CONFIG_L2_PACKET
    209 CONFIG_L2_PACKET=freebsd
    210 endif
    211 endif
    212 
    213 ifdef CONFIG_DRIVER_NDIS
    214 L_CFLAGS += -DCONFIG_DRIVER_NDIS
    215 OBJS_d += src/drivers/driver_ndis.c
    216 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
    217 OBJS_d += src/drivers/driver_ndis_.c
    218 endif
    219 ifndef CONFIG_L2_PACKET
    220 CONFIG_L2_PACKET=pcap
    221 endif
    222 CONFIG_WINPCAP=y
    223 ifdef CONFIG_USE_NDISUIO
    224 L_CFLAGS += -DCONFIG_USE_NDISUIO
    225 endif
    226 endif
    227 
    228 ifdef CONFIG_DRIVER_WIRED
    229 L_CFLAGS += -DCONFIG_DRIVER_WIRED
    230 OBJS_d += src/drivers/driver_wired.c
    231 endif
    232 
    233 ifdef CONFIG_DRIVER_TEST
    234 L_CFLAGS += -DCONFIG_DRIVER_TEST
    235 OBJS_d += src/drivers/driver_test.c
    236 endif
    237 
    238 ifdef CONFIG_DRIVER_CUSTOM
    239 L_CFLAGS += -DCONFIG_DRIVER_CUSTOM
    240 endif
    241 
    242 ifdef CONFIG_DRIVER_OSX
    243 L_CFLAGS += -DCONFIG_DRIVER_OSX
    244 OBJS_d += src/drivers/driver_osx.c
    245 LDFLAGS += -framework CoreFoundation
    246 LDFLAGS += -F/System/Library/PrivateFrameworks -framework Apple80211
    247 endif
    248 
    249 ifdef CONFIG_DRIVER_PS3
    250 L_CFLAGS += -DCONFIG_DRIVER_PS3 -m64
    251 OBJS_d += src/drivers/driver_ps3.c
    252 LDFLAGS += -m64
    253 endif
    254 
    255 ifdef CONFIG_DRIVER_IPHONE
    256 L_CFLAGS += -DCONFIG_DRIVER_IPHONE
    257 OBJS_d += src/drivers/driver_iphone.c
    258 OBJS_d += src/drivers/MobileApple80211.c
    259 LIBS += -framework CoreFoundation
    260 endif
    261 
    262 ifdef CONFIG_DRIVER_ROBOSWITCH
    263 L_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
    264 OBJS_d += src/drivers/driver_roboswitch.c
    265 endif
    266 
    267 ifndef CONFIG_L2_PACKET
    268 CONFIG_L2_PACKET=linux
    269 endif
    270 
    271 OBJS_l2 += src/l2_packet/l2_packet_$(CONFIG_L2_PACKET).c
    272 
    273 ifeq ($(CONFIG_L2_PACKET), pcap)
    274 ifdef CONFIG_WINPCAP
    275 L_CFLAGS += -DCONFIG_WINPCAP
    276 LIBS += -lwpcap -lpacket
    277 LIBS_w += -lwpcap
    278 else
    279 LIBS += -ldnet -lpcap
    280 endif
    281 endif
    282 
    283 ifeq ($(CONFIG_L2_PACKET), winpcap)
    284 LIBS += -lwpcap -lpacket
    285 LIBS_w += -lwpcap
    286 endif
    287 
    288 ifeq ($(CONFIG_L2_PACKET), freebsd)
    289 LIBS += -lpcap
    290 endif
    291 
    292 ifdef CONFIG_EAP_TLS
    293 # EAP-TLS
    294 ifeq ($(CONFIG_EAP_TLS), dyn)
    295 L_CFLAGS += -DEAP_TLS_DYNAMIC
    296 EAPDYN += src/eap_peer/eap_tls.so
    297 else
    298 L_CFLAGS += -DEAP_TLS
    299 OBJS += src/eap_peer/eap_tls.c
    300 OBJS_h += src/eap_server/eap_tls.c
    301 endif
    302 TLS_FUNCS=y
    303 CONFIG_IEEE8021X_EAPOL=y
    304 endif
    305 
    306 ifdef CONFIG_EAP_PEAP
    307 # EAP-PEAP
    308 ifeq ($(CONFIG_EAP_PEAP), dyn)
    309 L_CFLAGS += -DEAP_PEAP_DYNAMIC
    310 EAPDYN += src/eap_peer/eap_peap.so
    311 else
    312 L_CFLAGS += -DEAP_PEAP
    313 OBJS += src/eap_peer/eap_peap.c
    314 OBJS += src/eap_common/eap_peap_common.c
    315 OBJS_h += src/eap_server/eap_peap.c
    316 endif
    317 TLS_FUNCS=y
    318 CONFIG_IEEE8021X_EAPOL=y
    319 endif
    320 
    321 ifdef CONFIG_EAP_TTLS
    322 # EAP-TTLS
    323 ifeq ($(CONFIG_EAP_TTLS), dyn)
    324 L_CFLAGS += -DEAP_TTLS_DYNAMIC
    325 EAPDYN += src/eap_peer/eap_ttls.so
    326 else
    327 L_CFLAGS += -DEAP_TTLS
    328 OBJS += src/eap_peer/eap_ttls.c
    329 OBJS_h += src/eap_server/eap_ttls.c
    330 endif
    331 MS_FUNCS=y
    332 TLS_FUNCS=y
    333 CHAP=y
    334 CONFIG_IEEE8021X_EAPOL=y
    335 endif
    336 
    337 ifdef CONFIG_EAP_MD5
    338 # EAP-MD5
    339 ifeq ($(CONFIG_EAP_MD5), dyn)
    340 L_CFLAGS += -DEAP_MD5_DYNAMIC
    341 EAPDYN += src/eap_peer/eap_md5.so
    342 else
    343 L_CFLAGS += -DEAP_MD5
    344 OBJS += src/eap_peer/eap_md5.c
    345 OBJS_h += src/eap_server/eap_md5.c
    346 endif
    347 CHAP=y
    348 CONFIG_IEEE8021X_EAPOL=y
    349 endif
    350 
    351 # backwards compatibility for old spelling
    352 ifdef CONFIG_MSCHAPV2
    353 ifndef CONFIG_EAP_MSCHAPV2
    354 CONFIG_EAP_MSCHAPV2=y
    355 endif
    356 endif
    357 
    358 ifdef CONFIG_EAP_MSCHAPV2
    359 # EAP-MSCHAPv2
    360 ifeq ($(CONFIG_EAP_MSCHAPV2), dyn)
    361 L_CFLAGS += -DEAP_MSCHAPv2_DYNAMIC
    362 EAPDYN += src/eap_peer/eap_mschapv2.so
    363 EAPDYN += src/eap_peer/mschapv2.so
    364 else
    365 L_CFLAGS += -DEAP_MSCHAPv2
    366 OBJS += src/eap_peer/eap_mschapv2.c
    367 OBJS += src/eap_peer/mschapv2.c
    368 OBJS_h += src/eap_server/eap_mschapv2.c
    369 endif
    370 MS_FUNCS=y
    371 CONFIG_IEEE8021X_EAPOL=y
    372 endif
    373 
    374 ifdef CONFIG_EAP_GTC
    375 # EAP-GTC
    376 ifeq ($(CONFIG_EAP_GTC), dyn)
    377 L_CFLAGS += -DEAP_GTC_DYNAMIC
    378 EAPDYN += src/eap_peer/eap_gtc.so
    379 else
    380 L_CFLAGS += -DEAP_GTC
    381 OBJS += src/eap_peer/eap_gtc.c
    382 OBJS_h += src/eap_server/eap_gtc.c
    383 endif
    384 CONFIG_IEEE8021X_EAPOL=y
    385 endif
    386 
    387 ifdef CONFIG_EAP_OTP
    388 # EAP-OTP
    389 ifeq ($(CONFIG_EAP_OTP), dyn)
    390 L_CFLAGS += -DEAP_OTP_DYNAMIC
    391 EAPDYN += src/eap_peer/eap_otp.so
    392 else
    393 L_CFLAGS += -DEAP_OTP
    394 OBJS += src/eap_peer/eap_otp.c
    395 endif
    396 CONFIG_IEEE8021X_EAPOL=y
    397 endif
    398 
    399 ifdef CONFIG_EAP_SIM
    400 # EAP-SIM
    401 ifeq ($(CONFIG_EAP_SIM), dyn)
    402 L_CFLAGS += -DEAP_SIM_DYNAMIC
    403 EAPDYN += src/eap_peer/eap_sim.so
    404 else
    405 L_CFLAGS += -DEAP_SIM
    406 OBJS += src/eap_peer/eap_sim.c
    407 OBJS_h += src/eap_server/eap_sim.c
    408 endif
    409 CONFIG_IEEE8021X_EAPOL=y
    410 CONFIG_EAP_SIM_COMMON=y
    411 endif
    412 
    413 ifdef CONFIG_EAP_LEAP
    414 # EAP-LEAP
    415 ifeq ($(CONFIG_EAP_LEAP), dyn)
    416 L_CFLAGS += -DEAP_LEAP_DYNAMIC
    417 EAPDYN += src/eap_peer/eap_leap.so
    418 else
    419 L_CFLAGS += -DEAP_LEAP
    420 OBJS += src/eap_peer/eap_leap.c
    421 endif
    422 MS_FUNCS=y
    423 CONFIG_IEEE8021X_EAPOL=y
    424 endif
    425 
    426 ifdef CONFIG_EAP_PSK
    427 # EAP-PSK
    428 ifeq ($(CONFIG_EAP_PSK), dyn)
    429 L_CFLAGS += -DEAP_PSK_DYNAMIC
    430 EAPDYN += src/eap_peer/eap_psk.so
    431 else
    432 L_CFLAGS += -DEAP_PSK
    433 OBJS += src/eap_peer/eap_psk.c src/eap_common/eap_psk_common.c
    434 OBJS_h += src/eap_server/eap_psk.c
    435 endif
    436 CONFIG_IEEE8021X_EAPOL=y
    437 NEED_AES=y
    438 endif
    439 
    440 ifdef CONFIG_EAP_AKA
    441 # EAP-AKA
    442 ifeq ($(CONFIG_EAP_AKA), dyn)
    443 L_CFLAGS += -DEAP_AKA_DYNAMIC
    444 EAPDYN += src/eap_peer/eap_aka.so
    445 else
    446 L_CFLAGS += -DEAP_AKA
    447 OBJS += src/eap_peer/eap_aka.c
    448 OBJS_h += src/eap_server/eap_aka.c
    449 endif
    450 CONFIG_IEEE8021X_EAPOL=y
    451 CONFIG_EAP_SIM_COMMON=y
    452 endif
    453 
    454 ifdef CONFIG_EAP_AKA_PRIME
    455 # EAP-AKA'
    456 ifeq ($(CONFIG_EAP_AKA_PRIME), dyn)
    457 L_CFLAGS += -DEAP_AKA_PRIME_DYNAMIC
    458 else
    459 L_CFLAGS += -DEAP_AKA_PRIME
    460 endif
    461 NEED_SHA256=y
    462 endif
    463 
    464 ifdef CONFIG_EAP_SIM_COMMON
    465 OBJS += src/eap_common/eap_sim_common.c
    466 OBJS_h += src/eap_server/eap_sim_db.c
    467 NEED_AES=y
    468 NEED_FIPS186_2_PRF=y
    469 endif
    470 
    471 ifdef CONFIG_EAP_FAST
    472 # EAP-FAST
    473 ifeq ($(CONFIG_EAP_FAST), dyn)
    474 L_CFLAGS += -DEAP_FAST_DYNAMIC
    475 EAPDYN += src/eap_peer/eap_fast.so
    476 EAPDYN += src/eap_common/eap_fast_common.c
    477 else
    478 L_CFLAGS += -DEAP_FAST
    479 OBJS += src/eap_peer/eap_fast.c src/eap_peer/eap_fast_pac.c
    480 OBJS += src/eap_common/eap_fast_common.c
    481 OBJS_h += src/eap_server/eap_fast.c
    482 endif
    483 TLS_FUNCS=y
    484 CONFIG_IEEE8021X_EAPOL=y
    485 NEED_T_PRF=y
    486 endif
    487 
    488 ifdef CONFIG_EAP_PAX
    489 # EAP-PAX
    490 ifeq ($(CONFIG_EAP_PAX), dyn)
    491 L_CFLAGS += -DEAP_PAX_DYNAMIC
    492 EAPDYN += src/eap_peer/eap_pax.so
    493 else
    494 L_CFLAGS += -DEAP_PAX
    495 OBJS += src/eap_peer/eap_pax.c src/eap_common/eap_pax_common.c
    496 OBJS_h += src/eap_server/eap_pax.c
    497 endif
    498 CONFIG_IEEE8021X_EAPOL=y
    499 endif
    500 
    501 ifdef CONFIG_EAP_SAKE
    502 # EAP-SAKE
    503 ifeq ($(CONFIG_EAP_SAKE), dyn)
    504 L_CFLAGS += -DEAP_SAKE_DYNAMIC
    505 EAPDYN += src/eap_peer/eap_sake.so
    506 else
    507 L_CFLAGS += -DEAP_SAKE
    508 OBJS += src/eap_peer/eap_sake.c src/eap_common/eap_sake_common.c
    509 OBJS_h += src/eap_server/eap_sake.c
    510 endif
    511 CONFIG_IEEE8021X_EAPOL=y
    512 endif
    513 
    514 ifdef CONFIG_EAP_GPSK
    515 # EAP-GPSK
    516 ifeq ($(CONFIG_EAP_GPSK), dyn)
    517 L_CFLAGS += -DEAP_GPSK_DYNAMIC
    518 EAPDYN += src/eap_peer/eap_gpsk.so
    519 else
    520 L_CFLAGS += -DEAP_GPSK
    521 OBJS += src/eap_peer/eap_gpsk.c src/eap_common/eap_gpsk_common.c
    522 OBJS_h += src/eap_server/eap_gpsk.c
    523 endif
    524 CONFIG_IEEE8021X_EAPOL=y
    525 ifdef CONFIG_EAP_GPSK_SHA256
    526 CFLAGS += -DEAP_GPSK_SHA256
    527 endif
    528 NEED_SHA256=y
    529 endif
    530 
    531 ifdef CONFIG_WPS
    532 # EAP-WSC
    533 L_CFLAGS += -DCONFIG_WPS -DEAP_WSC
    534 OBJS += wps_supplicant.c
    535 OBJS += src/utils/uuid.c
    536 OBJS += src/eap_peer/eap_wsc.c src/eap_common/eap_wsc_common.c
    537 OBJS += src/wps/wps.c
    538 OBJS += src/wps/wps_common.c
    539 OBJS += src/wps/wps_attr_parse.c
    540 OBJS += src/wps/wps_attr_build.c
    541 OBJS += src/wps/wps_attr_process.c
    542 OBJS += src/wps/wps_dev_attr.c
    543 OBJS += src/wps/wps_enrollee.c
    544 OBJS += src/wps/wps_registrar.c
    545 OBJS_h += src/eap_server/eap_wsc.c
    546 CONFIG_IEEE8021X_EAPOL=y
    547 NEED_DH_GROUPS=y
    548 NEED_SHA256=y
    549 NEED_BASE64=y
    550 NEED_CRYPTO=y
    551 NEED_80211_COMMON=y
    552 
    553 ifdef CONFIG_WPS_UPNP
    554 L_CFLAGS += -DCONFIG_WPS_UPNP
    555 OBJS += src/wps/wps_upnp.c
    556 OBJS += src/wps/wps_upnp_ssdp.c
    557 OBJS += src/wps/wps_upnp_web.c
    558 OBJS += src/wps/wps_upnp_event.c
    559 OBJS += src/wps/httpread.c
    560 endif
    561 
    562 endif
    563 
    564 ifdef CONFIG_EAP_IKEV2
    565 # EAP-IKEv2
    566 ifeq ($(CONFIG_EAP_IKEV2), dyn)
    567 L_CFLAGS += -DEAP_IKEV2_DYNAMIC
    568 EAPDYN += src/eap_peer/eap_ikev2.so src/eap_peer/ikev2.c
    569 EAPDYN += src/eap_common/eap_ikev2_common.c src/eap_common/ikev2_common.c
    570 else
    571 L_CFLAGS += -DEAP_IKEV2
    572 OBJS += src/eap_peer/eap_ikev2.c src/eap_peer/ikev2.c
    573 OBJS += src/eap_common/eap_ikev2_common.c src/eap_common/ikev2_common.c
    574 OBJS_h += src/eap_server/eap_ikev2.c
    575 OBJS_h += src/eap_server/ikev2.c
    576 endif
    577 CONFIG_IEEE8021X_EAPOL=y
    578 NEED_DH_GROUPS=y
    579 NEED_DH_GROUPS_ALL=y
    580 endif
    581 
    582 ifdef CONFIG_EAP_VENDOR_TEST
    583 ifeq ($(CONFIG_EAP_VENDOR_TEST), dyn)
    584 L_CFLAGS += -DEAP_VENDOR_TEST_DYNAMIC
    585 EAPDYN += src/eap_peer/eap_vendor_test.so
    586 else
    587 L_CFLAGS += -DEAP_VENDOR_TEST
    588 OBJS += src/eap_peer/eap_vendor_test.c
    589 OBJS_h += src/eap_server/eap_vendor_test.c
    590 endif
    591 CONFIG_IEEE8021X_EAPOL=y
    592 endif
    593 
    594 ifdef CONFIG_EAP_TNC
    595 # EAP-TNC
    596 L_CFLAGS += -DEAP_TNC
    597 OBJS += src/eap_peer/eap_tnc.c
    598 OBJS += src/eap_peer/tncc.c
    599 NEED_BASE64=y
    600 ifndef CONFIG_NATIVE_WINDOWS
    601 ifndef CONFIG_DRIVER_BSD
    602 LIBS += -ldl
    603 endif
    604 endif
    605 endif
    606 
    607 ifdef CONFIG_IEEE8021X_EAPOL
    608 # IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)
    609 L_CFLAGS += -DIEEE8021X_EAPOL
    610 OBJS += src/eapol_supp/eapol_supp_sm.c src/eap_peer/eap.c src/eap_common/eap_common.c src/eap_peer/eap_methods.c
    611 ifdef CONFIG_DYNAMIC_EAP_METHODS
    612 L_CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS
    613 LIBS += -ldl -rdynamic
    614 endif
    615 endif
    616 
    617 ifdef CONFIG_EAP_SERVER
    618 L_CFLAGS += -DEAP_SERVER
    619 OBJS_h += src/eap_server/eap.c
    620 OBJS_h += src/eap_server/eap_identity.c
    621 OBJS_h += src/eap_server/eap_methods.c
    622 endif
    623 
    624 ifdef CONFIG_RADIUS_CLIENT
    625 OBJS_h += src/utils/ip_addr.c
    626 OBJS_h += src/radius/radius.c
    627 OBJS_h += src/radius/radius_client.c
    628 endif
    629 
    630 ifdef CONFIG_AUTHENTICATOR
    631 OBJS_h += hostapd/eapol_sm.c
    632 OBJS_h += hostapd/ieee802_1x.c
    633 endif
    634 
    635 ifdef CONFIG_WPA_AUTHENTICATOR
    636 OBJS_h += hostapd/wpa.c
    637 OBJS_h += hostapd/wpa_auth_ie.c
    638 ifdef CONFIG_IEEE80211R
    639 OBJS_h += hostapd/wpa_ft.c
    640 endif
    641 ifdef CONFIG_PEERKEY
    642 OBJS_h += hostapd/peerkey.c
    643 endif
    644 endif
    645 
    646 ifdef CONFIG_PCSC
    647 # PC/SC interface for smartcards (USIM, GSM SIM)
    648 L_CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC
    649 OBJS += src/utils/pcsc_funcs.c
    650 # -lpthread may not be needed depending on how pcsc-lite was configured
    651 ifdef CONFIG_NATIVE_WINDOWS
    652 #Once MinGW gets support for WinScard, -lwinscard could be used instead of the
    653 #dynamic symbol loading that is now used in pcsc_funcs.c
    654 #LIBS += -lwinscard
    655 else
    656 LIBS += -lpcsclite -lpthread
    657 endif
    658 endif
    659 
    660 ifdef CONFIG_SIM_SIMULATOR
    661 L_CFLAGS += -DCONFIG_SIM_SIMULATOR
    662 NEED_MILENAGE=y
    663 endif
    664 
    665 ifdef CONFIG_USIM_SIMULATOR
    666 L_CFLAGS += -DCONFIG_USIM_SIMULATOR
    667 NEED_MILENAGE=y
    668 endif
    669 
    670 ifdef NEED_MILENAGE
    671 OBJS += src/hlr_auc_gw/milenage.c
    672 endif
    673 
    674 ifndef CONFIG_TLS
    675 CONFIG_TLS=openssl
    676 endif
    677 
    678 ifeq ($(CONFIG_TLS), internal)
    679 ifndef CONFIG_CRYPTO
    680 CONFIG_CRYPTO=internal
    681 endif
    682 endif
    683 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    684 L_CFLAGS += -DCONFIG_INTERNAL_X509
    685 endif
    686 ifeq ($(CONFIG_CRYPTO), internal)
    687 L_CFLAGS += -DCONFIG_INTERNAL_X509
    688 endif
    689 
    690 
    691 ifdef TLS_FUNCS
    692 # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)
    693 L_CFLAGS += -DEAP_TLS_FUNCS
    694 OBJS += src/eap_peer/eap_tls_common.c
    695 OBJS_h += src/eap_server/eap_tls_common.c
    696 NEED_TLS_PRF=y
    697 ifeq ($(CONFIG_TLS), openssl)
    698 L_CFLAGS += -DEAP_TLS_OPENSSL
    699 OBJS += src/crypto/tls_openssl.c
    700 LIBS += -lssl -lcrypto
    701 LIBS_p += -lcrypto
    702 endif
    703 ifeq ($(CONFIG_TLS), gnutls)
    704 OBJS += src/crypto/tls_gnutls.c
    705 LIBS += -lgnutls -lgcrypt -lgpg-error
    706 LIBS_p += -lgcrypt
    707 ifdef CONFIG_GNUTLS_EXTRA
    708 L_CFLAGS += -DCONFIG_GNUTLS_EXTRA
    709 LIBS += -lgnutls-extra
    710 endif
    711 endif
    712 ifeq ($(CONFIG_TLS), schannel)
    713 OBJS += src/crypto/tls_schannel.c
    714 endif
    715 ifeq ($(CONFIG_TLS), internal)
    716 OBJS += src/crypto/tls_internal.c
    717 OBJS += src/tls/tlsv1_common.c src/tls/tlsv1_record.c
    718 OBJS += src/tls/tlsv1_cred.c src/tls/tlsv1_client.c
    719 OBJS += src/tls/tlsv1_client_write.c src/tls/tlsv1_client_read.c
    720 OBJS += src/tls/asn1.c src/tls/rsa.c src/tls/x509v3.c
    721 OBJS_p += src/tls/asn1.c src/tls/rsa.c
    722 OBJS_p += src/crypto/rc4.c src/crypto/aes_wrap.c src/crypto/aes.c
    723 NEED_BASE64=y
    724 NEED_TLS_PRF=y
    725 L_CFLAGS += -DCONFIG_TLS_INTERNAL
    726 L_CFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT
    727 ifeq ($(CONFIG_CRYPTO), internal)
    728 endif
    729 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    730 LIBS += -ltomcrypt -ltfm
    731 LIBS_p += -ltomcrypt -ltfm
    732 endif
    733 endif
    734 ifeq ($(CONFIG_TLS), none)
    735 OBJS += src/crypto/tls_none.c
    736 L_CFLAGS += -DEAP_TLS_NONE
    737 CONFIG_INTERNAL_AES=y
    738 CONFIG_INTERNAL_SHA1=y
    739 CONFIG_INTERNAL_MD5=y
    740 CONFIG_INTERNAL_SHA256=y
    741 endif
    742 ifdef CONFIG_SMARTCARD
    743 ifndef CONFIG_NATIVE_WINDOWS
    744 ifneq ($(CONFIG_L2_PACKET), freebsd)
    745 LIBS += -ldl
    746 endif
    747 endif
    748 endif
    749 NEED_CRYPTO=y
    750 else
    751 OBJS += src/crypto/tls_none.c
    752 endif
    753 
    754 ifdef CONFIG_PKCS12
    755 L_CFLAGS += -DPKCS12_FUNCS
    756 endif
    757 
    758 ifdef CONFIG_SMARTCARD
    759 L_CFLAGS += -DCONFIG_SMARTCARD
    760 endif
    761 
    762 ifdef MS_FUNCS
    763 OBJS += src/crypto/ms_funcs.c
    764 NEED_CRYPTO=y
    765 endif
    766 
    767 ifdef CHAP
    768 OBJS += src/eap_common/chap.c
    769 endif
    770 
    771 ifdef NEED_CRYPTO
    772 ifndef TLS_FUNCS
    773 ifeq ($(CONFIG_TLS), openssl)
    774 LIBS += -lcrypto
    775 LIBS_p += -lcrypto
    776 endif
    777 ifeq ($(CONFIG_TLS), gnutls)
    778 LIBS += -lgcrypt
    779 LIBS_p += -lgcrypt
    780 endif
    781 ifeq ($(CONFIG_TLS), schannel)
    782 endif
    783 ifeq ($(CONFIG_TLS), internal)
    784 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    785 LIBS += -ltomcrypt -ltfm
    786 LIBS_p += -ltomcrypt -ltfm
    787 endif
    788 endif
    789 endif
    790 ifeq ($(CONFIG_TLS), openssl)
    791 OBJS += src/crypto/crypto_openssl.c
    792 OBJS_p += src/crypto/crypto_openssl.c
    793 CONFIG_INTERNAL_SHA256=y
    794 endif
    795 ifeq ($(CONFIG_TLS), gnutls)
    796 OBJS += src/crypto/crypto_gnutls.c
    797 OBJS_p += src/crypto/crypto_gnutls.c
    798 CONFIG_INTERNAL_SHA256=y
    799 endif
    800 ifeq ($(CONFIG_TLS), schannel)
    801 OBJS += src/crypto/crypto_cryptoapi.c
    802 OBJS_p += src/crypto/crypto_cryptoapi.c
    803 CONFIG_INTERNAL_SHA256=y
    804 endif
    805 ifeq ($(CONFIG_TLS), internal)
    806 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
    807 OBJS += src/crypto/crypto_libtomcrypt.c
    808 OBJS_p += src/crypto/crypto_libtomcrypt.c
    809 CONFIG_INTERNAL_SHA256=y
    810 endif
    811 ifeq ($(CONFIG_CRYPTO), internal)
    812 OBJS += src/crypto/crypto_internal.c src/tls/bignum.c
    813 OBJS_p += src/crypto/crypto_internal.c src/tls/bignum.c
    814 L_CFLAGS += -DCONFIG_CRYPTO_INTERNAL
    815 ifdef CONFIG_INTERNAL_LIBTOMMATH
    816 L_CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
    817 ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
    818 L_CFLAGS += -DLTM_FAST
    819 endif
    820 else
    821 LIBS += -ltommath
    822 LIBS_p += -ltommath
    823 endif
    824 CONFIG_INTERNAL_AES=y
    825 CONFIG_INTERNAL_DES=y
    826 CONFIG_INTERNAL_SHA1=y
    827 CONFIG_INTERNAL_MD4=y
    828 CONFIG_INTERNAL_MD5=y
    829 CONFIG_INTERNAL_SHA256=y
    830 endif
    831 ifeq ($(CONFIG_CRYPTO), cryptoapi)
    832 OBJS += src/crypto/crypto_cryptoapi.c
    833 OBJS_p += src/crypto/crypto_cryptoapi.c
    834 L_CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
    835 CONFIG_INTERNAL_SHA256=y
    836 endif
    837 endif
    838 ifeq ($(CONFIG_TLS), none)
    839 OBJS += src/crypto/crypto_none.c
    840 OBJS_p += src/crypto/crypto_none.c
    841 CONFIG_INTERNAL_SHA256=y
    842 endif
    843 else
    844 CONFIG_INTERNAL_AES=y
    845 CONFIG_INTERNAL_SHA1=y
    846 CONFIG_INTERNAL_MD5=y
    847 endif
    848 
    849 ifdef CONFIG_INTERNAL_AES
    850 L_CFLAGS += -DINTERNAL_AES
    851 endif
    852 ifdef CONFIG_INTERNAL_SHA1
    853 L_CFLAGS += -DINTERNAL_SHA1
    854 endif
    855 ifdef CONFIG_INTERNAL_SHA256
    856 L_CFLAGS += -DINTERNAL_SHA256
    857 endif
    858 ifdef CONFIG_INTERNAL_MD5
    859 L_CFLAGS += -DINTERNAL_MD5
    860 endif
    861 ifdef CONFIG_INTERNAL_MD4
    862 L_CFLAGS += -DINTERNAL_MD4
    863 endif
    864 ifdef CONFIG_INTERNAL_DES
    865 L_CFLAGS += -DINTERNAL_DES
    866 endif
    867 
    868 ifdef CONFIG_IEEE80211R
    869 NEED_SHA256=y
    870 endif
    871 
    872 ifdef CONFIG_IEEE80211W
    873 L_CFLAGS += -DCONFIG_IEEE80211W
    874 NEED_SHA256=y
    875 endif
    876 
    877 ifdef NEED_SHA256
    878 OBJS += src/crypto/sha256.c
    879 L_CFLAGS += -DNEED_SHA256
    880 endif
    881 
    882 ifdef CONFIG_WIRELESS_EXTENSION
    883 OBJS_d += src/drivers/driver_wext.c
    884 endif
    885 
    886 ifdef CONFIG_CTRL_IFACE
    887 ifeq ($(CONFIG_CTRL_IFACE), y)
    888 ifdef CONFIG_NATIVE_WINDOWS
    889 CONFIG_CTRL_IFACE=named_pipe
    890 else
    891 CONFIG_CTRL_IFACE=unix
    892 endif
    893 endif
    894 L_CFLAGS += -DCONFIG_CTRL_IFACE
    895 ifeq ($(CONFIG_CTRL_IFACE), unix)
    896 L_CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
    897 endif
    898 ifeq ($(CONFIG_CTRL_IFACE), udp)
    899 L_CFLAGS += -DCONFIG_CTRL_IFACE_UDP
    900 endif
    901 ifeq ($(CONFIG_CTRL_IFACE), named_pipe)
    902 L_CFLAGS += -DCONFIG_CTRL_IFACE_NAMED_PIPE
    903 endif
    904 OBJS += ctrl_iface.c ctrl_iface_$(CONFIG_CTRL_IFACE).c
    905 endif
    906 
    907 ifdef CONFIG_CTRL_IFACE_DBUS
    908 L_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
    909 OBJS += ctrl_iface_dbus.c ctrl_iface_dbus_handlers.c dbus_dict_helpers.c
    910 ifndef DBUS_LIBS
    911 DBUS_LIBS := $(shell pkg-config --libs dbus-1)
    912 endif
    913 LIBS += $(DBUS_LIBS)
    914 ifndef DBUS_INCLUDE
    915 DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1)
    916 endif
    917 dbus_version=$(subst ., ,$(shell pkg-config --modversion dbus-1))
    918 DBUS_VERSION_MAJOR=$(word 1,$(dbus_version))
    919 DBUS_VERSION_MINOR=$(word 2,$(dbus_version))
    920 ifeq ($(DBUS_VERSION_MAJOR),)
    921 DBUS_VERSION_MAJOR=0
    922 endif
    923 ifeq ($(DBUS_VERSION_MINOR),)
    924 DBUS_VERSION_MINOR=0
    925 endif
    926 DBUS_INCLUDE += -DDBUS_VERSION_MAJOR=$(DBUS_VERSION_MAJOR)
    927 DBUS_INCLUDE += -DDBUS_VERSION_MINOR=$(DBUS_VERSION_MINOR)
    928 L_CFLAGS += $(DBUS_INCLUDE)
    929 endif
    930 
    931 ifdef CONFIG_READLINE
    932 L_CFLAGS += -DCONFIG_READLINE
    933 LIBS_c += -lncurses -lreadline
    934 endif
    935 
    936 ifdef CONFIG_NATIVE_WINDOWS
    937 L_CFLAGS += -DCONFIG_NATIVE_WINDOWS
    938 LIBS += -lws2_32 -lgdi32 -lcrypt32
    939 LIBS_c += -lws2_32
    940 LIBS_p += -lws2_32 -lgdi32
    941 ifeq ($(CONFIG_CRYPTO), cryptoapi)
    942 LIBS_p += -lcrypt32
    943 endif
    944 endif
    945 
    946 ifdef CONFIG_NO_STDOUT_DEBUG
    947 L_CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
    948 ifndef CONFIG_CTRL_IFACE
    949 L_CFLAGS += -DCONFIG_NO_WPA_MSG
    950 endif
    951 endif
    952 
    953 ifdef CONFIG_IPV6
    954 # for eapol_test only
    955 L_CFLAGS += -DCONFIG_IPV6
    956 endif
    957 
    958 ifdef CONFIG_PEERKEY
    959 L_CFLAGS += -DCONFIG_PEERKEY
    960 endif
    961 
    962 ifdef CONFIG_IEEE80211R
    963 L_CFLAGS += -DCONFIG_IEEE80211R
    964 OBJS += src/rsn_supp/wpa_ft.c
    965 endif
    966 
    967 ifndef CONFIG_NO_WPA
    968 OBJS += src/rsn_supp/wpa.c
    969 OBJS += src/rsn_supp/preauth.c
    970 OBJS += src/rsn_supp/pmksa_cache.c
    971 OBJS += src/rsn_supp/peerkey.c
    972 OBJS += src/rsn_supp/wpa_ie.c
    973 OBJS += src/common/wpa_common.c
    974 NEED_AES=y
    975 else
    976 L_CFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2
    977 endif
    978 
    979 ifdef CONFIG_NO_WPA2
    980 L_CFLAGS += -DCONFIG_NO_WPA2
    981 endif
    982 
    983 ifdef CONFIG_NO_WPA_PASSPHRASE
    984 L_CFLAGS += -DCONFIG_NO_PBKDF2
    985 endif
    986 
    987 ifdef CONFIG_NO_AES_EXTRAS
    988 L_CFLAGS += -DCONFIG_NO_AES_WRAP
    989 L_CFLAGS += -DCONFIG_NO_AES_CTR -DCONFIG_NO_AES_OMAC1
    990 L_CFLAGS += -DCONFIG_NO_AES_EAX -DCONFIG_NO_AES_CBC
    991 L_CFLAGS += -DCONFIG_NO_AES_ENCRYPT
    992 L_CFLAGS += -DCONFIG_NO_AES_ENCRYPT_BLOCK
    993 endif
    994 
    995 ifdef NEED_AES
    996 OBJS += src/crypto/aes_wrap.c src/crypto/aes.c
    997 endif
    998 
    999 ifdef NEED_DH_GROUPS
   1000 OBJS += src/crypto/dh_groups.c
   1001 ifdef NEED_DH_GROUPS_ALL
   1002 L_CFLAGS += -DALL_DH_GROUPS
   1003 endif
   1004 endif
   1005 
   1006 ifndef NEED_FIPS186_2_PRF
   1007 L_CFLAGS += -DCONFIG_NO_FIPS186_2_PRF
   1008 endif
   1009 
   1010 ifndef NEED_T_PRF
   1011 L_CFLAGS += -DCONFIG_NO_T_PRF
   1012 endif
   1013 
   1014 ifndef NEED_TLS_PRF
   1015 L_CFLAGS += -DCONFIG_NO_TLS_PRF
   1016 endif
   1017 
   1018 ifdef NEED_BASE64
   1019 OBJS += src/utils/base64.c
   1020 endif
   1021 
   1022 ifdef CONFIG_CLIENT_MLME
   1023 OBJS += mlme.c src/common/ieee802_11_common.c
   1024 L_CFLAGS += -DCONFIG_CLIENT_MLME
   1025 endif
   1026 
   1027 ifndef CONFIG_MAIN
   1028 CONFIG_MAIN=main
   1029 endif
   1030 
   1031 ifdef CONFIG_DEBUG_FILE
   1032 L_CFLAGS += -DCONFIG_DEBUG_FILE
   1033 endif
   1034 
   1035 ifdef CONFIG_ANDROID_LOG
   1036 L_CFLAGS += -DCONFIG_ANDROID_LOG
   1037 endif
   1038 
   1039 ifdef CONFIG_DELAYED_MIC_ERROR_REPORT
   1040 L_CFLAGS += -DCONFIG_DELAYED_MIC_ERROR_REPORT
   1041 endif
   1042 
   1043 OBJS += src/drivers/scan_helpers.c
   1044 
   1045 OBJS_wpa_rm := ctrl_iface.c mlme.c ctrl_iface_unix.c
   1046 OBJS_wpa := $(filter-out $(OBJS_wpa_rm),$(OBJS)) $(OBJS_h) tests/test_wpa.c
   1047 ifdef CONFIG_AUTHENTICATOR
   1048 OBJS_wpa += tests/link_test.c
   1049 endif
   1050 OBJS_wpa += $(OBJS_l2)
   1051 OBJS += wpa_supplicant.c events.c blacklist.c wpas_glue.c scan.c
   1052 OBJS_t := $(OBJS) $(OBJS_l2) eapol_test.c src/radius/radius.c src/radius/radius_client.c
   1053 OBJS_t += src/utils/ip_addr.c
   1054 OBJS_t2 := $(OBJS) $(OBJS_l2) preauth_test.c
   1055 OBJS += $(CONFIG_MAIN).c
   1056 
   1057 ifdef CONFIG_PRIVSEP
   1058 OBJS_priv += $(OBJS_d) src/drivers/drivers.c src/drivers/scan_helpers.c
   1059 OBJS_priv += $(OBJS_l2)
   1060 OBJS_priv += src/utils/os_$(CONFIG_OS).c
   1061 OBJS_priv += src/utils/$(CONFIG_ELOOP).c
   1062 OBJS_priv += src/utils/common.c
   1063 OBJS_priv += src/utils/wpa_debug.c
   1064 OBJS_priv += src/utils/wpabuf.c
   1065 OBJS_priv += wpa_priv.c
   1066 ifdef CONFIG_DRIVER_TEST
   1067 OBJS_priv += src/crypto/sha1.c
   1068 OBJS_priv += src/crypto/md5.c
   1069 ifeq ($(CONFIG_TLS), openssl)
   1070 OBJS_priv += src/crypto/crypto_openssl.c
   1071 endif
   1072 ifeq ($(CONFIG_TLS), gnutls)
   1073 OBJS_priv += src/crypto/crypto_gnutls.c
   1074 endif
   1075 ifeq ($(CONFIG_TLS), internal)
   1076 ifeq ($(CONFIG_CRYPTO), libtomcrypt)
   1077 OBJS_priv += src/crypto/crypto_libtomcrypt.c
   1078 else
   1079 OBJS_priv += src/crypto/crypto_internal.c
   1080 endif
   1081 endif
   1082 endif # CONFIG_DRIVER_TEST
   1083 OBJS += src/l2_packet/l2_packet_privsep.c
   1084 OBJS += src/drivers/driver_privsep.c
   1085 EXTRA_progs += wpa_priv
   1086 else
   1087 OBJS += $(OBJS_d) src/drivers/drivers.c
   1088 OBJS += $(OBJS_l2)
   1089 endif
   1090 
   1091 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
   1092 L_CFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED
   1093 OBJS += src/drivers/ndis_events.c
   1094 EXTRALIBS += -loleaut32 -lole32 -luuid
   1095 ifdef PLATFORMSDKLIB
   1096 EXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib
   1097 else
   1098 EXTRALIBS += WbemUuid.Lib
   1099 endif
   1100 endif
   1101 
   1102 ifndef LDO
   1103 LDO=$(CC)
   1104 endif
   1105 
   1106 ifeq ($(WPA_BUILD_SUPPLICANT),true)
   1107 
   1108 ########################
   1109 
   1110 include $(CLEAR_VARS)
   1111 LOCAL_MODULE := wpa_cli
   1112 LOCAL_MODULE_TAGS := debug
   1113 LOCAL_SHARED_LIBRARIES := libc libcutils
   1114 LOCAL_CFLAGS := $(L_CFLAGS)
   1115 LOCAL_SRC_FILES := $(OBJS_c)
   1116 LOCAL_C_INCLUDES := $(INCLUDES)
   1117 include $(BUILD_EXECUTABLE)
   1118 
   1119 ########################
   1120 include $(CLEAR_VARS)
   1121 LOCAL_MODULE := wpa_supplicant
   1122 ifdef CONFIG_DRIVER_CUSTOM
   1123 LOCAL_STATIC_LIBRARIES := libCustomWifi
   1124 endif
   1125 ifneq ($(BOARD_WPA_SUPPLICANT_PRIVATE_LIB),)
   1126 LOCAL_STATIC_LIBRARIES += $(BOARD_WPA_SUPPLICANT_PRIVATE_LIB)
   1127 endif
   1128 LOCAL_SHARED_LIBRARIES := libc libcutils libcrypto libssl
   1129 LOCAL_CFLAGS := $(L_CFLAGS)
   1130 LOCAL_SRC_FILES := $(OBJS)
   1131 LOCAL_C_INCLUDES := $(INCLUDES)
   1132 include $(BUILD_EXECUTABLE)
   1133 
   1134 ########################
   1135 #
   1136 #include $(CLEAR_VARS)
   1137 #LOCAL_MODULE := eapol_test
   1138 #ifdef CONFIG_DRIVER_CUSTOM
   1139 #LOCAL_STATIC_LIBRARIES := libCustomWifi
   1140 #endif
   1141 #LOCAL_SHARED_LIBRARIES := libc libcrypto libssl
   1142 #LOCAL_CFLAGS := $(L_CFLAGS)
   1143 #LOCAL_SRC_FILES := $(OBJS_t)
   1144 #LOCAL_C_INCLUDES := $(INCLUDES)
   1145 #include $(BUILD_EXECUTABLE)
   1146 #
   1147 ########################
   1148 #
   1149 #local_target_dir := $(TARGET_OUT)/etc/wifi
   1150 #
   1151 #include $(CLEAR_VARS)
   1152 #LOCAL_MODULE := wpa_supplicant.conf
   1153 #LOCAL_MODULE_TAGS := user
   1154 #LOCAL_MODULE_CLASS := ETC
   1155 #LOCAL_MODULE_PATH := $(local_target_dir)
   1156 #LOCAL_SRC_FILES := $(LOCAL_MODULE)
   1157 #include $(BUILD_PREBUILT)
   1158 #
   1159 ########################
   1160 
   1161 endif # ifeq ($(WPA_BUILD_SUPPLICANT),true)
   1162 
   1163 include $(CLEAR_VARS)
   1164 LOCAL_MODULE = libwpa_client
   1165 LOCAL_CFLAGS = $(L_CFLAGS)
   1166 LOCAL_SRC_FILES = src/common/wpa_ctrl.c src/utils/os_$(CONFIG_OS).c
   1167 LOCAL_C_INCLUDES = $(INCLUDES)
   1168 LOCAL_SHARED_LIBRARIES := libcutils
   1169 LOCAL_COPY_HEADERS_TO := libwpa_client
   1170 LOCAL_COPY_HEADERS := src/common/wpa_ctrl.h
   1171 include $(BUILD_SHARED_LIBRARY)
   1172