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
27f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidt# Disable unused parameter warnings
28f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry ShmidtL_CFLAGS += -Wno-unused-parameter
29f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidt
30b58836ed5520bf4b769f76ef7dcb802af8c900b8Dmitry Shmidt# Set Android extended P2P functionality
310cc49e8db007f71888bf706420edfc530cf4fbffMike J. ChenL_CFLAGS += -DANDROID_P2P
32b58836ed5520bf4b769f76ef7dcb802af8c900b8Dmitry Shmidtifeq ($(BOARD_HOSTAPD_PRIVATE_LIB),)
33b58836ed5520bf4b769f76ef7dcb802af8c900b8Dmitry ShmidtL_CFLAGS += -DANDROID_P2P_STUB
340cc49e8db007f71888bf706420edfc530cf4fbffMike J. Chenendif
350cc49e8db007f71888bf706420edfc530cf4fbffMike J. Chen
36205f2142134d2f3475fe1f893575df8f809eede4Jeff Johnson# Use Android specific directory for control interface sockets
37205f2142134d2f3475fe1f893575df8f809eede4Jeff JohnsonL_CFLAGS += -DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/misc/wifi/sockets\"
38205f2142134d2f3475fe1f893575df8f809eede4Jeff JohnsonL_CFLAGS += -DCONFIG_CTRL_IFACE_DIR=\"/data/system/hostapd\"
39205f2142134d2f3475fe1f893575df8f809eede4Jeff Johnson
408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# To force sizeof(enum) = 4
418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(TARGET_ARCH),arm)
428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -mabi=aapcs-linux
438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtINCLUDES = $(LOCAL_PATH)
468d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtINCLUDES += $(LOCAL_PATH)/src
478d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtINCLUDES += $(LOCAL_PATH)/src/utils
488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtINCLUDES += external/openssl/include
49f1396b4ebf0d67866b9fba2655c3f9f3327fb0a2Stephen SmalleyINCLUDES += system/security/keystore/include
508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NL80211
51cd44645b48dc2161fa6c018235aaf4b6a804d576Dmitry Shmidtifneq ($(wildcard external/libnl),)
52d620e6d0ba63c86303e656e844f89102588ffdb6Dmitry ShmidtINCLUDES += external/libnl/include
53cd44645b48dc2161fa6c018235aaf4b6a804d576Dmitry Shmidtelse
54cd44645b48dc2161fa6c018235aaf4b6a804d576Dmitry ShmidtINCLUDES += external/libnl-headers
55cd44645b48dc2161fa6c018235aaf4b6a804d576Dmitry Shmidtendif
568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_OS
608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NATIVE_WINDOWS
618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_OS=win32
628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
638d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_OS=unix
648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_OS), internal)
688d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DOS_NO_C_LIB_DEFINES
698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NATIVE_WINDOWS
728d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NATIVE_WINDOWS
738d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lws2_32
748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
768d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS = main.c
778d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += config_file.c
788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/hostapd.c
808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wpa_auth_glue.c
818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/drv_callbacks.c
828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ap_drv_ops.c
838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/utils.c
848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/authsrv.c
858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ieee802_1x.c
868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ap_config.c
87d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry ShmidtOBJS += src/ap/eap_user_db.c
888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ieee802_11_auth.c
898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/sta_info.c
908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wpa_auth.c
918d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/tkip_countermeasures.c
928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ap_mlme.c
938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wpa_auth_ie.c
948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/preauth_auth.c
958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/pmksa_cache_auth.c
961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS += src/ap/ieee802_11_shared.c
971f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS += src/ap/beacon.c
988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_d =
998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_p =
1008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS =
1018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_c =
1028d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS =
1038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h =
1048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RC4=y
1068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES=y
1078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MD5=y
1088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA1=y
1098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1108d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/drivers/drivers.c
1118d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DHOSTAPD
1128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPA_TRACE
1148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DWPA_TRACE
1158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/trace.c
1168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/utils/trace.c
1178d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLDFLAGS += -rdynamic
1188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -funwind-tables
1198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPA_TRACE_BFD
1208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DWPA_TRACE_BFD
1218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lbfd
1228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_c += -lbfd
1238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -lbfd
1248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/eloop.c
1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/common.c
1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/wpa_debug.c
1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/wpabuf.c
1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/os_$(CONFIG_OS).c
1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/ip_addr.c
1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/common/ieee802_11_common.c
1358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/common/wpa_common.c
1368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1378d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eapol_auth/eapol_auth_sm.c
1388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_NO_DUMP_STATE
141fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt# define HOSTAPD_DUMP_STATE to include support for dumping internal state
142fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt# through control interface commands (undefine it, if you want to save in
143fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt# binary size)
1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DHOSTAPD_DUMP_STATE
1458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eapol_auth/eapol_auth_dump.c
1468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_RADIUS
1498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_RADIUS
1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_NO_ACCOUNTING=y
1518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
1528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/radius/radius.c
1538d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/radius/radius_client.c
15461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/radius/radius_das.c
1558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_ACCOUNTING
1588d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_ACCOUNTING
1598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
1608d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/accounting.c
1618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_VLAN
1648d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_VLAN
1658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
1668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/vlan_init.c
16761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_VLAN_NETLINK
16861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_FULL_DYNAMIC_VLAN
16961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/vlan_util.c
17061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
17161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_VLAN_NETLINK
17261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
1738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_CTRL_IFACE
1768d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_CTRL_IFACE
1778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
1788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += ctrl_iface.c
1798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ctrl_iface_ap.c
1808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/md5.c
1838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX
1858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IAPP
1878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IAPP
1888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/iapp.c
1898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_RSN_PREAUTH
1928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_RSN_PREAUTH
1938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=y
1948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_PEERKEY
1978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_PEERKEY
1988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/peerkey_auth.c
1998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
201f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidtifdef CONFIG_HS20
202f21452aea786ac056eb01f1cbba4f553bd502747Dmitry ShmidtNEED_AES_OMAC1=y
203f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidtendif
204f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidt
2058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IEEE80211W
2068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IEEE80211W
2078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
2088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_OMAC1=y
2098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IEEE80211R
2128d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IEEE80211R
2138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wpa_auth_ft.c
2148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
2158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_OMAC1=y
2168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_UNWRAP=y
2178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
219d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidtifdef CONFIG_SAE
220d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry ShmidtL_CFLAGS += -DCONFIG_SAE
221a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtOBJS += src/common/sae.c
222a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtNEED_ECC=y
223a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtNEED_DH_GROUPS=y
224d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidtendif
225d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt
226a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidtifdef CONFIG_WNM
227a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtL_CFLAGS += -DCONFIG_WNM
22861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/wnm_ap.c
22961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
23061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IEEE80211N
2328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IEEE80211N
2338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
23561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_IEEE80211AC
23661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_IEEE80211AC
23761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
23861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(LOCAL_PATH)/src/drivers/drivers.mk
2408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2418d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += $(DRV_AP_OBJS)
2428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += $(DRV_AP_CFLAGS)
2438d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLDFLAGS += $(DRV_AP_LDFLAGS)
2448d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += $(DRV_AP_LIBS)
2458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_L2_PACKET
2478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DNET_PCAP
2488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_L2_FREEBSD
2498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lpcap
2508d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/l2_packet/l2_packet_freebsd.c
2518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
2528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -ldnet -lpcap
2538d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/l2_packet/l2_packet_pcap.c
2548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
2568d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/l2_packet/l2_packet_linux.c
2578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
2598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/l2_packet/l2_packet_none.c
2608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_MD5
2648d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_MD5
2658d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_md5.c
2668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCHAP=y
2678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_TLS
2708d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_TLS
2718d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_tls.c
2728d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTLS_FUNCS=y
2738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
27561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_EAP_UNAUTH_TLS
27661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_UNAUTH_TLS
27761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifndef CONFIG_EAP_TLS
27861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/eap_server/eap_server_tls.c
27961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtTLS_FUNCS=y
28061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
28161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
28261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_PEAP
2848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_PEAP
2858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_peap.c
2868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_peap_common.c
2878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTLS_FUNCS=y
2888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_EAP_MSCHAPV2=y
2898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_TTLS
2928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_TTLS
2938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_ttls.c
2948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTLS_FUNCS=y
2958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCHAP=y
2968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
2978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
2988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_MSCHAPV2
2998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_MSCHAPV2
3008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_mschapv2.c
3018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtMS_FUNCS=y
3028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_GTC
3058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_GTC
3068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_gtc.c
3078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_SIM
3108d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_SIM
3118d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_sim.c
3128d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_EAP_SIM_COMMON=y
3138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_CBC=y
3148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_AKA
3178d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_AKA
3188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_aka.c
3198d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_EAP_SIM_COMMON=y
3208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
3218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_CBC=y
3228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_AKA_PRIME
3258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_AKA_PRIME
3268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_SIM_COMMON
3298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_sim_common.c
3308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
3318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# replaced with another file implementating the interface specified in
3328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# eap_sim_db.h.
3338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_sim_db.c
3348d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_FIPS186_2_PRF=y
3358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_PAX
3388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_PAX
3398d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_pax.c src/eap_common/eap_pax_common.c
3408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_PSK
3438d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_PSK
3448d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_psk.c src/eap_common/eap_psk_common.c
3458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_OMAC1=y
3468d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_ENCBLOCK=y
3478d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_EAX=y
3488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_SAKE
3518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_SAKE
3528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_sake.c src/eap_common/eap_sake_common.c
3538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_GPSK
3568d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_GPSK
3578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_gpsk.c src/eap_common/eap_gpsk_common.c
3588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_GPSK_SHA256
359fb79edc9df1f20461e90e478363d207348213d35Dmitry ShmidtL_CFLAGS += -DEAP_GPSK_SHA256
3608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
3628d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_OMAC1=y
3638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_PWD
3668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_PWD
3678d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_pwd.c src/eap_common/eap_pwd_common.c
3688d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
3698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
37134af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidtifdef CONFIG_EAP_EKE
37234af306c42b7ccf956508e7cd23f0ba90606e360Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_EKE
37334af306c42b7ccf956508e7cd23f0ba90606e360Dmitry ShmidtOBJS += src/eap_server/eap_server_eke.c src/eap_common/eap_eke_common.c
37434af306c42b7ccf956508e7cd23f0ba90606e360Dmitry ShmidtNEED_DH_GROUPS=y
37534af306c42b7ccf956508e7cd23f0ba90606e360Dmitry ShmidtNEED_DH_GROUPS_ALL=y
37634af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidtendif
37734af306c42b7ccf956508e7cd23f0ba90606e360Dmitry Shmidt
3788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_VENDOR_TEST
3798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_VENDOR_TEST
3808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_vendor_test.c
3818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_FAST
3848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_FAST
3858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_fast.c
3868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_fast_common.c
3878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTLS_FUNCS=y
3888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_T_PRF=y
3898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_UNWRAP=y
3908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
3918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
3928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS
3938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC
3948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/uuid.c
3958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wps_hostapd.c
3968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_wsc.c src/eap_common/eap_wsc_common.c
3978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps.c
3988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_common.c
3998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_attr_parse.c
4008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_attr_build.c
4018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_attr_process.c
4028d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_dev_attr.c
4038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_enrollee.c
4048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_registrar.c
4058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DH_GROUPS=y
4068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
4078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_BASE64=y
4088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_CBC=y
4098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MODEXP=y
4108d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_EAP=y
4118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS_NFC
4138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_NFC
4148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/ndef.c
4158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_WPS_OOB=y
4168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_WPS_OOB
4198d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_OOB
4208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS_UPNP
4238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_UPNP
4248d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp.c
4258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp_ssdp.c
4268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp_web.c
4278d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp_event.c
4288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_upnp_ap.c
4298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/upnp_xml.c
4308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/httpread.c
4318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/http_client.c
4328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/http_server.c
4338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS_STRICT
4368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_STRICT
4378d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/wps/wps_validate.c
4388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPS_TESTING
4418d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_WPS_TESTING
4428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_IKEV2
4478d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_IKEV2
4488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_ikev2.c src/eap_server/ikev2.c
4498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_ikev2_common.c src/eap_common/ikev2_common.c
4508d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DH_GROUPS=y
4518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DH_GROUPS_ALL=y
4528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MODEXP=y
4538d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_CIPHER=y
4548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP_TNC
4578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_TNC
4588d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_tnc.c
4598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/tncs.c
4608d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_BASE64=y
4618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_DRIVER_BSD
4628d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -ldl
4638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# Basic EAP functionality is needed for EAPOL
4678d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += eap_register.c
4688d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server.c
4698d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/eap_common.c
4708d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_methods.c
4718d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_identity.c
4728d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER_IDENTITY
4738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_EAP
4758d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_SERVER
4768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_PKCS12
4798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DPKCS12_FUNCS
4808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef MS_FUNCS
4838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/ms_funcs.c
4848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DES=y
4858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MD4=y
4868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CHAP
4898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_common/chap.c
4908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
4928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
4938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DES=y
4948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
4958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_TLS_FUNCS
4968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/eap_server/eap_server_tls_common.c
4978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_TLS_PRF=y
4988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
4998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
5008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_TLS
5018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_TLS=openssl
5028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
50461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_TLSV11
50561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_TLSV11
50661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
50761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
50861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_TLSV12
50961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_TLSV12
51061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtNEED_SHA256=y
51161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
51261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
5138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), openssl)
5148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_openssl.c
5168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lssl
5178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_openssl.c
5198d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/crypto_openssl.c
5208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_FIPS186_2_PRF
5218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/fips_prf_openssl.c
5228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lcrypto
5248d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -lcrypto
5258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
5278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), gnutls)
5288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_gnutls.c
5308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lgnutls -lgpg-error
5318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_gnutls.c
5338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/crypto_gnutls.c
5348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_FIPS186_2_PRF
5359866086a955d00e237cc8df3722e7dff75c02532Dmitry ShmidtOBJS += src/crypto/fips_prf_internal.c
5369866086a955d00e237cc8df3722e7dff75c02532Dmitry ShmidtOBJS += src/crypto/sha1-internal.c
5378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lgcrypt
5398d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -lgcrypt
5408d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
5418d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
5428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
5438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
5458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), schannel)
5468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5478d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_schannel.c
5488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_cryptoapi.c
5508d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_p += src/crypto/crypto_cryptoapi.c
5518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
5528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
5538d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
5548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
5568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), nss)
5578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5588d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_nss.c
5598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lssl3
5608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_nss.c
5628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_FIPS186_2_PRF
5639866086a955d00e237cc8df3722e7dff75c02532Dmitry ShmidtOBJS += src/crypto/fips_prf_internal.c
5649866086a955d00e237cc8df3722e7dff75c02532Dmitry ShmidtOBJS += src/crypto/sha1-internal.c
5658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -lnss3
5678d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -lnss3
5688d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD4=y
5698d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
5708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
5728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), internal)
5738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_CRYPTO
5748d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_CRYPTO=internal
5758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
5768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
5778d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_internal-rsa.c
5788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_internal.c
5798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_common.c
5808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_record.c
5818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_cred.c
5828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_server.c
5838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_server_write.c
5848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/tlsv1_server_read.c
5858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/asn1.c
5868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/rsa.c
5878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/x509v3.c
5888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/pkcs1.c
5898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/pkcs5.c
5908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/pkcs8.c
5918d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SHA256=y
5928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_BASE64=y
5938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_TLS_PRF=y
59461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_TLSV12
59561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtNEED_TLS_PRF_SHA256=y
59661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
5978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_MODEXP=y
5988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_CIPHER=y
5998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_TLS_INTERNAL
6008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
6018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_CIPHER
6038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_DES=y
6048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_internal-cipher.c
6058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_MODEXP
6078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_internal-modexp.c
6088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/tls/bignum.c
6098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_CRYPTO), libtomcrypt)
6118d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_libtomcrypt.c
6128d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -ltomcrypt -ltfm
6138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -ltomcrypt -ltfm
6148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
6158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
6178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_CRYPTO), internal)
6198d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_internal.c
6208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_DEC=y
6218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_CRYPTO_INTERNAL
6228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_LIBTOMMATH
6238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
6248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
6258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DLTM_FAST
6268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
6288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS += -ltommath
6298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLIBS_h += -ltommath
6308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_AES=y
6328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DES=y
6338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA1=y
6348d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD4=y
6358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD5=y
6368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
6378d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_DH_GROUP5=y
6398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_CRYPTO), cryptoapi)
6418d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_cryptoapi.c
6428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_p += src/crypto/crypto_cryptoapi.c
6438d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
6448d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
6458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
6498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), none)
6508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef TLS_FUNCS
6518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_none.c
6528d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DEAP_TLS_NONE
6538d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_AES=y
6548d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA1=y
6558d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD5=y
6568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/crypto_none.c
6588d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_p += src/crypto/crypto_none.c
6598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA256=y
6608d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
6638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef TLS_FUNCS
6648d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/tls_none.c
6658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifeq ($(CONFIG_TLS), internal)
6668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_AES=y
6678d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_SHA1=y
6688d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_MD5=y
6698d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_INTERNAL_RC4=y
6708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
6738d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS = # none so far
6748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_AES
6758d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-internal.c src/crypto/aes-internal-enc.c
6768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
6788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-wrap.c
6798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_EAX
6808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-eax.c
6818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_CTR=y
6828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_CTR
6848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-ctr.c
6858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_ENCBLOCK
6878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-encblock.c
6888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_OMAC1
6908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-omac1.c
6918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_UNWRAP
6938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_DEC=y
6948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-unwrap.c
6958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
6968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_CBC
6978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AES_DEC=y
6988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-cbc.c
6998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES_DEC
7018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_AES
7028d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtAESOBJS += src/crypto/aes-internal-dec.c
7038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AES
7068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += $(AESOBJS)
7078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS =
7108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_SHA1
71161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifneq ($(CONFIG_TLS), openssl)
7128d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1.c
71361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
71461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtSHA1OBJS += src/crypto/sha1-prf.c
7158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_SHA1
7168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1-internal.c
7178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_FIPS186_2_PRF
7188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/fips_prf_internal.c
7198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
72161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifneq ($(CONFIG_TLS), openssl)
7228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1-pbkdf2.c
72361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
7248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_T_PRF
7258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1-tprf.c
7268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_TLS_PRF
7288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtSHA1OBJS += src/crypto/sha1-tlsprf.c
7298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_SHA1
7338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += $(SHA1OBJS)
7348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_MD5
7378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_MD5
7388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/md5-internal.c
7398d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/md5-internal.c
7408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_MD4
7448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_MD4
7458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/md4-internal.c
7468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_DES
7508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_DES
7518d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/des-internal.c
7528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_RC4
7568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_RC4
7578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/rc4.c
7588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_SHA256
76261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_SHA256
76361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifneq ($(CONFIG_TLS), openssl)
7648d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/sha256.c
76561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
76661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/crypto/sha256-prf.c
7678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_SHA256
7688d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/sha256-internal.c
7698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
77061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef NEED_TLS_PRF_SHA256
77161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/crypto/sha256-tlsprf.c
77261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
7738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
7758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_DH_GROUPS
7768d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/dh_groups.c
7778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_DH_GROUPS_ALL
7798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DALL_DH_GROUPS
7808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_INTERNAL_DH_GROUP5
7828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_DH_GROUPS
7838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/dh_group5.c
7848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
7868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
787a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidtifdef NEED_ECC
788a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry ShmidtL_CFLAGS += -DCONFIG_ECC
789a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidtendif
790a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt
7918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_RANDOM_POOL
7928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_RANDOM_POOL
7938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
7948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/crypto/random.c
7958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/random.c
79661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtHOBJS += src/utils/eloop.c
7978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += $(SHA1OBJS)
7988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtHOBJS += src/crypto/md5.c
7998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_RADIUS_SERVER
8028d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DRADIUS_SERVER
8038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/radius/radius_server.c
8048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IPV6
8078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_IPV6
8088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_RADIUS_ACL
8118d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL
8128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_FULL_DYNAMIC_VLAN
8158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
8168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt# and vlan interfaces for the vlan feature.
8178d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
8188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_BASE64
8218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/utils/base64.c
8228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_AP_MLME
8258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/wmm.c
8268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ap_list.c
8278d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ieee802_11.c
8288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/hw_features.c
829051af73b8f8014eff33330aead0f36944b3403e6Dmitry ShmidtOBJS += src/ap/dfs.c
8308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DNEED_AP_MLME
8318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_IEEE80211N
8338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/ieee802_11_ht.c
8348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
83661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_IEEE80211AC
83761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/ieee802_11_vht.c
83861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
83961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
8408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_P2P_MANAGER
8418d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_P2P_MANAGER
8428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS += src/ap/p2p_hostapd.c
8438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
84561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_HS20
84661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_HS20
84761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/hs20.c
84861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtCONFIG_INTERWORKING=y
84961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
85061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
85161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_INTERWORKING
85261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtL_CFLAGS += -DCONFIG_INTERWORKING
85361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/common/gas.c
85461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry ShmidtOBJS += src/ap/gas_serv.c
85561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
85661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
8571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS += src/drivers/driver_common.c
8581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
8595460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidtifdef CONFIG_ACS
8605460547a121207cf7a99eac45e05fcdd83be3161Dmitry ShmidtL_CFLAGS += -DCONFIG_ACS
8615460547a121207cf7a99eac45e05fcdd83be3161Dmitry ShmidtOBJS += src/ap/acs.c
8625460547a121207cf7a99eac45e05fcdd83be3161Dmitry ShmidtLIBS += -lm
8635460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidtendif
8645460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidt
8658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NO_STDOUT_DEBUG
8668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
8678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8695460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidtifdef CONFIG_DEBUG_LINUX_TRACING
8705460547a121207cf7a99eac45e05fcdd83be3161Dmitry ShmidtL_CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING
8715460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidtendif
8725460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidt
8738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DEBUG_FILE
8748d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_DEBUG_FILE
8758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_ANDROID_LOG
8788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtL_CFLAGS += -DCONFIG_ANDROID_LOG
8798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_c = hostapd_cli.c src/common/wpa_ctrl.c src/utils/os_$(CONFIG_OS).c
8821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS_c += src/utils/eloop.c
8838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WPA_TRACE
8848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_c += src/utils/trace.c
8851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtendif
8868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtOBJS_c += src/utils/wpa_debug.c
8871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_WPA_CLI_EDIT
8881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS_c += src/utils/edit.c
8891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtelse
8901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtOBJS_c += src/utils/edit_simple.c
8918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
8928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt########################
8948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
8958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(CLEAR_VARS)
8968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_MODULE := hostapd_cli
8978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_MODULE_TAGS := debug
898e93dd11e00aa3a511406648774f01db31304323aYing WangLOCAL_SHARED_LIBRARIES := libc libcutils liblog
8998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_CFLAGS := $(L_CFLAGS)
9008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_SRC_FILES := $(OBJS_c)
9018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_C_INCLUDES := $(INCLUDES)
9028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(BUILD_EXECUTABLE)
9038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
9048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt########################
9058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(CLEAR_VARS)
9068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_MODULE := hostapd
9078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_MODULE_TAGS := optional
9088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_CUSTOM
9098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_STATIC_LIBRARIES := libCustomWifi
9108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
9118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifneq ($(BOARD_HOSTAPD_PRIVATE_LIB),)
9128d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_STATIC_LIBRARIES += $(BOARD_HOSTAPD_PRIVATE_LIB)
9138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
914e93dd11e00aa3a511406648774f01db31304323aYing WangLOCAL_SHARED_LIBRARIES := libc libcutils liblog libcrypto libssl
9158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NL80211
916cd44645b48dc2161fa6c018235aaf4b6a804d576Dmitry Shmidtifneq ($(wildcard external/libnl),)
917d620e6d0ba63c86303e656e844f89102588ffdb6Dmitry ShmidtLOCAL_SHARED_LIBRARIES += libnl
918cd44645b48dc2161fa6c018235aaf4b6a804d576Dmitry Shmidtelse
919cd44645b48dc2161fa6c018235aaf4b6a804d576Dmitry ShmidtLOCAL_STATIC_LIBRARIES += libnl_2
920cd44645b48dc2161fa6c018235aaf4b6a804d576Dmitry Shmidtendif
9218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
9228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_CFLAGS := $(L_CFLAGS)
9238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_SRC_FILES := $(OBJS)
9248d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtLOCAL_C_INCLUDES := $(INCLUDES)
9258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtinclude $(BUILD_EXECUTABLE)
9268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
9278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif # ifeq ($(WPA_BUILD_HOSTAPD),true)
928