Android.mk revision 5460547a121207cf7a99eac45e05fcdd83be3161
1c81d5b6205bf762093632de2cd7125de3d10eed5Dmitry Shmidt# Copyright (C) 2008 The Android Open Source Project
2c81d5b6205bf762093632de2cd7125de3d10eed5Dmitry Shmidt#
3c81d5b6205bf762093632de2cd7125de3d10eed5Dmitry Shmidt# This software may be distributed under the terms of the BSD license.
4c81d5b6205bf762093632de2cd7125de3d10eed5Dmitry Shmidt# See README for more details.
5c81d5b6205bf762093632de2cd7125de3d10eed5Dmitry Shmidt#
6c81d5b6205bf762093632de2cd7125de3d10eed5Dmitry Shmidt
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_PATH := $(call my-dir)
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtWPA_BUILD_HOSTAPD := false
10bbda627478b0e9a312fea4662cd7cd8d6bdf82bfJeff Brownifneq ($(BOARD_HOSTAPD_DRIVER),)
11bbda627478b0e9a312fea4662cd7cd8d6bdf82bfJeff Brown  WPA_BUILD_HOSTAPD := true
12bbda627478b0e9a312fea4662cd7cd8d6bdf82bfJeff Brown  CONFIG_DRIVER_$(BOARD_HOSTAPD_DRIVER) := y
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
15e61a2d6db6113da5fad91660764afdb0596dbc46Dmitry Shmidtifeq ($(WPA_BUILD_HOSTAPD),true)
16e61a2d6db6113da5fad91660764afdb0596dbc46Dmitry Shmidt
177dd0f2072342a04eeead17ed975b639d89eb4589Dmitry Shmidtinclude $(LOCAL_PATH)/android.config
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# To ignore possible wrong network configurations
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS = -DWPA_IGNORE_CONFIG_ERRORS
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2295613e49a5d2b830b45757efdb7144fd668f23aeDmitry ShmidtL_CFLAGS += -DVERSION_STR_POSTFIX=\"-$(PLATFORM_VERSION)\"
2395613e49a5d2b830b45757efdb7144fd668f23aeDmitry Shmidt
24648b7492d15bb4efaeebdfdd8bd261563a5f6227Dmitry Shmidt# Set Android log name
25648b7492d15bb4efaeebdfdd8bd261563a5f6227Dmitry ShmidtL_CFLAGS += -DANDROID_LOG_NAME=\"hostapd\"
26648b7492d15bb4efaeebdfdd8bd261563a5f6227Dmitry Shmidt
27a4d23b8131874ba2380817014f9190b737ce785dJean-Baptiste Queruifeq ($(BOARD_WLAN_DEVICE), bcmdhd)
281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtL_CFLAGS += -DANDROID_P2P
29497c1d5e50162d6b3c1cce5dbd9c5fd9da69aaefDmitry Shmidtendif
30497c1d5e50162d6b3c1cce5dbd9c5fd9da69aaefDmitry Shmidt
31e6c982c258910f658901df7ecae2cc7a36eeea96Jeff Johnsonifeq ($(BOARD_WLAN_DEVICE), qcwcn)
32e6c982c258910f658901df7ecae2cc7a36eeea96Jeff JohnsonL_CFLAGS += -DANDROID_P2P
33e6c982c258910f658901df7ecae2cc7a36eeea96Jeff Johnsonendif
34e6c982c258910f658901df7ecae2cc7a36eeea96Jeff Johnson
350cc49e8db007f71888bf706420edfc530cf4fbffMike J. Chenifeq ($(BOARD_WLAN_DEVICE), mrvl)
360cc49e8db007f71888bf706420edfc530cf4fbffMike J. ChenL_CFLAGS += -DANDROID_P2P
370cc49e8db007f71888bf706420edfc530cf4fbffMike J. Chenendif
380cc49e8db007f71888bf706420edfc530cf4fbffMike J. Chen
39205f2142134d2f3475fe1f893575df8f809eede4Jeff Johnson# Use Android specific directory for control interface sockets
40205f2142134d2f3475fe1f893575df8f809eede4Jeff JohnsonL_CFLAGS += -DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/misc/wifi/sockets\"
41205f2142134d2f3475fe1f893575df8f809eede4Jeff JohnsonL_CFLAGS += -DCONFIG_CTRL_IFACE_DIR=\"/data/system/hostapd\"
42205f2142134d2f3475fe1f893575df8f809eede4Jeff Johnson
438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# To force sizeof(enum) = 4
448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(TARGET_ARCH),arm)
458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -mabi=aapcs-linux
468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtINCLUDES = $(LOCAL_PATH)
498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtINCLUDES += $(LOCAL_PATH)/src
508d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtINCLUDES += $(LOCAL_PATH)/src/utils
518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtINCLUDES += external/openssl/include
52f1396b4ebf0d67866b9fba2655c3f9f3327fb0a2Stephen SmalleyINCLUDES += system/security/keystore/include
538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NL80211
541d43124e4581c52ccca203196d584a4c0772967fJean-Baptiste QueruINCLUDES += external/libnl-headers
558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_OS
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NATIVE_WINDOWS
608d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_OS=win32
618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
628d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_OS=unix
638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_OS), internal)
678d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DOS_NO_C_LIB_DEFINES
688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NATIVE_WINDOWS
718d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NATIVE_WINDOWS
728d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lws2_32
738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
758d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS = main.c
768d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += config_file.c
778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/hostapd.c
798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wpa_auth_glue.c
808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/drv_callbacks.c
818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ap_drv_ops.c
828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/utils.c
838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/authsrv.c
848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ieee802_1x.c
858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ap_config.c
86d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry ShmidtOBJS += src/ap/eap_user_db.c
878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ieee802_11_auth.c
888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/sta_info.c
898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wpa_auth.c
908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/tkip_countermeasures.c
918d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ap_mlme.c
928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wpa_auth_ie.c
938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/preauth_auth.c
948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/pmksa_cache_auth.c
951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS += src/ap/ieee802_11_shared.c
961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS += src/ap/beacon.c
978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_d =
988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_p =
998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS =
1008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_c =
1018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS =
1028d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h =
1038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RC4=y
1058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES=y
1068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MD5=y
1078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA1=y
1088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/drivers/drivers.c
1108d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DHOSTAPD
1118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPA_TRACE
1138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DWPA_TRACE
1148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/trace.c
1158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/utils/trace.c
1168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLDFLAGS += -rdynamic
1178d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -funwind-tables
1188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPA_TRACE_BFD
1198d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DWPA_TRACE_BFD
1208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lbfd
1218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_c += -lbfd
1228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -lbfd
1238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/eloop.c
1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/common.c
1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/wpa_debug.c
1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/wpabuf.c
1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/os_$(CONFIG_OS).c
1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/ip_addr.c
1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/common/ieee802_11_common.c
1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/common/wpa_common.c
1358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eapol_auth/eapol_auth_sm.c
1378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_NO_DUMP_STATE
1408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to
1418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# a file (undefine it, if you want to save in binary size)
1428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DHOSTAPD_DUMP_STATE
1438d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += dump_state.c
1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eapol_auth/eapol_auth_dump.c
1458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_RADIUS
1488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_RADIUS
1498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_NO_ACCOUNTING=y
1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
1518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/radius/radius.c
1528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/radius/radius_client.c
15361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/radius/radius_das.c
1548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_ACCOUNTING
1578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_ACCOUNTING
1588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
1598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/accounting.c
1608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_VLAN
1638d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_VLAN
1648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
1658d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/vlan_init.c
16661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_VLAN_NETLINK
16761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_FULL_DYNAMIC_VLAN
16861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/vlan_util.c
16961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
17061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_VLAN_NETLINK
17161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
1728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_CTRL_IFACE
1758d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_CTRL_IFACE
1768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
1778d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += ctrl_iface.c
1788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ctrl_iface_ap.c
1798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/md5.c
1828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX
1848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IAPP
1868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IAPP
1878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/iapp.c
1888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_RSN_PREAUTH
1918d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_RSN_PREAUTH
1928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=y
1938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_PEERKEY
1968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_PEERKEY
1978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/peerkey_auth.c
1988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IEEE80211W
2018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IEEE80211W
2028d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
2038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_OMAC1=y
2048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IEEE80211R
2078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IEEE80211R
2088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wpa_auth_ft.c
2098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
2108d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_OMAC1=y
2118d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_UNWRAP=y
2128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
214d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidtifdef CONFIG_SAE
215d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry ShmidtL_CFLAGS += -DCONFIG_SAE
216a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtOBJS += src/common/sae.c
217a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtNEED_ECC=y
218a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtNEED_DH_GROUPS=y
219d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidtendif
220d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt
221a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidtifdef CONFIG_WNM
222a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtL_CFLAGS += -DCONFIG_WNM
22361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/wnm_ap.c
22461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
22561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IEEE80211N
2278d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IEEE80211N
2288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
23061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_IEEE80211AC
23161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_IEEE80211AC
23261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
23361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(LOCAL_PATH)/src/drivers/drivers.mk
2358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += $(DRV_AP_OBJS)
2378d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += $(DRV_AP_CFLAGS)
2388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLDFLAGS += $(DRV_AP_LDFLAGS)
2398d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += $(DRV_AP_LIBS)
2408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_L2_PACKET
2428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DNET_PCAP
2438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_L2_FREEBSD
2448d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lpcap
2458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/l2_packet/l2_packet_freebsd.c
2468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
2478d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -ldnet -lpcap
2488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/l2_packet/l2_packet_pcap.c
2498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
2518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/l2_packet/l2_packet_linux.c
2528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
2548d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/l2_packet/l2_packet_none.c
2558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_MD5
2598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_MD5
2608d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_md5.c
2618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCHAP=y
2628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_TLS
2658d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_TLS
2668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_tls.c
2678d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTLS_FUNCS=y
2688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
27061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_EAP_UNAUTH_TLS
27161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_UNAUTH_TLS
27261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifndef CONFIG_EAP_TLS
27361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/eap_server/eap_server_tls.c
27461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtTLS_FUNCS=y
27561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
27661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
27761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_PEAP
2798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_PEAP
2808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_peap.c
2818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_peap_common.c
2828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTLS_FUNCS=y
2838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_EAP_MSCHAPV2=y
2848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_TTLS
2878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_TTLS
2888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_ttls.c
2898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTLS_FUNCS=y
2908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCHAP=y
2918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_MSCHAPV2
2948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_MSCHAPV2
2958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_mschapv2.c
2968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtMS_FUNCS=y
2978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_GTC
3008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_GTC
3018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_gtc.c
3028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_SIM
3058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_SIM
3068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_sim.c
3078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_EAP_SIM_COMMON=y
3088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_CBC=y
3098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_AKA
3128d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_AKA
3138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_aka.c
3148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_EAP_SIM_COMMON=y
3158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
3168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_CBC=y
3178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_AKA_PRIME
3208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_AKA_PRIME
3218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_SIM_COMMON
3248d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_sim_common.c
3258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
3268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# replaced with another file implementating the interface specified in
3278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# eap_sim_db.h.
3288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_sim_db.c
3298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_FIPS186_2_PRF=y
3308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_PAX
3338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_PAX
3348d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_pax.c src/eap_common/eap_pax_common.c
3358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_PSK
3388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_PSK
3398d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_psk.c src/eap_common/eap_psk_common.c
3408d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_OMAC1=y
3418d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_ENCBLOCK=y
3428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_EAX=y
3438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_SAKE
3468d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_SAKE
3478d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_sake.c src/eap_common/eap_sake_common.c
3488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_GPSK
3518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_GPSK
3528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_gpsk.c src/eap_common/eap_gpsk_common.c
3538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_GPSK_SHA256
3548d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_GPSK_SHA256
3558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3568d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
3578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_OMAC1=y
3588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_PWD
3618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_PWD
3628d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_pwd.c src/eap_common/eap_pwd_common.c
3638d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
3648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
36634af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidtifdef CONFIG_EAP_EKE
36734af306c42b7ccf956508e7cd23f0ba90606e360Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_EKE
36834af306c42b7ccf956508e7cd23f0ba90606e360Dmitry ShmidtOBJS += src/eap_server/eap_server_eke.c src/eap_common/eap_eke_common.c
36934af306c42b7ccf956508e7cd23f0ba90606e360Dmitry ShmidtNEED_DH_GROUPS=y
37034af306c42b7ccf956508e7cd23f0ba90606e360Dmitry ShmidtNEED_DH_GROUPS_ALL=y
37134af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidtendif
37234af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidt
3738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_VENDOR_TEST
3748d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_VENDOR_TEST
3758d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_vendor_test.c
3768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_FAST
3798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_FAST
3808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_fast.c
3818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_fast_common.c
3828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTLS_FUNCS=y
3838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_T_PRF=y
3848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_UNWRAP=y
3858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS
3888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS2
3898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS2
3908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC
3938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/uuid.c
3948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wps_hostapd.c
3958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_wsc.c src/eap_common/eap_wsc_common.c
3968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps.c
3978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_common.c
3988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_attr_parse.c
3998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_attr_build.c
4008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_attr_process.c
4018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_dev_attr.c
4028d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_enrollee.c
4038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_registrar.c
4048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DH_GROUPS=y
4058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
4068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_BASE64=y
4078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_CBC=y
4088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MODEXP=y
4098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_EAP=y
4108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS_NFC
4128d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_NFC
4138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/ndef.c
4148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_WPS_OOB=y
4158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_WPS_OOB
4188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_OOB
4198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS_UPNP
4228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_UPNP
4238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp.c
4248d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp_ssdp.c
4258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp_web.c
4268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp_event.c
4278d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp_ap.c
4288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/upnp_xml.c
4298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/httpread.c
4308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/http_client.c
4318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/http_server.c
4328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS_STRICT
4358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_STRICT
4368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_validate.c
4378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS_TESTING
4408d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_TESTING
4418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_IKEV2
4468d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_IKEV2
4478d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_ikev2.c src/eap_server/ikev2.c
4488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_ikev2_common.c src/eap_common/ikev2_common.c
4498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DH_GROUPS=y
4508d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DH_GROUPS_ALL=y
4518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MODEXP=y
4528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_CIPHER=y
4538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_TNC
4568d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_TNC
4578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_tnc.c
4588d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/tncs.c
4598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_BASE64=y
4608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_DRIVER_BSD
4618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -ldl
4628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# Basic EAP functionality is needed for EAPOL
4668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += eap_register.c
4678d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server.c
4688d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_common.c
4698d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_methods.c
4708d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_identity.c
4718d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_IDENTITY
4728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP
4748d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER
4758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_PKCS12
4788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DPKCS12_FUNCS
4798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef MS_FUNCS
4828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/ms_funcs.c
4838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DES=y
4848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MD4=y
4858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CHAP
4888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/chap.c
4898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
4928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DES=y
4938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
4948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_TLS_FUNCS
4958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_tls_common.c
4968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_TLS_PRF=y
4978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_TLS
5008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_TLS=openssl
5018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
50361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_TLSV11
50461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_TLSV11
50561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
50661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
50761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_TLSV12
50861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_TLSV12
50961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtNEED_SHA256=y
51061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
51161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
5128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), openssl)
5138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_openssl.c
5158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lssl
5168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5178d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_openssl.c
5188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/crypto_openssl.c
5198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_FIPS186_2_PRF
5208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/fips_prf_openssl.c
5218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lcrypto
5238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -lcrypto
5248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
5268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), gnutls)
5278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_gnutls.c
5298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lgnutls -lgpg-error
5308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_gnutls.c
5328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/crypto_gnutls.c
5338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_FIPS186_2_PRF
5348d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/fips_prf_gnutls.c
5358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lgcrypt
5378d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -lgcrypt
5388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
5398d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
5408d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
5418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
5438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), schannel)
5448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_schannel.c
5468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5478d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_cryptoapi.c
5488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_p += src/crypto/crypto_cryptoapi.c
5498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
5508d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
5518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
5528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
5548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), nss)
5558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5568d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_nss.c
5578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lssl3
5588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_nss.c
5608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_FIPS186_2_PRF
5618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/fips_prf_nss.c
5628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5638d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lnss3
5648d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -lnss3
5658d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD4=y
5668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
5678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
5698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), internal)
5708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_CRYPTO
5718d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_CRYPTO=internal
5728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5748d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_internal-rsa.c
5758d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_internal.c
5768d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_common.c
5778d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_record.c
5788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_cred.c
5798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_server.c
5808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_server_write.c
5818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_server_read.c
5828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/asn1.c
5838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/rsa.c
5848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/x509v3.c
5858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/pkcs1.c
5868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/pkcs5.c
5878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/pkcs8.c
5888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
5898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_BASE64=y
5908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_TLS_PRF=y
59161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_TLSV12
59261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtNEED_TLS_PRF_SHA256=y
59361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
5948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MODEXP=y
5958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_CIPHER=y
5968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_TLS_INTERNAL
5978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
5988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_CIPHER
6008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DES=y
6018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_internal-cipher.c
6028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_MODEXP
6048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_internal-modexp.c
6058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/bignum.c
6068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_CRYPTO), libtomcrypt)
6088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_libtomcrypt.c
6098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -ltomcrypt -ltfm
6108d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -ltomcrypt -ltfm
6118d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
6128d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
6148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_CRYPTO), internal)
6168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_internal.c
6178d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_DEC=y
6188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_CRYPTO_INTERNAL
6198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_LIBTOMMATH
6208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
6218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
6228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DLTM_FAST
6238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
6258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -ltommath
6268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -ltommath
6278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_AES=y
6298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DES=y
6308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA1=y
6318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD4=y
6328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD5=y
6338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
6348d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
6368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_CRYPTO), cryptoapi)
6388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_cryptoapi.c
6398d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_p += src/crypto/crypto_cryptoapi.c
6408d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
6418d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
6428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
6468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), none)
6478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
6488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_none.c
6498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_TLS_NONE
6508d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_AES=y
6518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA1=y
6528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD5=y
6538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6548d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_none.c
6558d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_p += src/crypto/crypto_none.c
6568d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
6578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
6608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef TLS_FUNCS
6618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_none.c
6628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), internal)
6638d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_AES=y
6648d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA1=y
6658d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD5=y
6668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
6708d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS = # none so far
6718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_AES
6728d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-internal.c src/crypto/aes-internal-enc.c
6738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
6758d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-wrap.c
6768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_EAX
6778d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-eax.c
6788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_CTR=y
6798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_CTR
6818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-ctr.c
6828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_ENCBLOCK
6848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-encblock.c
6858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_OMAC1
6878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-omac1.c
6888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_UNWRAP
6908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_DEC=y
6918d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-unwrap.c
6928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_CBC
6948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_DEC=y
6958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-cbc.c
6968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_DEC
6988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_AES
6998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-internal-dec.c
7008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES
7038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += $(AESOBJS)
7048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS =
7078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_SHA1
70861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifneq ($(CONFIG_TLS), openssl)
7098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1.c
71061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
71161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtSHA1OBJS += src/crypto/sha1-prf.c
7128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_SHA1
7138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1-internal.c
7148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_FIPS186_2_PRF
7158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/fips_prf_internal.c
7168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
71861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifneq ($(CONFIG_TLS), openssl)
7198d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1-pbkdf2.c
72061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
7218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_T_PRF
7228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1-tprf.c
7238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_TLS_PRF
7258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1-tlsprf.c
7268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_SHA1
7308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += $(SHA1OBJS)
7318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_MD5
7348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_MD5
7358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/md5-internal.c
7368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/md5-internal.c
7378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_MD4
7418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_MD4
7428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/md4-internal.c
7438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_DES
7478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_DES
7488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/des-internal.c
7498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_RC4
7538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_RC4
7548d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/rc4.c
7558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_SHA256
75961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_SHA256
76061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifneq ($(CONFIG_TLS), openssl)
7618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/sha256.c
76261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
76361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/crypto/sha256-prf.c
7648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_SHA256
7658d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/sha256-internal.c
7668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
76761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef NEED_TLS_PRF_SHA256
76861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/crypto/sha256-tlsprf.c
76961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
7708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_DH_GROUPS
7738d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/dh_groups.c
7748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_DH_GROUPS_ALL
7768d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DALL_DH_GROUPS
7778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_DH_GROUP5
7798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_DH_GROUPS
7808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/dh_group5.c
7818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
784a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidtifdef NEED_ECC
785a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtL_CFLAGS += -DCONFIG_ECC
786a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidtendif
787a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt
7888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_RANDOM_POOL
7898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_RANDOM_POOL
7908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
7918d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/random.c
7928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/random.c
79361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtHOBJS += src/utils/eloop.c
7948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += $(SHA1OBJS)
7958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/md5.c
7968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_RADIUS_SERVER
7998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DRADIUS_SERVER
8008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/radius/radius_server.c
8018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IPV6
8048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IPV6
8058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_RADIUS_ACL
8088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL
8098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_FULL_DYNAMIC_VLAN
8128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
8138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# and vlan interfaces for the vlan feature.
8148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
8158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_BASE64
8188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/base64.c
8198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AP_MLME
8228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wmm.c
8238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ap_list.c
8248d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ieee802_11.c
8258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/hw_features.c
826051af73b8f8014eff33330aead0f36944b3403e6Dmitry ShmidtOBJS += src/ap/dfs.c
8278d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DNEED_AP_MLME
8288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IEEE80211N
8308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ieee802_11_ht.c
8318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
83361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_IEEE80211AC
83461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/ieee802_11_vht.c
83561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
83661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
8378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_P2P_MANAGER
8388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_P2P_MANAGER
8398d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/p2p_hostapd.c
8408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
84261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_HS20
84361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_HS20
84461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/hs20.c
84561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtCONFIG_INTERWORKING=y
84661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
84761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
84861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_INTERWORKING
84961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_INTERWORKING
85061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/common/gas.c
85161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/gas_serv.c
85261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
85361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
8541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS += src/drivers/driver_common.c
8551f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
8565460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidtifdef CONFIG_ACS
8575460547a121207cf7a99eac45e05fcdd83be3161Dmitry ShmidtL_CFLAGS += -DCONFIG_ACS
8585460547a121207cf7a99eac45e05fcdd83be3161Dmitry ShmidtOBJS += src/ap/acs.c
8595460547a121207cf7a99eac45e05fcdd83be3161Dmitry ShmidtLIBS += -lm
8605460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidtendif
8615460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidt
8628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_STDOUT_DEBUG
8638d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
8648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8665460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidtifdef CONFIG_DEBUG_LINUX_TRACING
8675460547a121207cf7a99eac45e05fcdd83be3161Dmitry ShmidtL_CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING
8685460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidtendif
8695460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidt
8708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DEBUG_FILE
8718d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_DEBUG_FILE
8728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_ANDROID_LOG
8758d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_ANDROID_LOG
8768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_c = hostapd_cli.c src/common/wpa_ctrl.c src/utils/os_$(CONFIG_OS).c
8791f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS_c += src/utils/eloop.c
8808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPA_TRACE
8818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_c += src/utils/trace.c
8821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtendif
8838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_c += src/utils/wpa_debug.c
8841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_WPA_CLI_EDIT
8851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS_c += src/utils/edit.c
8861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtelse
8871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS_c += src/utils/edit_simple.c
8888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt########################
8918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(CLEAR_VARS)
8938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_MODULE := hostapd_cli
8948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_MODULE_TAGS := debug
895e93dd11e00aa3a511406648774f01db31304323aYing WangLOCAL_SHARED_LIBRARIES := libc libcutils liblog
8968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_CFLAGS := $(L_CFLAGS)
8978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_SRC_FILES := $(OBJS_c)
8988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_C_INCLUDES := $(INCLUDES)
8998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(BUILD_EXECUTABLE)
9008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
9018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt########################
9028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(CLEAR_VARS)
9038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_MODULE := hostapd
9048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_MODULE_TAGS := optional
9058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_CUSTOM
9068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_STATIC_LIBRARIES := libCustomWifi
9078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
9088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifneq ($(BOARD_HOSTAPD_PRIVATE_LIB),)
9098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_STATIC_LIBRARIES += $(BOARD_HOSTAPD_PRIVATE_LIB)
9108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
911e93dd11e00aa3a511406648774f01db31304323aYing WangLOCAL_SHARED_LIBRARIES := libc libcutils liblog libcrypto libssl
9128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NL80211
9138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_STATIC_LIBRARIES += libnl_2
9148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
9158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_CFLAGS := $(L_CFLAGS)
9168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_SRC_FILES := $(OBJS)
9178d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_C_INCLUDES := $(INCLUDES)
9188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(BUILD_EXECUTABLE)
9198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
9208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif # ifeq ($(WPA_BUILD_HOSTAPD),true)
921