1c1d255d3SCy SchubertALL=hostapd hostapd_cli 2c1d255d3SCy SchubertCONFIG_FILE = .config 3c1d255d3SCy Schubert 4c1d255d3SCy Schubertinclude ../src/build.rules 5c1d255d3SCy Schubert 6c1d255d3SCy Schubertifdef LIBS 7c1d255d3SCy Schubert# If LIBS is set with some global build system defaults, clone those for 8c1d255d3SCy Schubert# LIBS_c, LIBS_h, and LIBS_n to cover hostapd_cli, hlr_auc_gw, and 9c1d255d3SCy Schubert# nt_password_hash as well. 10c1d255d3SCy Schubertifndef LIBS_c 11c1d255d3SCy SchubertLIBS_c := $(LIBS) 12c1d255d3SCy Schubertendif 13c1d255d3SCy Schubertifndef LIBS_h 14c1d255d3SCy SchubertLIBS_h := $(LIBS) 15c1d255d3SCy Schubertendif 16c1d255d3SCy Schubertifndef LIBS_n 17c1d255d3SCy SchubertLIBS_n := $(LIBS) 18c1d255d3SCy Schubertendif 19c1d255d3SCy Schubertifndef LIBS_s 20c1d255d3SCy SchubertLIBS_s := $(LIBS) 21c1d255d3SCy Schubertendif 22c1d255d3SCy Schubertendif 23c1d255d3SCy Schubert 24c1d255d3SCy SchubertCFLAGS += $(EXTRA_CFLAGS) 25c1d255d3SCy SchubertCFLAGS += -I$(abspath ../src) 26c1d255d3SCy SchubertCFLAGS += -I$(abspath ../src/utils) 27c1d255d3SCy Schubert 28c1d255d3SCy Schubertexport BINDIR ?= /usr/local/bin/ 29c1d255d3SCy Schubert 30c1d255d3SCy Schubertifndef CONFIG_NO_GITVER 31c1d255d3SCy Schubert# Add VERSION_STR postfix for builds from a git repository 32c1d255d3SCy Schubertifeq ($(wildcard ../.git),../.git) 33c1d255d3SCy SchubertGITVER := $(shell git describe --dirty=+) 34c1d255d3SCy Schubertifneq ($(GITVER),) 35c1d255d3SCy SchubertCFLAGS += -DGIT_VERSION_STR_POSTFIX=\"-$(GITVER)\" 36c1d255d3SCy Schubertendif 37c1d255d3SCy Schubertendif 38c1d255d3SCy Schubertendif 39c1d255d3SCy Schubert 40c1d255d3SCy Schubertifdef CONFIG_TESTING_OPTIONS 41c1d255d3SCy SchubertCFLAGS += -DCONFIG_TESTING_OPTIONS 42c1d255d3SCy SchubertCONFIG_WPS_TESTING=y 43c1d255d3SCy Schubertendif 44c1d255d3SCy Schubert 45c1d255d3SCy Schubertifndef CONFIG_OS 46c1d255d3SCy Schubertifdef CONFIG_NATIVE_WINDOWS 47c1d255d3SCy SchubertCONFIG_OS=win32 48c1d255d3SCy Schubertelse 49c1d255d3SCy SchubertCONFIG_OS=unix 50c1d255d3SCy Schubertendif 51c1d255d3SCy Schubertendif 52c1d255d3SCy Schubert 53c1d255d3SCy Schubertifeq ($(CONFIG_OS), internal) 54c1d255d3SCy SchubertCFLAGS += -DOS_NO_C_LIB_DEFINES 55c1d255d3SCy Schubertendif 56c1d255d3SCy Schubert 57c1d255d3SCy Schubertifdef CONFIG_NATIVE_WINDOWS 58c1d255d3SCy SchubertCFLAGS += -DCONFIG_NATIVE_WINDOWS 59c1d255d3SCy SchubertLIBS += -lws2_32 60c1d255d3SCy Schubertendif 61c1d255d3SCy Schubert 62c1d255d3SCy SchubertOBJS += main.o 63c1d255d3SCy SchubertOBJS += config_file.o 64c1d255d3SCy Schubert 65c1d255d3SCy SchubertOBJS += ../src/ap/hostapd.o 66c1d255d3SCy SchubertOBJS += ../src/ap/wpa_auth_glue.o 67c1d255d3SCy SchubertOBJS += ../src/ap/drv_callbacks.o 68c1d255d3SCy SchubertOBJS += ../src/ap/ap_drv_ops.o 69c1d255d3SCy SchubertOBJS += ../src/ap/utils.o 70c1d255d3SCy SchubertOBJS += ../src/ap/authsrv.o 71c1d255d3SCy SchubertOBJS += ../src/ap/ieee802_1x.o 72c1d255d3SCy SchubertOBJS += ../src/ap/ap_config.o 73c1d255d3SCy SchubertOBJS += ../src/ap/eap_user_db.o 74c1d255d3SCy SchubertOBJS += ../src/ap/ieee802_11_auth.o 75c1d255d3SCy SchubertOBJS += ../src/ap/sta_info.o 76c1d255d3SCy SchubertOBJS += ../src/ap/wpa_auth.o 77c1d255d3SCy SchubertOBJS += ../src/ap/tkip_countermeasures.o 78c1d255d3SCy SchubertOBJS += ../src/ap/ap_mlme.o 79c1d255d3SCy SchubertOBJS += ../src/ap/wpa_auth_ie.o 80c1d255d3SCy SchubertOBJS += ../src/ap/preauth_auth.o 81c1d255d3SCy SchubertOBJS += ../src/ap/pmksa_cache_auth.o 82c1d255d3SCy SchubertOBJS += ../src/ap/ieee802_11_shared.o 83c1d255d3SCy SchubertOBJS += ../src/ap/beacon.o 84c1d255d3SCy SchubertOBJS += ../src/ap/bss_load.o 85c1d255d3SCy SchubertOBJS += ../src/ap/neighbor_db.o 86c1d255d3SCy SchubertOBJS += ../src/ap/rrm.o 87c1d255d3SCy Schubert 88c1d255d3SCy SchubertOBJS_c = hostapd_cli.o 89c1d255d3SCy SchubertOBJS_c += ../src/common/wpa_ctrl.o 90c1d255d3SCy SchubertOBJS_c += ../src/utils/os_$(CONFIG_OS).o 91c1d255d3SCy SchubertOBJS_c += ../src/common/cli.o 92c1d255d3SCy Schubert 93c1d255d3SCy SchubertNEED_RC4=y 94c1d255d3SCy SchubertNEED_AES=y 95c1d255d3SCy SchubertNEED_MD5=y 96c1d255d3SCy SchubertNEED_SHA1=y 97c1d255d3SCy Schubert 98c1d255d3SCy SchubertOBJS += ../src/drivers/drivers.o 99c1d255d3SCy SchubertCFLAGS += -DHOSTAPD 100c1d255d3SCy Schubert 101c1d255d3SCy Schubertifdef CONFIG_TAXONOMY 102c1d255d3SCy SchubertCFLAGS += -DCONFIG_TAXONOMY 103c1d255d3SCy SchubertOBJS += ../src/ap/taxonomy.o 104c1d255d3SCy Schubertendif 105c1d255d3SCy Schubert 106c1d255d3SCy Schubertifdef CONFIG_MODULE_TESTS 107c1d255d3SCy SchubertCFLAGS += -DCONFIG_MODULE_TESTS 108c1d255d3SCy SchubertOBJS += hapd_module_tests.o 109c1d255d3SCy Schubertendif 110c1d255d3SCy Schubert 111c1d255d3SCy Schubertifdef CONFIG_WPA_TRACE 112c1d255d3SCy SchubertCFLAGS += -DWPA_TRACE 113c1d255d3SCy SchubertOBJS += ../src/utils/trace.o 114c1d255d3SCy SchubertHOBJS += ../src/utils/trace.o 115c1d255d3SCy SchubertLDFLAGS += -rdynamic 116c1d255d3SCy SchubertCFLAGS += -funwind-tables 117c1d255d3SCy Schubertifdef CONFIG_WPA_TRACE_BFD 118c1d255d3SCy SchubertCFLAGS += -DPACKAGE="hostapd" -DWPA_TRACE_BFD 119c1d255d3SCy SchubertLIBS += -lbfd -ldl -liberty -lz 120c1d255d3SCy SchubertLIBS_c += -lbfd -ldl -liberty -lz 121c1d255d3SCy SchubertLIBS_h += -lbfd -ldl -liberty -lz 122c1d255d3SCy SchubertLIBS_n += -lbfd -ldl -liberty -lz 123c1d255d3SCy SchubertLIBS_s += -lbfd -ldl -liberty -lz 124c1d255d3SCy Schubertendif 125c1d255d3SCy Schubertendif 126c1d255d3SCy Schubert 127c1d255d3SCy Schubertifndef CONFIG_ELOOP 128c1d255d3SCy SchubertCONFIG_ELOOP=eloop 129c1d255d3SCy Schubertendif 130c1d255d3SCy SchubertOBJS += ../src/utils/$(CONFIG_ELOOP).o 131c1d255d3SCy SchubertOBJS_c += ../src/utils/$(CONFIG_ELOOP).o 132c1d255d3SCy Schubert 133c1d255d3SCy Schubertifeq ($(CONFIG_ELOOP), eloop) 134c1d255d3SCy Schubert# Using glibc < 2.17 requires -lrt for clock_gettime() 135c1d255d3SCy SchubertLIBS += -lrt 136c1d255d3SCy SchubertLIBS_c += -lrt 137c1d255d3SCy SchubertLIBS_h += -lrt 138c1d255d3SCy SchubertLIBS_n += -lrt 139c1d255d3SCy Schubertendif 140c1d255d3SCy Schubert 141c1d255d3SCy Schubertifdef CONFIG_ELOOP_POLL 142c1d255d3SCy SchubertCFLAGS += -DCONFIG_ELOOP_POLL 143c1d255d3SCy Schubertendif 144c1d255d3SCy Schubert 145c1d255d3SCy Schubertifdef CONFIG_ELOOP_EPOLL 146c1d255d3SCy SchubertCFLAGS += -DCONFIG_ELOOP_EPOLL 147c1d255d3SCy Schubertendif 148c1d255d3SCy Schubert 149c1d255d3SCy Schubertifdef CONFIG_ELOOP_KQUEUE 150c1d255d3SCy SchubertCFLAGS += -DCONFIG_ELOOP_KQUEUE 151c1d255d3SCy Schubertendif 152c1d255d3SCy Schubert 153c1d255d3SCy SchubertOBJS += ../src/utils/common.o 154c1d255d3SCy SchubertOBJS_c += ../src/utils/common.o 155c1d255d3SCy SchubertOBJS += ../src/utils/wpa_debug.o 156c1d255d3SCy SchubertOBJS_c += ../src/utils/wpa_debug.o 157c1d255d3SCy SchubertOBJS += ../src/utils/wpabuf.o 158c1d255d3SCy SchubertOBJS += ../src/utils/os_$(CONFIG_OS).o 159c1d255d3SCy SchubertOBJS += ../src/utils/ip_addr.o 160c1d255d3SCy SchubertOBJS += ../src/utils/crc32.o 161c1d255d3SCy Schubert 162c1d255d3SCy SchubertOBJS += ../src/common/ieee802_11_common.o 163c1d255d3SCy SchubertOBJS += ../src/common/wpa_common.o 164c1d255d3SCy SchubertOBJS += ../src/common/hw_features_common.o 165c1d255d3SCy Schubert 166c1d255d3SCy SchubertOBJS += ../src/eapol_auth/eapol_auth_sm.o 167c1d255d3SCy Schubert 168c1d255d3SCy Schubert 169c1d255d3SCy Schubertifdef CONFIG_CODE_COVERAGE 170c1d255d3SCy SchubertCFLAGS += -O0 -fprofile-arcs -ftest-coverage 171c1d255d3SCy SchubertLIBS += -lgcov 172c1d255d3SCy SchubertLIBS_c += -lgcov 173c1d255d3SCy SchubertLIBS_h += -lgcov 174c1d255d3SCy SchubertLIBS_n += -lgcov 175c1d255d3SCy Schubertendif 176c1d255d3SCy Schubert 177c1d255d3SCy Schubertifndef CONFIG_NO_DUMP_STATE 178c1d255d3SCy Schubert# define HOSTAPD_DUMP_STATE to include support for dumping internal state 179c1d255d3SCy Schubert# through control interface commands (undefine it, if you want to save in 180c1d255d3SCy Schubert# binary size) 181c1d255d3SCy SchubertCFLAGS += -DHOSTAPD_DUMP_STATE 182c1d255d3SCy SchubertOBJS += ../src/eapol_auth/eapol_auth_dump.o 183c1d255d3SCy Schubertendif 184c1d255d3SCy Schubert 185c1d255d3SCy Schubertifdef CONFIG_NO_RADIUS 186c1d255d3SCy SchubertCFLAGS += -DCONFIG_NO_RADIUS 187c1d255d3SCy SchubertCONFIG_NO_ACCOUNTING=y 188c1d255d3SCy Schubertelse 189c1d255d3SCy SchubertOBJS += ../src/radius/radius.o 190c1d255d3SCy SchubertOBJS += ../src/radius/radius_client.o 191c1d255d3SCy SchubertOBJS += ../src/radius/radius_das.o 192c1d255d3SCy Schubertendif 193c1d255d3SCy Schubert 194c1d255d3SCy Schubertifdef CONFIG_NO_ACCOUNTING 195c1d255d3SCy SchubertCFLAGS += -DCONFIG_NO_ACCOUNTING 196c1d255d3SCy Schubertelse 197c1d255d3SCy SchubertOBJS += ../src/ap/accounting.o 198c1d255d3SCy Schubertendif 199c1d255d3SCy Schubert 200c1d255d3SCy Schubertifdef CONFIG_NO_VLAN 201c1d255d3SCy SchubertCFLAGS += -DCONFIG_NO_VLAN 202c1d255d3SCy Schubertelse 203c1d255d3SCy SchubertOBJS += ../src/ap/vlan_init.o 204c1d255d3SCy SchubertOBJS += ../src/ap/vlan_ifconfig.o 205c1d255d3SCy SchubertOBJS += ../src/ap/vlan.o 206c1d255d3SCy Schubertifdef CONFIG_FULL_DYNAMIC_VLAN 207c1d255d3SCy Schubert# Define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges 208c1d255d3SCy Schubert# and VLAN interfaces for the VLAN feature. 209c1d255d3SCy SchubertCFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN 210c1d255d3SCy SchubertOBJS += ../src/ap/vlan_full.o 211c1d255d3SCy Schubertifdef CONFIG_VLAN_NETLINK 212c1d255d3SCy SchubertOBJS += ../src/ap/vlan_util.o 213c1d255d3SCy Schubertelse 214c1d255d3SCy SchubertOBJS += ../src/ap/vlan_ioctl.o 215c1d255d3SCy Schubertendif 216c1d255d3SCy Schubertendif 217c1d255d3SCy Schubertendif 218c1d255d3SCy Schubert 219c1d255d3SCy Schubertifdef CONFIG_NO_CTRL_IFACE 220c1d255d3SCy SchubertCFLAGS += -DCONFIG_NO_CTRL_IFACE 221c1d255d3SCy Schubertelse 222c1d255d3SCy Schubertifeq ($(CONFIG_CTRL_IFACE), udp) 223c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE_UDP 224c1d255d3SCy Schubertelse 225c1d255d3SCy Schubertifeq ($(CONFIG_CTRL_IFACE), udp6) 226c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE_UDP 227c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6 228c1d255d3SCy Schubertelse 229c1d255d3SCy Schubertifeq ($(CONFIG_CTRL_IFACE), udp-remote) 230c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE_UDP 231c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE 232c1d255d3SCy Schubertelse 233c1d255d3SCy Schubertifeq ($(CONFIG_CTRL_IFACE), udp6-remote) 234c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE_UDP 235c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE 236c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6 237c1d255d3SCy Schubertelse 238c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE_UNIX 239c1d255d3SCy Schubertendif 240c1d255d3SCy Schubertendif 241c1d255d3SCy Schubertendif 242c1d255d3SCy Schubertendif 243c1d255d3SCy SchubertOBJS += ../src/common/ctrl_iface_common.o 244c1d255d3SCy SchubertOBJS += ctrl_iface.o 245c1d255d3SCy SchubertOBJS += ../src/ap/ctrl_iface_ap.o 246c1d255d3SCy Schubertendif 247c1d255d3SCy Schubert 248c1d255d3SCy Schubertifndef CONFIG_NO_CTRL_IFACE 249c1d255d3SCy SchubertCFLAGS += -DCONFIG_CTRL_IFACE 250c1d255d3SCy Schubertendif 251c1d255d3SCy Schubert 252c1d255d3SCy Schubertifdef CONFIG_RSN_PREAUTH 253c1d255d3SCy SchubertCFLAGS += -DCONFIG_RSN_PREAUTH 254c1d255d3SCy SchubertCONFIG_L2_PACKET=y 255c1d255d3SCy Schubertendif 256c1d255d3SCy Schubert 257c1d255d3SCy Schubertifdef CONFIG_HS20 258c1d255d3SCy SchubertCONFIG_PROXYARP=y 259c1d255d3SCy Schubertendif 260c1d255d3SCy Schubert 261c1d255d3SCy Schubertifdef CONFIG_PROXYARP 262c1d255d3SCy SchubertCONFIG_L2_PACKET=y 263c1d255d3SCy Schubertendif 264c1d255d3SCy Schubert 265c1d255d3SCy Schubertifdef CONFIG_SUITEB 266c1d255d3SCy SchubertCFLAGS += -DCONFIG_SUITEB 267c1d255d3SCy Schubertendif 268c1d255d3SCy Schubert 269c1d255d3SCy Schubertifdef CONFIG_SUITEB192 270c1d255d3SCy SchubertCFLAGS += -DCONFIG_SUITEB192 271c1d255d3SCy SchubertNEED_SHA384=y 272c1d255d3SCy Schubertendif 273c1d255d3SCy Schubert 274c1d255d3SCy Schubertifdef CONFIG_OCV 275c1d255d3SCy SchubertCFLAGS += -DCONFIG_OCV 276c1d255d3SCy SchubertOBJS += ../src/common/ocv.o 277c1d255d3SCy Schubertendif 278c1d255d3SCy Schubert 279c1d255d3SCy Schubertifdef CONFIG_IEEE80211R 280c1d255d3SCy SchubertCFLAGS += -DCONFIG_IEEE80211R -DCONFIG_IEEE80211R_AP 281c1d255d3SCy SchubertOBJS += ../src/ap/wpa_auth_ft.o 282c1d255d3SCy SchubertNEED_AES_UNWRAP=y 283c1d255d3SCy SchubertNEED_AES_SIV=y 284c1d255d3SCy SchubertNEED_ETH_P_OUI=y 285c1d255d3SCy SchubertNEED_HMAC_SHA256_KDF=y 286c1d255d3SCy Schubertendif 287c1d255d3SCy Schubert 288c1d255d3SCy Schubertifdef NEED_ETH_P_OUI 289c1d255d3SCy SchubertCFLAGS += -DCONFIG_ETH_P_OUI 290c1d255d3SCy SchubertOBJS += ../src/ap/eth_p_oui.o 291c1d255d3SCy Schubertendif 292c1d255d3SCy Schubert 293c1d255d3SCy Schubertifdef CONFIG_SAE 294c1d255d3SCy SchubertCFLAGS += -DCONFIG_SAE 295c1d255d3SCy SchubertOBJS += ../src/common/sae.o 296c1d255d3SCy Schubertifdef CONFIG_SAE_PK 297c1d255d3SCy SchubertCFLAGS += -DCONFIG_SAE_PK 298c1d255d3SCy SchubertOBJS += ../src/common/sae_pk.o 299c1d255d3SCy Schubertendif 300c1d255d3SCy SchubertNEED_ECC=y 301c1d255d3SCy SchubertNEED_DH_GROUPS=y 302c1d255d3SCy SchubertNEED_HMAC_SHA256_KDF=y 303c1d255d3SCy SchubertNEED_AP_MLME=y 304c1d255d3SCy SchubertNEED_DRAGONFLY=y 305c1d255d3SCy Schubertendif 306c1d255d3SCy Schubert 307c1d255d3SCy Schubertifdef CONFIG_OWE 308c1d255d3SCy SchubertCFLAGS += -DCONFIG_OWE 309c1d255d3SCy SchubertNEED_ECC=y 310c1d255d3SCy SchubertNEED_HMAC_SHA256_KDF=y 311c1d255d3SCy SchubertNEED_HMAC_SHA384_KDF=y 312c1d255d3SCy SchubertNEED_HMAC_SHA512_KDF=y 313c1d255d3SCy SchubertNEED_SHA384=y 314c1d255d3SCy SchubertNEED_SHA512=y 315c1d255d3SCy Schubertendif 316c1d255d3SCy Schubert 317c1d255d3SCy Schubertifdef CONFIG_AIRTIME_POLICY 318c1d255d3SCy SchubertCFLAGS += -DCONFIG_AIRTIME_POLICY 319c1d255d3SCy SchubertOBJS += ../src/ap/airtime_policy.o 320c1d255d3SCy Schubertendif 321c1d255d3SCy Schubert 322c1d255d3SCy Schubertifdef CONFIG_FILS 323c1d255d3SCy SchubertCFLAGS += -DCONFIG_FILS 324c1d255d3SCy SchubertOBJS += ../src/ap/fils_hlp.o 325c1d255d3SCy SchubertNEED_SHA384=y 326c1d255d3SCy SchubertNEED_AES_SIV=y 327c1d255d3SCy Schubertifdef CONFIG_FILS_SK_PFS 328c1d255d3SCy SchubertCFLAGS += -DCONFIG_FILS_SK_PFS 329c1d255d3SCy SchubertNEED_ECC=y 330c1d255d3SCy Schubertendif 331c1d255d3SCy Schubertendif 332c1d255d3SCy Schubert 333c1d255d3SCy Schubertifdef CONFIG_WNM 334c1d255d3SCy SchubertCFLAGS += -DCONFIG_WNM -DCONFIG_WNM_AP 335c1d255d3SCy SchubertOBJS += ../src/ap/wnm_ap.o 336c1d255d3SCy Schubertendif 337c1d255d3SCy Schubert 338c1d255d3SCy Schubertifdef CONFIG_IEEE80211AC 339c1d255d3SCy SchubertCFLAGS += -DCONFIG_IEEE80211AC 340c1d255d3SCy Schubertendif 341c1d255d3SCy Schubert 342c1d255d3SCy Schubertifdef CONFIG_IEEE80211AX 343c1d255d3SCy SchubertCFLAGS += -DCONFIG_IEEE80211AX 344c1d255d3SCy SchubertOBJS += ../src/ap/ieee802_11_he.o 345c1d255d3SCy Schubertendif 346c1d255d3SCy Schubert 347c1d255d3SCy Schubertifdef CONFIG_MBO 348c1d255d3SCy SchubertCFLAGS += -DCONFIG_MBO 349c1d255d3SCy SchubertOBJS += ../src/ap/mbo_ap.o 350c1d255d3SCy Schubertendif 351c1d255d3SCy Schubert 352c1d255d3SCy Schubertinclude ../src/drivers/drivers.mak 353c1d255d3SCy SchubertOBJS += $(DRV_AP_OBJS) 354c1d255d3SCy SchubertCFLAGS += $(DRV_AP_CFLAGS) 355c1d255d3SCy SchubertLDFLAGS += $(DRV_AP_LDFLAGS) 356c1d255d3SCy SchubertLIBS += $(DRV_AP_LIBS) 357c1d255d3SCy Schubert 358c1d255d3SCy Schubertifdef CONFIG_L2_PACKET 359c1d255d3SCy Schubertifdef CONFIG_DNET_PCAP 360c1d255d3SCy Schubertifdef CONFIG_L2_FREEBSD 361c1d255d3SCy SchubertLIBS += -lpcap 362c1d255d3SCy SchubertOBJS += ../src/l2_packet/l2_packet_freebsd.o 363c1d255d3SCy Schubertelse 364c1d255d3SCy SchubertLIBS += -ldnet -lpcap 365c1d255d3SCy SchubertOBJS += ../src/l2_packet/l2_packet_pcap.o 366c1d255d3SCy Schubertendif 367c1d255d3SCy Schubertelse 368c1d255d3SCy SchubertOBJS += ../src/l2_packet/l2_packet_linux.o 369c1d255d3SCy Schubertendif 370c1d255d3SCy Schubertelse 371c1d255d3SCy SchubertOBJS += ../src/l2_packet/l2_packet_none.o 372c1d255d3SCy Schubertendif 373c1d255d3SCy Schubert 374c1d255d3SCy Schubert 375c1d255d3SCy Schubertifdef CONFIG_ERP 376c1d255d3SCy SchubertCFLAGS += -DCONFIG_ERP 377c1d255d3SCy SchubertNEED_HMAC_SHA256_KDF=y 378c1d255d3SCy Schubertendif 379c1d255d3SCy Schubert 380c1d255d3SCy Schubertifdef CONFIG_EAP_MD5 381c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_MD5 382c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_md5.o 383c1d255d3SCy SchubertCHAP=y 384c1d255d3SCy Schubertendif 385c1d255d3SCy Schubert 386c1d255d3SCy Schubertifdef CONFIG_EAP_TLS 387c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_TLS 388c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_tls.o 389c1d255d3SCy SchubertTLS_FUNCS=y 390c1d255d3SCy Schubertendif 391c1d255d3SCy Schubert 392c1d255d3SCy Schubertifdef CONFIG_EAP_UNAUTH_TLS 393c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_UNAUTH_TLS 394c1d255d3SCy Schubertifndef CONFIG_EAP_TLS 395c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_tls.o 396c1d255d3SCy SchubertTLS_FUNCS=y 397c1d255d3SCy Schubertendif 398c1d255d3SCy Schubertendif 399c1d255d3SCy Schubert 400c1d255d3SCy Schubertifdef CONFIG_EAP_PEAP 401c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_PEAP 402c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_peap.o 403c1d255d3SCy SchubertOBJS += ../src/eap_common/eap_peap_common.o 404c1d255d3SCy SchubertTLS_FUNCS=y 405c1d255d3SCy SchubertCONFIG_EAP_MSCHAPV2=y 406c1d255d3SCy Schubertendif 407c1d255d3SCy Schubert 408c1d255d3SCy Schubertifdef CONFIG_EAP_TTLS 409c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_TTLS 410c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_ttls.o 411c1d255d3SCy SchubertTLS_FUNCS=y 412c1d255d3SCy SchubertCHAP=y 413c1d255d3SCy Schubertendif 414c1d255d3SCy Schubert 415c1d255d3SCy Schubertifdef CONFIG_EAP_MSCHAPV2 416c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_MSCHAPV2 417c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_mschapv2.o 418c1d255d3SCy SchubertMS_FUNCS=y 419c1d255d3SCy Schubertendif 420c1d255d3SCy Schubert 421c1d255d3SCy Schubertifdef CONFIG_EAP_GTC 422c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_GTC 423c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_gtc.o 424c1d255d3SCy Schubertendif 425c1d255d3SCy Schubert 426c1d255d3SCy Schubertifdef CONFIG_EAP_SIM 427c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_SIM 428c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_sim.o 429c1d255d3SCy SchubertCONFIG_EAP_SIM_COMMON=y 430c1d255d3SCy SchubertNEED_AES_CBC=y 431c1d255d3SCy Schubertendif 432c1d255d3SCy Schubert 433c1d255d3SCy Schubertifdef CONFIG_EAP_AKA 434c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_AKA 435c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_aka.o 436c1d255d3SCy SchubertCONFIG_EAP_SIM_COMMON=y 437c1d255d3SCy SchubertNEED_AES_CBC=y 438c1d255d3SCy Schubertendif 439c1d255d3SCy Schubert 440c1d255d3SCy Schubertifdef CONFIG_EAP_AKA_PRIME 441c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_AKA_PRIME 442c1d255d3SCy Schubertendif 443c1d255d3SCy Schubert 444c1d255d3SCy Schubertifdef CONFIG_EAP_SIM_COMMON 445c1d255d3SCy SchubertOBJS += ../src/eap_common/eap_sim_common.o 446c1d255d3SCy Schubert# Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be 447c1d255d3SCy Schubert# replaced with another file implementing the interface specified in 448c1d255d3SCy Schubert# eap_sim_db.h. 449c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_sim_db.o 450c1d255d3SCy SchubertNEED_FIPS186_2_PRF=y 451c1d255d3SCy Schubertendif 452c1d255d3SCy Schubert 453c1d255d3SCy Schubertifdef CONFIG_EAP_PAX 454c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_PAX 455c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_pax.o ../src/eap_common/eap_pax_common.o 456c1d255d3SCy Schubertendif 457c1d255d3SCy Schubert 458c1d255d3SCy Schubertifdef CONFIG_EAP_PSK 459c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_PSK 460c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_psk.o ../src/eap_common/eap_psk_common.o 461c1d255d3SCy SchubertNEED_AES_ENCBLOCK=y 462c1d255d3SCy SchubertNEED_AES_EAX=y 463c1d255d3SCy Schubertendif 464c1d255d3SCy Schubert 465c1d255d3SCy Schubertifdef CONFIG_EAP_SAKE 466c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_SAKE 467c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_sake.o ../src/eap_common/eap_sake_common.o 468c1d255d3SCy Schubertendif 469c1d255d3SCy Schubert 470c1d255d3SCy Schubertifdef CONFIG_EAP_GPSK 471c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_GPSK 472c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_gpsk.o ../src/eap_common/eap_gpsk_common.o 473c1d255d3SCy Schubertifdef CONFIG_EAP_GPSK_SHA256 474c1d255d3SCy SchubertCFLAGS += -DEAP_GPSK_SHA256 475c1d255d3SCy Schubertendif 476c1d255d3SCy Schubertendif 477c1d255d3SCy Schubert 478c1d255d3SCy Schubertifdef CONFIG_EAP_PWD 479c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_PWD 480c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_pwd.o ../src/eap_common/eap_pwd_common.o 481c1d255d3SCy SchubertNEED_ECC=y 482c1d255d3SCy SchubertNEED_DRAGONFLY=y 483c1d255d3SCy Schubertendif 484c1d255d3SCy Schubert 485c1d255d3SCy Schubertifdef CONFIG_EAP_EKE 486c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_EKE 487c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_eke.o ../src/eap_common/eap_eke_common.o 488c1d255d3SCy SchubertNEED_DH_GROUPS=y 489c1d255d3SCy SchubertNEED_DH_GROUPS_ALL=y 490c1d255d3SCy Schubertendif 491c1d255d3SCy Schubert 492c1d255d3SCy Schubertifdef CONFIG_EAP_VENDOR_TEST 493c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_VENDOR_TEST 494c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_vendor_test.o 495c1d255d3SCy Schubertendif 496c1d255d3SCy Schubert 497c1d255d3SCy Schubertifdef CONFIG_EAP_FAST 498c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_FAST 499c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_fast.o 500c1d255d3SCy SchubertOBJS += ../src/eap_common/eap_fast_common.o 501c1d255d3SCy SchubertTLS_FUNCS=y 502c1d255d3SCy SchubertNEED_T_PRF=y 503c1d255d3SCy SchubertNEED_AES_UNWRAP=y 504c1d255d3SCy Schubertendif 505c1d255d3SCy Schubert 506c1d255d3SCy Schubertifdef CONFIG_EAP_TEAP 507c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_TEAP 508c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_teap.o 509c1d255d3SCy SchubertOBJS += ../src/eap_common/eap_teap_common.o 510c1d255d3SCy SchubertTLS_FUNCS=y 511c1d255d3SCy SchubertNEED_T_PRF=y 512c1d255d3SCy SchubertNEED_SHA384=y 513c1d255d3SCy SchubertNEED_TLS_PRF_SHA256=y 514c1d255d3SCy SchubertNEED_TLS_PRF_SHA384=y 515c1d255d3SCy SchubertNEED_AES_UNWRAP=y 516c1d255d3SCy Schubertendif 517c1d255d3SCy Schubert 518c1d255d3SCy Schubertifdef CONFIG_WPS 519c1d255d3SCy SchubertCFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC 520c1d255d3SCy SchubertOBJS += ../src/utils/uuid.o 521c1d255d3SCy SchubertOBJS += ../src/ap/wps_hostapd.o 522c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_wsc.o ../src/eap_common/eap_wsc_common.o 523c1d255d3SCy SchubertOBJS += ../src/wps/wps.o 524c1d255d3SCy SchubertOBJS += ../src/wps/wps_common.o 525c1d255d3SCy SchubertOBJS += ../src/wps/wps_attr_parse.o 526c1d255d3SCy SchubertOBJS += ../src/wps/wps_attr_build.o 527c1d255d3SCy SchubertOBJS += ../src/wps/wps_attr_process.o 528c1d255d3SCy SchubertOBJS += ../src/wps/wps_dev_attr.o 529c1d255d3SCy SchubertOBJS += ../src/wps/wps_enrollee.o 530c1d255d3SCy SchubertOBJS += ../src/wps/wps_registrar.o 531c1d255d3SCy SchubertNEED_DH_GROUPS=y 532c1d255d3SCy SchubertNEED_BASE64=y 533c1d255d3SCy SchubertNEED_AES_CBC=y 534c1d255d3SCy SchubertNEED_MODEXP=y 535c1d255d3SCy SchubertCONFIG_EAP=y 536c1d255d3SCy Schubert 537c1d255d3SCy Schubertifdef CONFIG_WPS_NFC 538c1d255d3SCy SchubertCFLAGS += -DCONFIG_WPS_NFC 539c1d255d3SCy SchubertOBJS += ../src/wps/ndef.o 540c1d255d3SCy SchubertNEED_WPS_OOB=y 541c1d255d3SCy Schubertendif 542c1d255d3SCy Schubert 543c1d255d3SCy Schubertifdef NEED_WPS_OOB 544c1d255d3SCy SchubertCFLAGS += -DCONFIG_WPS_OOB 545c1d255d3SCy Schubertendif 546c1d255d3SCy Schubert 547c1d255d3SCy Schubertifdef CONFIG_WPS_UPNP 548c1d255d3SCy SchubertCFLAGS += -DCONFIG_WPS_UPNP 549c1d255d3SCy SchubertOBJS += ../src/wps/wps_upnp.o 550c1d255d3SCy SchubertOBJS += ../src/wps/wps_upnp_ssdp.o 551c1d255d3SCy SchubertOBJS += ../src/wps/wps_upnp_web.o 552c1d255d3SCy SchubertOBJS += ../src/wps/wps_upnp_event.o 553c1d255d3SCy SchubertOBJS += ../src/wps/wps_upnp_ap.o 554c1d255d3SCy SchubertOBJS += ../src/wps/upnp_xml.o 555c1d255d3SCy SchubertOBJS += ../src/wps/httpread.o 556c1d255d3SCy SchubertOBJS += ../src/wps/http_client.o 557c1d255d3SCy SchubertOBJS += ../src/wps/http_server.o 558c1d255d3SCy Schubertendif 559c1d255d3SCy Schubert 560c1d255d3SCy Schubertifdef CONFIG_WPS_STRICT 561c1d255d3SCy SchubertCFLAGS += -DCONFIG_WPS_STRICT 562c1d255d3SCy SchubertOBJS += ../src/wps/wps_validate.o 563c1d255d3SCy Schubertendif 564c1d255d3SCy Schubert 565c1d255d3SCy Schubertifdef CONFIG_WPS_TESTING 566c1d255d3SCy SchubertCFLAGS += -DCONFIG_WPS_TESTING 567c1d255d3SCy Schubertendif 568c1d255d3SCy Schubert 569c1d255d3SCy Schubertendif 570c1d255d3SCy Schubert 571c1d255d3SCy Schubertifdef CONFIG_DPP 572c1d255d3SCy SchubertCFLAGS += -DCONFIG_DPP 573c1d255d3SCy SchubertOBJS += ../src/common/dpp.o 574c1d255d3SCy SchubertOBJS += ../src/common/dpp_auth.o 575c1d255d3SCy SchubertOBJS += ../src/common/dpp_backup.o 576c1d255d3SCy SchubertOBJS += ../src/common/dpp_crypto.o 577c1d255d3SCy SchubertOBJS += ../src/common/dpp_pkex.o 578c1d255d3SCy SchubertOBJS += ../src/common/dpp_reconfig.o 579c1d255d3SCy SchubertOBJS += ../src/common/dpp_tcp.o 580c1d255d3SCy SchubertOBJS += ../src/ap/dpp_hostapd.o 581c1d255d3SCy SchubertOBJS += ../src/ap/gas_query_ap.o 582c1d255d3SCy SchubertNEED_AES_SIV=y 583c1d255d3SCy SchubertNEED_HMAC_SHA256_KDF=y 584c1d255d3SCy SchubertNEED_HMAC_SHA384_KDF=y 585c1d255d3SCy SchubertNEED_HMAC_SHA512_KDF=y 586c1d255d3SCy SchubertNEED_SHA384=y 587c1d255d3SCy SchubertNEED_SHA512=y 588c1d255d3SCy SchubertNEED_ECC=y 589c1d255d3SCy SchubertNEED_JSON=y 590c1d255d3SCy SchubertNEED_GAS=y 591c1d255d3SCy SchubertNEED_BASE64=y 592c1d255d3SCy SchubertNEED_ASN1=y 593c1d255d3SCy Schubertifdef CONFIG_DPP2 594c1d255d3SCy SchubertCFLAGS += -DCONFIG_DPP2 595c1d255d3SCy Schubertendif 596*32a95656SCy Schubertifdef CONFIG_DPP3 597*32a95656SCy SchubertCFLAGS += -DCONFIG_DPP3 598*32a95656SCy Schubertendif 599c1d255d3SCy Schubertendif 600c1d255d3SCy Schubert 601c1d255d3SCy Schubertifdef CONFIG_PASN 602c1d255d3SCy SchubertCFLAGS += -DCONFIG_PASN 603c1d255d3SCy SchubertCFLAGS += -DCONFIG_PTKSA_CACHE 604c1d255d3SCy SchubertNEED_HMAC_SHA256_KDF=y 605c1d255d3SCy SchubertNEED_HMAC_SHA384_KDF=y 606c1d255d3SCy SchubertNEED_SHA256=y 607c1d255d3SCy SchubertNEED_SHA384=y 608c1d255d3SCy SchubertOBJS += ../src/common/ptksa_cache.o 609c1d255d3SCy Schubertendif 610c1d255d3SCy Schubert 611c1d255d3SCy Schubertifdef CONFIG_EAP_IKEV2 612c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_IKEV2 613c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_ikev2.o ../src/eap_server/ikev2.o 614c1d255d3SCy SchubertOBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o 615c1d255d3SCy SchubertNEED_DH_GROUPS=y 616c1d255d3SCy SchubertNEED_DH_GROUPS_ALL=y 617c1d255d3SCy SchubertNEED_MODEXP=y 618c1d255d3SCy SchubertNEED_CIPHER=y 619c1d255d3SCy Schubertendif 620c1d255d3SCy Schubert 621c1d255d3SCy Schubertifdef CONFIG_EAP_TNC 622c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_TNC 623c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_tnc.o 624c1d255d3SCy SchubertOBJS += ../src/eap_server/tncs.o 625c1d255d3SCy SchubertNEED_BASE64=y 626c1d255d3SCy Schubertifndef CONFIG_DRIVER_BSD 627c1d255d3SCy SchubertLIBS += -ldl 628c1d255d3SCy Schubertendif 629c1d255d3SCy Schubertendif 630c1d255d3SCy Schubert 631c1d255d3SCy Schubertifdef CONFIG_MACSEC 632c1d255d3SCy SchubertCFLAGS += -DCONFIG_MACSEC 633c1d255d3SCy SchubertOBJS += ../src/ap/wpa_auth_kay.o 634c1d255d3SCy SchubertOBJS += ../src/pae/ieee802_1x_cp.o 635c1d255d3SCy SchubertOBJS += ../src/pae/ieee802_1x_kay.o 636c1d255d3SCy SchubertOBJS += ../src/pae/ieee802_1x_key.o 637c1d255d3SCy SchubertOBJS += ../src/pae/ieee802_1x_secy_ops.o 638c1d255d3SCy Schubertendif 639c1d255d3SCy Schubert 640c1d255d3SCy Schubert# Basic EAP functionality is needed for EAPOL 641c1d255d3SCy SchubertOBJS += eap_register.o 642c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server.o 643c1d255d3SCy SchubertOBJS += ../src/eap_common/eap_common.o 644c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_methods.o 645c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_identity.o 646c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER_IDENTITY 647c1d255d3SCy Schubert 648c1d255d3SCy Schubertifdef CONFIG_EAP 649c1d255d3SCy SchubertCFLAGS += -DEAP_SERVER 650c1d255d3SCy Schubertendif 651c1d255d3SCy Schubert 652c1d255d3SCy Schubertifdef CONFIG_PKCS12 653c1d255d3SCy SchubertCFLAGS += -DPKCS12_FUNCS 654c1d255d3SCy Schubertendif 655c1d255d3SCy Schubert 656c1d255d3SCy Schubertifdef NEED_DRAGONFLY 657c1d255d3SCy SchubertOBJS += ../src/common/dragonfly.o 658c1d255d3SCy Schubertendif 659c1d255d3SCy Schubert 660c1d255d3SCy Schubertifdef MS_FUNCS 661c1d255d3SCy SchubertOBJS += ../src/crypto/ms_funcs.o 662c1d255d3SCy SchubertNEED_DES=y 663c1d255d3SCy SchubertNEED_MD4=y 664c1d255d3SCy Schubertendif 665c1d255d3SCy Schubert 666c1d255d3SCy Schubertifdef CHAP 667c1d255d3SCy SchubertOBJS += ../src/eap_common/chap.o 668c1d255d3SCy Schubertendif 669c1d255d3SCy Schubert 670c1d255d3SCy Schubertifdef TLS_FUNCS 671c1d255d3SCy SchubertNEED_DES=y 672c1d255d3SCy Schubert# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS) 673c1d255d3SCy SchubertCFLAGS += -DEAP_TLS_FUNCS 674c1d255d3SCy SchubertOBJS += ../src/eap_server/eap_server_tls_common.o 675c1d255d3SCy SchubertNEED_TLS_PRF=y 676c1d255d3SCy Schubertendif 677c1d255d3SCy Schubert 678c1d255d3SCy Schubertifndef CONFIG_TLS 679c1d255d3SCy SchubertCONFIG_TLS=openssl 680c1d255d3SCy Schubertendif 681c1d255d3SCy Schubert 682c1d255d3SCy Schubertifdef CONFIG_TLSV11 683c1d255d3SCy SchubertCFLAGS += -DCONFIG_TLSV11 684c1d255d3SCy Schubertendif 685c1d255d3SCy Schubert 686c1d255d3SCy Schubertifdef CONFIG_TLSV12 687c1d255d3SCy SchubertCFLAGS += -DCONFIG_TLSV12 688c1d255d3SCy Schubertendif 689c1d255d3SCy Schubert 690c1d255d3SCy Schubertifeq ($(CONFIG_TLS), wolfssl) 691c1d255d3SCy SchubertCONFIG_CRYPTO=wolfssl 692c1d255d3SCy Schubertifdef TLS_FUNCS 693c1d255d3SCy SchubertOBJS += ../src/crypto/tls_wolfssl.o 694c1d255d3SCy SchubertLIBS += -lwolfssl -lm 695c1d255d3SCy Schubertendif 696c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_wolfssl.o 697c1d255d3SCy SchubertHOBJS += ../src/crypto/crypto_wolfssl.o 698c1d255d3SCy Schubertifdef NEED_FIPS186_2_PRF 699c1d255d3SCy SchubertOBJS += ../src/crypto/fips_prf_wolfssl.o 700c1d255d3SCy Schubertendif 701c1d255d3SCy SchubertNEED_TLS_PRF_SHA256=y 702c1d255d3SCy SchubertLIBS += -lwolfssl -lm 703c1d255d3SCy SchubertLIBS_h += -lwolfssl -lm 704c1d255d3SCy Schubertifdef CONFIG_TLS_ADD_DL 705c1d255d3SCy SchubertLIBS += -ldl 706c1d255d3SCy SchubertLIBS_h += -ldl 707c1d255d3SCy Schubertendif 708c1d255d3SCy Schubertendif 709c1d255d3SCy Schubert 710c1d255d3SCy Schubertifeq ($(CONFIG_TLS), openssl) 711c1d255d3SCy SchubertCONFIG_CRYPTO=openssl 712c1d255d3SCy Schubertifdef TLS_FUNCS 713c1d255d3SCy SchubertOBJS += ../src/crypto/tls_openssl.o 714c1d255d3SCy SchubertOBJS += ../src/crypto/tls_openssl_ocsp.o 715c1d255d3SCy SchubertLIBS += -lssl 716c1d255d3SCy Schubertendif 717c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_openssl.o 718c1d255d3SCy SchubertHOBJS += ../src/crypto/crypto_openssl.o 719c1d255d3SCy SchubertSOBJS += ../src/crypto/crypto_openssl.o 720c1d255d3SCy Schubertifdef NEED_FIPS186_2_PRF 721c1d255d3SCy SchubertOBJS += ../src/crypto/fips_prf_openssl.o 722c1d255d3SCy Schubertendif 723c1d255d3SCy SchubertNEED_TLS_PRF_SHA256=y 724c1d255d3SCy SchubertLIBS += -lcrypto 725c1d255d3SCy SchubertLIBS_h += -lcrypto 726c1d255d3SCy SchubertLIBS_n += -lcrypto 727c1d255d3SCy SchubertLIBS_s += -lcrypto 728c1d255d3SCy Schubertifdef CONFIG_TLS_ADD_DL 729c1d255d3SCy SchubertLIBS += -ldl 730c1d255d3SCy SchubertLIBS_h += -ldl 731c1d255d3SCy SchubertLIBS_s += -ldl 732c1d255d3SCy Schubertendif 733c1d255d3SCy Schubertifndef CONFIG_TLS_DEFAULT_CIPHERS 734c1d255d3SCy SchubertCONFIG_TLS_DEFAULT_CIPHERS = "DEFAULT:!EXP:!LOW" 735c1d255d3SCy Schubertendif 736c1d255d3SCy SchubertCFLAGS += -DTLS_DEFAULT_CIPHERS=\"$(CONFIG_TLS_DEFAULT_CIPHERS)\" 737c1d255d3SCy Schubertendif 738c1d255d3SCy Schubert 739c1d255d3SCy Schubertifeq ($(CONFIG_TLS), gnutls) 740c1d255d3SCy Schubertifndef CONFIG_CRYPTO 741c1d255d3SCy Schubert# default to libgcrypt 742c1d255d3SCy SchubertCONFIG_CRYPTO=gnutls 743c1d255d3SCy Schubertendif 744c1d255d3SCy Schubertifdef TLS_FUNCS 745c1d255d3SCy SchubertOBJS += ../src/crypto/tls_gnutls.o 746c1d255d3SCy SchubertLIBS += -lgnutls -lgpg-error 747c1d255d3SCy Schubertendif 748c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o 749c1d255d3SCy SchubertHOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o 750c1d255d3SCy Schubertifdef NEED_FIPS186_2_PRF 751c1d255d3SCy SchubertOBJS += ../src/crypto/fips_prf_internal.o 752c1d255d3SCy SchubertSHA1OBJS += ../src/crypto/sha1-internal.o 753c1d255d3SCy Schubertendif 754c1d255d3SCy Schubertifeq ($(CONFIG_CRYPTO), gnutls) 755c1d255d3SCy SchubertLIBS += -lgcrypt 756c1d255d3SCy SchubertLIBS_h += -lgcrypt 757c1d255d3SCy SchubertLIBS_n += -lgcrypt 758c1d255d3SCy SchubertCONFIG_INTERNAL_RC4=y 759c1d255d3SCy SchubertCONFIG_INTERNAL_DH_GROUP5=y 760c1d255d3SCy Schubertendif 761c1d255d3SCy Schubertifeq ($(CONFIG_CRYPTO), nettle) 762c1d255d3SCy SchubertLIBS += -lnettle -lgmp 763c1d255d3SCy SchubertLIBS_p += -lnettle -lgmp 764c1d255d3SCy SchubertCONFIG_INTERNAL_RC4=y 765c1d255d3SCy SchubertCONFIG_INTERNAL_DH_GROUP5=y 766c1d255d3SCy Schubertendif 767c1d255d3SCy Schubertendif 768c1d255d3SCy Schubert 769c1d255d3SCy Schubertifeq ($(CONFIG_TLS), internal) 770c1d255d3SCy Schubertifndef CONFIG_CRYPTO 771c1d255d3SCy SchubertCONFIG_CRYPTO=internal 772c1d255d3SCy Schubertendif 773c1d255d3SCy Schubertifdef TLS_FUNCS 774c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_internal-rsa.o 775c1d255d3SCy SchubertOBJS += ../src/crypto/tls_internal.o 776c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_common.o 777c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_record.o 778c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_cred.o 779c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_server.o 780c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_server_write.o 781c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_server_read.o 782c1d255d3SCy SchubertOBJS += ../src/tls/rsa.o 783c1d255d3SCy SchubertOBJS += ../src/tls/x509v3.o 784c1d255d3SCy SchubertOBJS += ../src/tls/pkcs1.o 785c1d255d3SCy SchubertOBJS += ../src/tls/pkcs5.o 786c1d255d3SCy SchubertOBJS += ../src/tls/pkcs8.o 787c1d255d3SCy SchubertNEED_ASN1=y 788c1d255d3SCy SchubertNEED_BASE64=y 789c1d255d3SCy SchubertNEED_TLS_PRF=y 790c1d255d3SCy Schubertifdef CONFIG_TLSV12 791c1d255d3SCy SchubertNEED_TLS_PRF_SHA256=y 792c1d255d3SCy Schubertendif 793c1d255d3SCy SchubertNEED_MODEXP=y 794c1d255d3SCy SchubertNEED_CIPHER=y 795c1d255d3SCy SchubertCFLAGS += -DCONFIG_TLS_INTERNAL 796c1d255d3SCy SchubertCFLAGS += -DCONFIG_TLS_INTERNAL_SERVER 797c1d255d3SCy Schubertendif 798c1d255d3SCy Schubertifdef NEED_CIPHER 799c1d255d3SCy SchubertNEED_DES=y 800c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_internal-cipher.o 801c1d255d3SCy Schubertendif 802c1d255d3SCy Schubertifdef NEED_MODEXP 803c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_internal-modexp.o 804c1d255d3SCy SchubertOBJS += ../src/tls/bignum.o 805c1d255d3SCy Schubertendif 806c1d255d3SCy Schubertifeq ($(CONFIG_CRYPTO), libtomcrypt) 807c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_libtomcrypt.o 808c1d255d3SCy SchubertLIBS += -ltomcrypt -ltfm 809c1d255d3SCy SchubertLIBS_h += -ltomcrypt -ltfm 810c1d255d3SCy SchubertCONFIG_INTERNAL_SHA256=y 811c1d255d3SCy SchubertCONFIG_INTERNAL_RC4=y 812c1d255d3SCy SchubertCONFIG_INTERNAL_DH_GROUP5=y 813c1d255d3SCy Schubertendif 814c1d255d3SCy Schubertifeq ($(CONFIG_CRYPTO), internal) 815c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_internal.o 816c1d255d3SCy SchubertNEED_AES_DEC=y 817c1d255d3SCy SchubertCFLAGS += -DCONFIG_CRYPTO_INTERNAL 818c1d255d3SCy Schubertifdef CONFIG_INTERNAL_LIBTOMMATH 819c1d255d3SCy SchubertCFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH 820c1d255d3SCy Schubertifdef CONFIG_INTERNAL_LIBTOMMATH_FAST 821c1d255d3SCy SchubertCFLAGS += -DLTM_FAST 822c1d255d3SCy Schubertendif 823c1d255d3SCy Schubertelse 824c1d255d3SCy SchubertLIBS += -ltommath 825c1d255d3SCy SchubertLIBS_h += -ltommath 826c1d255d3SCy Schubertendif 827c1d255d3SCy SchubertCONFIG_INTERNAL_AES=y 828c1d255d3SCy SchubertCONFIG_INTERNAL_DES=y 829c1d255d3SCy SchubertCONFIG_INTERNAL_SHA1=y 830c1d255d3SCy SchubertCONFIG_INTERNAL_MD4=y 831c1d255d3SCy SchubertCONFIG_INTERNAL_MD5=y 832c1d255d3SCy SchubertCONFIG_INTERNAL_SHA256=y 833c1d255d3SCy SchubertCONFIG_INTERNAL_SHA384=y 834c1d255d3SCy SchubertCONFIG_INTERNAL_SHA512=y 835c1d255d3SCy SchubertCONFIG_INTERNAL_RC4=y 836c1d255d3SCy SchubertCONFIG_INTERNAL_DH_GROUP5=y 837c1d255d3SCy Schubertendif 838c1d255d3SCy Schubertifeq ($(CONFIG_CRYPTO), cryptoapi) 839c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_cryptoapi.o 840c1d255d3SCy SchubertOBJS_p += ../src/crypto/crypto_cryptoapi.o 841c1d255d3SCy SchubertCFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI 842c1d255d3SCy SchubertCONFIG_INTERNAL_SHA256=y 843c1d255d3SCy SchubertCONFIG_INTERNAL_RC4=y 844c1d255d3SCy Schubertendif 845c1d255d3SCy Schubertendif 846c1d255d3SCy Schubert 847c1d255d3SCy Schubertifeq ($(CONFIG_TLS), linux) 848c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_linux.o 849c1d255d3SCy Schubertifdef TLS_FUNCS 850c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_internal-rsa.o 851c1d255d3SCy SchubertOBJS += ../src/crypto/tls_internal.o 852c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_common.o 853c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_record.o 854c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_cred.o 855c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_server.o 856c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_server_write.o 857c1d255d3SCy SchubertOBJS += ../src/tls/tlsv1_server_read.o 858c1d255d3SCy SchubertOBJS += ../src/tls/rsa.o 859c1d255d3SCy SchubertOBJS += ../src/tls/x509v3.o 860c1d255d3SCy SchubertOBJS += ../src/tls/pkcs1.o 861c1d255d3SCy SchubertOBJS += ../src/tls/pkcs5.o 862c1d255d3SCy SchubertOBJS += ../src/tls/pkcs8.o 863c1d255d3SCy SchubertNEED_ASN1=y 864c1d255d3SCy SchubertNEED_BASE64=y 865c1d255d3SCy SchubertNEED_TLS_PRF=y 866c1d255d3SCy Schubertifdef CONFIG_TLSV12 867c1d255d3SCy SchubertNEED_TLS_PRF_SHA256=y 868c1d255d3SCy Schubertendif 869c1d255d3SCy SchubertNEED_MODEXP=y 870c1d255d3SCy SchubertNEED_CIPHER=y 871c1d255d3SCy SchubertCFLAGS += -DCONFIG_TLS_INTERNAL 872c1d255d3SCy SchubertCFLAGS += -DCONFIG_TLS_INTERNAL_SERVER 873c1d255d3SCy Schubertendif 874c1d255d3SCy Schubertifdef NEED_MODEXP 875c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_internal-modexp.o 876c1d255d3SCy SchubertOBJS += ../src/tls/bignum.o 877c1d255d3SCy SchubertCFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH 878c1d255d3SCy SchubertCFLAGS += -DLTM_FAST 879c1d255d3SCy Schubertendif 880c1d255d3SCy SchubertCONFIG_INTERNAL_DH_GROUP5=y 881c1d255d3SCy Schubertifdef NEED_FIPS186_2_PRF 882c1d255d3SCy SchubertOBJS += ../src/crypto/fips_prf_internal.o 883c1d255d3SCy SchubertOBJS += ../src/crypto/sha1-internal.o 884c1d255d3SCy Schubertendif 885c1d255d3SCy Schubertendif 886c1d255d3SCy Schubert 887c1d255d3SCy Schubertifeq ($(CONFIG_TLS), none) 888c1d255d3SCy Schubertifdef TLS_FUNCS 889c1d255d3SCy SchubertOBJS += ../src/crypto/tls_none.o 890c1d255d3SCy SchubertCFLAGS += -DEAP_TLS_NONE 891c1d255d3SCy SchubertCONFIG_INTERNAL_AES=y 892c1d255d3SCy SchubertCONFIG_INTERNAL_SHA1=y 893c1d255d3SCy SchubertCONFIG_INTERNAL_MD5=y 894c1d255d3SCy Schubertendif 895c1d255d3SCy SchubertOBJS += ../src/crypto/crypto_none.o 896c1d255d3SCy SchubertOBJS_p += ../src/crypto/crypto_none.o 897c1d255d3SCy SchubertCONFIG_INTERNAL_SHA256=y 898c1d255d3SCy SchubertCONFIG_INTERNAL_RC4=y 899c1d255d3SCy Schubertendif 900c1d255d3SCy Schubert 901c1d255d3SCy Schubertifndef TLS_FUNCS 902c1d255d3SCy SchubertOBJS += ../src/crypto/tls_none.o 903c1d255d3SCy Schubertifeq ($(CONFIG_TLS), internal) 904c1d255d3SCy SchubertCONFIG_INTERNAL_AES=y 905c1d255d3SCy SchubertCONFIG_INTERNAL_SHA1=y 906c1d255d3SCy SchubertCONFIG_INTERNAL_MD5=y 907c1d255d3SCy SchubertCONFIG_INTERNAL_RC4=y 908c1d255d3SCy Schubertendif 909c1d255d3SCy Schubertendif 910c1d255d3SCy Schubert 911c1d255d3SCy SchubertAESOBJS = # none so far 912c1d255d3SCy Schubertifdef CONFIG_INTERNAL_AES 913c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-enc.o 914c1d255d3SCy Schubertendif 915c1d255d3SCy Schubert 916c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 917c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 918c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-wrap.o 919c1d255d3SCy Schubertendif 920c1d255d3SCy Schubertendif 921c1d255d3SCy Schubertifdef NEED_AES_EAX 922c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-eax.o 923c1d255d3SCy SchubertNEED_AES_CTR=y 924c1d255d3SCy Schubertendif 925c1d255d3SCy Schubertifdef NEED_AES_SIV 926c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-siv.o 927c1d255d3SCy SchubertNEED_AES_CTR=y 928c1d255d3SCy Schubertendif 929c1d255d3SCy Schubertifdef NEED_AES_CTR 930c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-ctr.o 931c1d255d3SCy Schubertendif 932c1d255d3SCy Schubertifdef NEED_AES_ENCBLOCK 933c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-encblock.o 934c1d255d3SCy Schubertendif 935c1d255d3SCy Schubertifneq ($(CONFIG_TLS), linux) 936c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 937c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-omac1.o 938c1d255d3SCy Schubertendif 939c1d255d3SCy Schubertendif 940c1d255d3SCy Schubertifdef NEED_AES_UNWRAP 941c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 942c1d255d3SCy Schubertifneq ($(CONFIG_TLS), linux) 943c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 944c1d255d3SCy SchubertNEED_AES_DEC=y 945c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-unwrap.o 946c1d255d3SCy Schubertendif 947c1d255d3SCy Schubertendif 948c1d255d3SCy Schubertendif 949c1d255d3SCy Schubertendif 950c1d255d3SCy Schubertifdef NEED_AES_CBC 951c1d255d3SCy SchubertNEED_AES_DEC=y 952c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 953c1d255d3SCy Schubertifneq ($(CONFIG_TLS), linux) 954c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 955c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-cbc.o 956c1d255d3SCy Schubertendif 957c1d255d3SCy Schubertendif 958c1d255d3SCy Schubertendif 959c1d255d3SCy Schubertendif 960c1d255d3SCy Schubertifdef NEED_AES_DEC 961c1d255d3SCy Schubertifdef CONFIG_INTERNAL_AES 962c1d255d3SCy SchubertAESOBJS += ../src/crypto/aes-internal-dec.o 963c1d255d3SCy Schubertendif 964c1d255d3SCy Schubertendif 965c1d255d3SCy Schubertifdef NEED_AES 966c1d255d3SCy SchubertOBJS += $(AESOBJS) 967c1d255d3SCy Schubertendif 968c1d255d3SCy Schubert 969c1d255d3SCy Schubertifdef NEED_SHA1 970c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 971c1d255d3SCy Schubertifneq ($(CONFIG_TLS), linux) 972c1d255d3SCy Schubertifneq ($(CONFIG_TLS), gnutls) 973c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 974c1d255d3SCy SchubertSHA1OBJS += ../src/crypto/sha1.o 975c1d255d3SCy Schubertendif 976c1d255d3SCy Schubertendif 977c1d255d3SCy Schubertendif 978c1d255d3SCy Schubertendif 979c1d255d3SCy SchubertSHA1OBJS += ../src/crypto/sha1-prf.o 980c1d255d3SCy Schubertifdef CONFIG_INTERNAL_SHA1 981c1d255d3SCy SchubertSHA1OBJS += ../src/crypto/sha1-internal.o 982c1d255d3SCy Schubertifdef NEED_FIPS186_2_PRF 983c1d255d3SCy SchubertSHA1OBJS += ../src/crypto/fips_prf_internal.o 984c1d255d3SCy Schubertendif 985c1d255d3SCy Schubertendif 986c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 987c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 988c1d255d3SCy SchubertSHA1OBJS += ../src/crypto/sha1-pbkdf2.o 989c1d255d3SCy Schubertendif 990c1d255d3SCy Schubertendif 991c1d255d3SCy Schubertifdef NEED_T_PRF 992c1d255d3SCy SchubertSHA1OBJS += ../src/crypto/sha1-tprf.o 993c1d255d3SCy Schubertendif 994c1d255d3SCy Schubertifdef NEED_TLS_PRF 995c1d255d3SCy SchubertSHA1OBJS += ../src/crypto/sha1-tlsprf.o 996c1d255d3SCy Schubertendif 997c1d255d3SCy Schubertendif 998c1d255d3SCy Schubert 999c1d255d3SCy Schubertifdef NEED_SHA1 1000c1d255d3SCy SchubertOBJS += $(SHA1OBJS) 1001c1d255d3SCy Schubertendif 1002c1d255d3SCy Schubert 1003c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 1004c1d255d3SCy Schubertifneq ($(CONFIG_TLS), linux) 1005c1d255d3SCy Schubertifneq ($(CONFIG_TLS), gnutls) 1006c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 1007c1d255d3SCy SchubertOBJS += ../src/crypto/md5.o 1008c1d255d3SCy Schubertendif 1009c1d255d3SCy Schubertendif 1010c1d255d3SCy Schubertendif 1011c1d255d3SCy Schubertendif 1012c1d255d3SCy Schubert 1013c1d255d3SCy Schubertifdef NEED_MD5 1014c1d255d3SCy Schubertifdef CONFIG_INTERNAL_MD5 1015c1d255d3SCy SchubertOBJS += ../src/crypto/md5-internal.o 1016c1d255d3SCy SchubertHOBJS += ../src/crypto/md5-internal.o 1017c1d255d3SCy Schubertendif 1018c1d255d3SCy Schubertendif 1019c1d255d3SCy Schubert 1020c1d255d3SCy Schubertifdef NEED_MD4 1021c1d255d3SCy Schubertifdef CONFIG_INTERNAL_MD4 1022c1d255d3SCy SchubertOBJS += ../src/crypto/md4-internal.o 1023c1d255d3SCy Schubertendif 1024c1d255d3SCy Schubertendif 1025c1d255d3SCy Schubert 1026c1d255d3SCy Schubertifdef NEED_DES 1027c1d255d3SCy SchubertCFLAGS += -DCONFIG_DES 1028c1d255d3SCy Schubertifdef CONFIG_INTERNAL_DES 1029c1d255d3SCy SchubertOBJS += ../src/crypto/des-internal.o 1030c1d255d3SCy Schubertendif 1031c1d255d3SCy Schubertendif 1032c1d255d3SCy Schubert 1033c1d255d3SCy Schubertifdef CONFIG_NO_RC4 1034c1d255d3SCy SchubertCFLAGS += -DCONFIG_NO_RC4 1035c1d255d3SCy Schubertendif 1036c1d255d3SCy Schubert 1037c1d255d3SCy Schubertifdef NEED_RC4 1038c1d255d3SCy Schubertifdef CONFIG_INTERNAL_RC4 1039c1d255d3SCy Schubertifndef CONFIG_NO_RC4 1040c1d255d3SCy SchubertOBJS += ../src/crypto/rc4.o 1041c1d255d3SCy Schubertendif 1042c1d255d3SCy Schubertendif 1043c1d255d3SCy Schubertendif 1044c1d255d3SCy Schubert 1045c1d255d3SCy SchubertCFLAGS += -DCONFIG_SHA256 1046c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 1047c1d255d3SCy Schubertifneq ($(CONFIG_TLS), linux) 1048c1d255d3SCy Schubertifneq ($(CONFIG_TLS), gnutls) 1049c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 1050c1d255d3SCy SchubertOBJS += ../src/crypto/sha256.o 1051c1d255d3SCy Schubertendif 1052c1d255d3SCy Schubertendif 1053c1d255d3SCy Schubertendif 1054c1d255d3SCy Schubertendif 1055c1d255d3SCy SchubertOBJS += ../src/crypto/sha256-prf.o 1056c1d255d3SCy Schubertifdef CONFIG_INTERNAL_SHA256 1057c1d255d3SCy SchubertOBJS += ../src/crypto/sha256-internal.o 1058c1d255d3SCy Schubertendif 1059c1d255d3SCy Schubertifdef NEED_TLS_PRF_SHA256 1060c1d255d3SCy SchubertOBJS += ../src/crypto/sha256-tlsprf.o 1061c1d255d3SCy Schubertendif 1062c1d255d3SCy Schubertifdef NEED_TLS_PRF_SHA384 1063c1d255d3SCy SchubertOBJS += ../src/crypto/sha384-tlsprf.o 1064c1d255d3SCy Schubertendif 1065c1d255d3SCy Schubertifdef NEED_HMAC_SHA256_KDF 1066c1d255d3SCy SchubertOBJS += ../src/crypto/sha256-kdf.o 1067c1d255d3SCy Schubertendif 1068c1d255d3SCy Schubertifdef NEED_HMAC_SHA384_KDF 1069c1d255d3SCy SchubertOBJS += ../src/crypto/sha384-kdf.o 1070c1d255d3SCy Schubertendif 1071c1d255d3SCy Schubertifdef NEED_HMAC_SHA512_KDF 1072c1d255d3SCy SchubertOBJS += ../src/crypto/sha512-kdf.o 1073c1d255d3SCy Schubertendif 1074c1d255d3SCy Schubertifdef NEED_SHA384 1075c1d255d3SCy SchubertCFLAGS += -DCONFIG_SHA384 1076c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 1077c1d255d3SCy Schubertifneq ($(CONFIG_TLS), linux) 1078c1d255d3SCy Schubertifneq ($(CONFIG_TLS), gnutls) 1079c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 1080c1d255d3SCy SchubertOBJS += ../src/crypto/sha384.o 1081c1d255d3SCy Schubertendif 1082c1d255d3SCy Schubertendif 1083c1d255d3SCy Schubertendif 1084c1d255d3SCy Schubertendif 1085c1d255d3SCy SchubertOBJS += ../src/crypto/sha384-prf.o 1086c1d255d3SCy Schubertendif 1087c1d255d3SCy Schubertifdef NEED_SHA512 1088c1d255d3SCy SchubertCFLAGS += -DCONFIG_SHA512 1089c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 1090c1d255d3SCy Schubertifneq ($(CONFIG_TLS), linux) 1091c1d255d3SCy Schubertifneq ($(CONFIG_TLS), gnutls) 1092c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 1093c1d255d3SCy SchubertOBJS += ../src/crypto/sha512.o 1094c1d255d3SCy Schubertendif 1095c1d255d3SCy Schubertendif 1096c1d255d3SCy Schubertendif 1097c1d255d3SCy Schubertendif 1098c1d255d3SCy SchubertOBJS += ../src/crypto/sha512-prf.o 1099c1d255d3SCy Schubertendif 1100c1d255d3SCy Schubert 1101c1d255d3SCy Schubertifdef CONFIG_INTERNAL_SHA384 1102c1d255d3SCy SchubertCFLAGS += -DCONFIG_INTERNAL_SHA384 1103c1d255d3SCy SchubertOBJS += ../src/crypto/sha384-internal.o 1104c1d255d3SCy Schubertendif 1105c1d255d3SCy Schubert 1106c1d255d3SCy Schubertifdef CONFIG_INTERNAL_SHA512 1107c1d255d3SCy SchubertCFLAGS += -DCONFIG_INTERNAL_SHA512 1108c1d255d3SCy SchubertOBJS += ../src/crypto/sha512-internal.o 1109c1d255d3SCy Schubertendif 1110c1d255d3SCy Schubert 1111c1d255d3SCy Schubertifdef NEED_ASN1 1112c1d255d3SCy SchubertOBJS += ../src/tls/asn1.o 1113c1d255d3SCy Schubertendif 1114c1d255d3SCy Schubert 1115c1d255d3SCy Schubertifdef NEED_DH_GROUPS 1116c1d255d3SCy SchubertOBJS += ../src/crypto/dh_groups.o 1117c1d255d3SCy Schubertendif 1118c1d255d3SCy Schubertifdef NEED_DH_GROUPS_ALL 1119c1d255d3SCy SchubertCFLAGS += -DALL_DH_GROUPS 1120c1d255d3SCy Schubertendif 1121c1d255d3SCy Schubertifdef CONFIG_INTERNAL_DH_GROUP5 1122c1d255d3SCy Schubertifdef NEED_DH_GROUPS 1123c1d255d3SCy SchubertOBJS += ../src/crypto/dh_group5.o 1124c1d255d3SCy Schubertendif 1125c1d255d3SCy Schubertendif 1126c1d255d3SCy Schubert 1127c1d255d3SCy Schubertifdef NEED_ECC 1128c1d255d3SCy SchubertCFLAGS += -DCONFIG_ECC 1129c1d255d3SCy Schubertendif 1130c1d255d3SCy Schubert 1131c1d255d3SCy Schubertifdef CONFIG_NO_RANDOM_POOL 1132c1d255d3SCy SchubertCFLAGS += -DCONFIG_NO_RANDOM_POOL 1133c1d255d3SCy Schubertelse 1134c1d255d3SCy Schubertifdef CONFIG_GETRANDOM 1135c1d255d3SCy SchubertCFLAGS += -DCONFIG_GETRANDOM 1136c1d255d3SCy Schubertendif 1137c1d255d3SCy SchubertOBJS += ../src/crypto/random.o 1138c1d255d3SCy SchubertHOBJS += ../src/crypto/random.o 1139c1d255d3SCy SchubertHOBJS += ../src/utils/eloop.o 1140c1d255d3SCy SchubertHOBJS += $(SHA1OBJS) 1141c1d255d3SCy Schubertifneq ($(CONFIG_TLS), openssl) 1142c1d255d3SCy Schubertifneq ($(CONFIG_TLS), linux) 1143c1d255d3SCy Schubertifneq ($(CONFIG_TLS), wolfssl) 1144c1d255d3SCy SchubertHOBJS += ../src/crypto/md5.o 1145c1d255d3SCy Schubertendif 1146c1d255d3SCy Schubertendif 1147c1d255d3SCy Schubertendif 1148c1d255d3SCy Schubertendif 1149c1d255d3SCy Schubert 1150c1d255d3SCy Schubertifdef CONFIG_RADIUS_SERVER 1151c1d255d3SCy SchubertCFLAGS += -DRADIUS_SERVER 1152c1d255d3SCy SchubertOBJS += ../src/radius/radius_server.o 1153c1d255d3SCy Schubertendif 1154c1d255d3SCy Schubert 1155c1d255d3SCy Schubertifdef CONFIG_IPV6 1156c1d255d3SCy SchubertCFLAGS += -DCONFIG_IPV6 1157c1d255d3SCy Schubertendif 1158c1d255d3SCy Schubert 1159c1d255d3SCy Schubertifdef CONFIG_DRIVER_RADIUS_ACL 1160c1d255d3SCy SchubertCFLAGS += -DCONFIG_DRIVER_RADIUS_ACL 1161c1d255d3SCy Schubertendif 1162c1d255d3SCy Schubert 1163c1d255d3SCy Schubertifdef NEED_BASE64 1164c1d255d3SCy SchubertOBJS += ../src/utils/base64.o 1165c1d255d3SCy Schubertendif 1166c1d255d3SCy Schubert 1167c1d255d3SCy Schubertifdef NEED_JSON 1168c1d255d3SCy SchubertOBJS += ../src/utils/json.o 1169c1d255d3SCy SchubertCFLAGS += -DCONFIG_JSON 1170c1d255d3SCy Schubertendif 1171c1d255d3SCy Schubert 1172c1d255d3SCy Schubertifdef NEED_AP_MLME 1173c1d255d3SCy SchubertOBJS += ../src/ap/wmm.o 1174c1d255d3SCy SchubertOBJS += ../src/ap/ap_list.o 1175c1d255d3SCy SchubertOBJS += ../src/ap/ieee802_11.o 1176c1d255d3SCy SchubertOBJS += ../src/ap/hw_features.o 1177c1d255d3SCy SchubertOBJS += ../src/ap/dfs.o 1178c1d255d3SCy SchubertCFLAGS += -DNEED_AP_MLME 1179c1d255d3SCy Schubertendif 1180c1d255d3SCy SchubertOBJS += ../src/ap/ieee802_11_ht.o 1181c1d255d3SCy Schubert 1182c1d255d3SCy Schubertifdef CONFIG_IEEE80211AC 1183c1d255d3SCy SchubertOBJS += ../src/ap/ieee802_11_vht.o 1184c1d255d3SCy Schubertendif 1185c1d255d3SCy Schubert 1186c1d255d3SCy Schubertifdef CONFIG_P2P_MANAGER 1187c1d255d3SCy SchubertCFLAGS += -DCONFIG_P2P_MANAGER 1188c1d255d3SCy SchubertOBJS += ../src/ap/p2p_hostapd.o 1189c1d255d3SCy Schubertendif 1190c1d255d3SCy Schubert 1191c1d255d3SCy Schubertifdef CONFIG_HS20 1192c1d255d3SCy SchubertCFLAGS += -DCONFIG_HS20 1193c1d255d3SCy SchubertOBJS += ../src/ap/hs20.o 1194c1d255d3SCy SchubertCONFIG_INTERWORKING=y 1195c1d255d3SCy Schubertendif 1196c1d255d3SCy Schubert 1197c1d255d3SCy Schubertifdef CONFIG_INTERWORKING 1198c1d255d3SCy SchubertCFLAGS += -DCONFIG_INTERWORKING 1199c1d255d3SCy SchubertNEED_GAS=y 1200c1d255d3SCy Schubertendif 1201c1d255d3SCy Schubert 1202c1d255d3SCy Schubertifdef NEED_GAS 1203c1d255d3SCy SchubertOBJS += ../src/common/gas.o 1204c1d255d3SCy SchubertOBJS += ../src/ap/gas_serv.o 1205c1d255d3SCy Schubertendif 1206c1d255d3SCy Schubert 1207c1d255d3SCy Schubertifdef CONFIG_PROXYARP 1208c1d255d3SCy SchubertCFLAGS += -DCONFIG_PROXYARP 1209c1d255d3SCy SchubertOBJS += ../src/ap/x_snoop.o 1210c1d255d3SCy SchubertOBJS += ../src/ap/dhcp_snoop.o 1211c1d255d3SCy Schubertifdef CONFIG_IPV6 1212c1d255d3SCy SchubertOBJS += ../src/ap/ndisc_snoop.o 1213c1d255d3SCy Schubertendif 1214c1d255d3SCy Schubertendif 1215c1d255d3SCy Schubert 1216c1d255d3SCy SchubertOBJS += ../src/drivers/driver_common.o 1217c1d255d3SCy Schubert 1218c1d255d3SCy Schubertifdef CONFIG_WPA_CLI_EDIT 1219c1d255d3SCy SchubertOBJS_c += ../src/utils/edit.o 1220c1d255d3SCy Schubertelse 1221c1d255d3SCy SchubertOBJS_c += ../src/utils/edit_simple.o 1222c1d255d3SCy Schubertendif 1223c1d255d3SCy Schubert 1224c1d255d3SCy Schubertifdef CONFIG_ACS 1225c1d255d3SCy SchubertCFLAGS += -DCONFIG_ACS 1226c1d255d3SCy SchubertOBJS += ../src/ap/acs.o 1227c1d255d3SCy SchubertLIBS += -lm 1228c1d255d3SCy Schubertendif 1229c1d255d3SCy Schubert 1230c1d255d3SCy Schubertifdef CONFIG_NO_STDOUT_DEBUG 1231c1d255d3SCy SchubertCFLAGS += -DCONFIG_NO_STDOUT_DEBUG 1232c1d255d3SCy Schubertendif 1233c1d255d3SCy Schubert 1234c1d255d3SCy Schubertifdef CONFIG_DEBUG_SYSLOG 1235c1d255d3SCy SchubertCFLAGS += -DCONFIG_DEBUG_SYSLOG 1236c1d255d3SCy Schubertendif 1237c1d255d3SCy Schubert 1238c1d255d3SCy Schubertifdef CONFIG_DEBUG_LINUX_TRACING 1239c1d255d3SCy SchubertCFLAGS += -DCONFIG_DEBUG_LINUX_TRACING 1240c1d255d3SCy Schubertendif 1241c1d255d3SCy Schubert 1242c1d255d3SCy Schubertifdef CONFIG_DEBUG_FILE 1243c1d255d3SCy SchubertCFLAGS += -DCONFIG_DEBUG_FILE 1244c1d255d3SCy Schubertendif 1245c1d255d3SCy Schubert 1246c1d255d3SCy Schubertifdef CONFIG_SQLITE 1247c1d255d3SCy SchubertCFLAGS += -DCONFIG_SQLITE 1248c1d255d3SCy SchubertLIBS += -lsqlite3 1249c1d255d3SCy SchubertLIBS_h += -lsqlite3 1250c1d255d3SCy Schubertendif 1251c1d255d3SCy Schubert 1252c1d255d3SCy Schubertifdef CONFIG_FST 1253c1d255d3SCy SchubertCFLAGS += -DCONFIG_FST 1254c1d255d3SCy SchubertOBJS += ../src/fst/fst.o 1255c1d255d3SCy SchubertOBJS += ../src/fst/fst_group.o 1256c1d255d3SCy SchubertOBJS += ../src/fst/fst_iface.o 1257c1d255d3SCy SchubertOBJS += ../src/fst/fst_session.o 1258c1d255d3SCy SchubertOBJS += ../src/fst/fst_ctrl_aux.o 1259c1d255d3SCy Schubertifdef CONFIG_FST_TEST 1260c1d255d3SCy SchubertCFLAGS += -DCONFIG_FST_TEST 1261c1d255d3SCy Schubertendif 1262c1d255d3SCy Schubertifndef CONFIG_NO_CTRL_IFACE 1263c1d255d3SCy SchubertOBJS += ../src/fst/fst_ctrl_iface.o 1264c1d255d3SCy Schubertendif 1265c1d255d3SCy Schubertendif 1266c1d255d3SCy Schubert 1267c1d255d3SCy Schubertifdef CONFIG_WEP 1268c1d255d3SCy SchubertCFLAGS += -DCONFIG_WEP 1269c1d255d3SCy Schubertendif 1270c1d255d3SCy Schubert 1271c1d255d3SCy Schubertifdef CONFIG_NO_TKIP 1272c1d255d3SCy SchubertCFLAGS += -DCONFIG_NO_TKIP 1273c1d255d3SCy Schubertendif 1274c1d255d3SCy Schubert 1275c1d255d3SCy Schubert$(DESTDIR)$(BINDIR)/%: % 1276c1d255d3SCy Schubert install -D $(<) $(@) 1277c1d255d3SCy Schubert 1278c1d255d3SCy Schubertinstall: $(addprefix $(DESTDIR)$(BINDIR)/,$(ALL)) 1279c1d255d3SCy Schubert 1280c1d255d3SCy Schubert_OBJS_VAR := OBJS 1281c1d255d3SCy Schubertinclude ../src/objs.mk 1282c1d255d3SCy Schubert 1283c1d255d3SCy Schuberthostapd: $(OBJS) 1284c1d255d3SCy Schubert $(Q)$(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS) 1285c1d255d3SCy Schubert @$(E) " LD " $@ 1286c1d255d3SCy Schubert 1287c1d255d3SCy Schubertifdef CONFIG_WPA_TRACE 1288c1d255d3SCy SchubertOBJS_c += ../src/utils/trace.o 1289c1d255d3SCy Schubertendif 1290c1d255d3SCy Schubert 1291c1d255d3SCy Schubert_OBJS_VAR := OBJS_c 1292c1d255d3SCy Schubertinclude ../src/objs.mk 1293c1d255d3SCy Schubert 1294c1d255d3SCy Schuberthostapd_cli: $(OBJS_c) 1295c1d255d3SCy Schubert $(Q)$(CC) $(LDFLAGS) -o hostapd_cli $(OBJS_c) $(LIBS_c) 1296c1d255d3SCy Schubert @$(E) " LD " $@ 1297c1d255d3SCy Schubert 1298c1d255d3SCy SchubertNOBJS = nt_password_hash.o ../src/crypto/ms_funcs.o $(SHA1OBJS) 1299c1d255d3SCy SchubertNOBJS += ../src/utils/common.o 1300c1d255d3SCy Schubertifdef NEED_RC4 1301c1d255d3SCy Schubertifdef CONFIG_INTERNAL_RC4 1302c1d255d3SCy Schubertifndef CONFIG_NO_RC4 1303c1d255d3SCy SchubertNOBJS += ../src/crypto/rc4.o 1304c1d255d3SCy Schubertendif 1305c1d255d3SCy Schubertendif 1306c1d255d3SCy Schubertendif 1307c1d255d3SCy Schubertifdef CONFIG_INTERNAL_MD5 1308c1d255d3SCy SchubertNOBJS += ../src/crypto/md5-internal.o 1309c1d255d3SCy Schubertendif 1310c1d255d3SCy SchubertNOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o 1311c1d255d3SCy SchubertNOBJS += ../src/utils/os_$(CONFIG_OS).o 1312c1d255d3SCy SchubertNOBJS += ../src/utils/wpa_debug.o 1313c1d255d3SCy SchubertNOBJS += ../src/utils/wpabuf.o 1314c1d255d3SCy Schubertifdef CONFIG_WPA_TRACE 1315c1d255d3SCy SchubertNOBJS += ../src/utils/trace.o 1316c1d255d3SCy Schubertendif 1317c1d255d3SCy Schubert 1318c1d255d3SCy SchubertHOBJS += hlr_auc_gw.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_$(CONFIG_OS).o ../src/utils/wpabuf.o ../src/crypto/milenage.o 1319c1d255d3SCy SchubertHOBJS += ../src/crypto/aes-encblock.o 1320c1d255d3SCy Schubertifdef CONFIG_INTERNAL_AES 1321c1d255d3SCy SchubertHOBJS += ../src/crypto/aes-internal.o 1322c1d255d3SCy SchubertHOBJS += ../src/crypto/aes-internal-enc.o 1323c1d255d3SCy Schubertendif 1324c1d255d3SCy Schubertifeq ($(CONFIG_TLS), linux) 1325c1d255d3SCy SchubertHOBJS += ../src/crypto/crypto_linux.o 1326c1d255d3SCy Schubertendif 1327c1d255d3SCy Schubert 1328c1d255d3SCy SchubertSOBJS += sae_pk_gen.o 1329c1d255d3SCy SchubertSOBJS += ../src/utils/common.o 1330c1d255d3SCy SchubertSOBJS += ../src/utils/os_$(CONFIG_OS).o 1331c1d255d3SCy SchubertSOBJS += ../src/utils/base64.o 1332c1d255d3SCy SchubertSOBJS += ../src/utils/wpa_debug.o 1333c1d255d3SCy SchubertSOBJS += ../src/utils/wpabuf.o 1334c1d255d3SCy Schubertifdef CONFIG_WPA_TRACE 1335c1d255d3SCy SchubertSOBJS += ../src/utils/trace.o 1336c1d255d3SCy Schubertendif 1337c1d255d3SCy SchubertSOBJS += ../src/common/ieee802_11_common.o 1338c1d255d3SCy SchubertSOBJS += ../src/common/sae.o 1339c1d255d3SCy SchubertSOBJS += ../src/common/sae_pk.o 1340c1d255d3SCy SchubertSOBJS += ../src/common/dragonfly.o 1341c1d255d3SCy SchubertSOBJS += $(AESOBJS) 1342c1d255d3SCy SchubertSOBJS += ../src/crypto/sha256-prf.o 1343c1d255d3SCy SchubertSOBJS += ../src/crypto/sha384-prf.o 1344c1d255d3SCy SchubertSOBJS += ../src/crypto/sha512-prf.o 1345c1d255d3SCy SchubertSOBJS += ../src/crypto/dh_groups.o 1346c1d255d3SCy SchubertSOBJS += ../src/crypto/sha256-kdf.o 1347c1d255d3SCy SchubertSOBJS += ../src/crypto/sha384-kdf.o 1348c1d255d3SCy SchubertSOBJS += ../src/crypto/sha512-kdf.o 1349c1d255d3SCy Schubert 1350c1d255d3SCy Schubert_OBJS_VAR := NOBJS 1351c1d255d3SCy Schubertinclude ../src/objs.mk 1352c1d255d3SCy Schubert_OBJS_VAR := HOBJS 1353c1d255d3SCy Schubertinclude ../src/objs.mk 1354c1d255d3SCy Schubert_OBJS_VAR := SOBJS 1355c1d255d3SCy Schubertinclude ../src/objs.mk 1356c1d255d3SCy Schubert 1357c1d255d3SCy Schubertnt_password_hash: $(NOBJS) 1358c1d255d3SCy Schubert $(Q)$(CC) $(LDFLAGS) -o nt_password_hash $(NOBJS) $(LIBS_n) 1359c1d255d3SCy Schubert @$(E) " LD " $@ 1360c1d255d3SCy Schubert 1361c1d255d3SCy Schuberthlr_auc_gw: $(HOBJS) 1362c1d255d3SCy Schubert $(Q)$(CC) $(LDFLAGS) -o hlr_auc_gw $(HOBJS) $(LIBS_h) 1363c1d255d3SCy Schubert @$(E) " LD " $@ 1364c1d255d3SCy Schubert 1365c1d255d3SCy Schubertsae_pk_gen: $(SOBJS) 1366c1d255d3SCy Schubert $(Q)$(CC) $(LDFLAGS) -o sae_pk_gen $(SOBJS) $(LIBS_s) 1367c1d255d3SCy Schubert @$(E) " LD " $@ 1368c1d255d3SCy Schubert 1369c1d255d3SCy Schubert.PHONY: lcov-html 1370c1d255d3SCy Schubertlcov-html: 1371c1d255d3SCy Schubert lcov -c -d $(BUILDDIR) > lcov.info 1372c1d255d3SCy Schubert genhtml lcov.info --output-directory lcov-html 1373c1d255d3SCy Schubert 1374c1d255d3SCy Schubertclean: common-clean 1375c1d255d3SCy Schubert rm -f core *~ nt_password_hash hlr_auc_gw 1376c1d255d3SCy Schubert rm -f sae_pk_gen 1377c1d255d3SCy Schubert rm -f lcov.info 1378c1d255d3SCy Schubert rm -rf lcov-html 1379