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