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