1209139Srpauloifndef CC 2209139SrpauloCC=gcc 3209139Srpauloendif 4209139Srpaulo 5209139Srpauloifndef CFLAGS 6209139SrpauloCFLAGS = -MMD -O2 -Wall -g 7209139Srpauloendif 8209139Srpaulo 9209139Srpauloexport LIBDIR ?= /usr/local/lib/ 10209139Srpauloexport BINDIR ?= /usr/local/sbin/ 11209139Srpaulo 12209139SrpauloCFLAGS += -I../src 13209139SrpauloCFLAGS += -I../src/utils 14209139Srpaulo 15209139SrpauloALL=wpa_supplicant wpa_passphrase wpa_cli 16209139Srpaulo 17209139Srpauloall: verify_config $(ALL) dynamic_eap_methods 18209139Srpaulo 19209139Srpauloverify_config: 20209139Srpaulo @if [ ! -r .config ]; then \ 21209139Srpaulo echo 'Building wpa_supplicant requires a configuration file'; \ 22209139Srpaulo echo '(.config). See README for more instructions. You can'; \ 23209139Srpaulo echo 'run "cp defconfig .config" to create an example'; \ 24209139Srpaulo echo 'configuration.'; \ 25209139Srpaulo exit 1; \ 26209139Srpaulo fi 27209139Srpaulo 28209139Srpaulomkconfig: 29214734Srpaulo @if [ -f .config ]; then \ 30209139Srpaulo echo '.config exists - did not replace it'; \ 31209139Srpaulo exit 1; \ 32209139Srpaulo fi 33209139Srpaulo echo CONFIG_DRIVER_HOSTAP=y >> .config 34209139Srpaulo echo CONFIG_DRIVER_WEXT=y >> .config 35209139Srpaulo 36209139Srpauloinstall: all 37209139Srpaulo mkdir -p $(DESTDIR)$(BINDIR) 38209139Srpaulo for i in $(ALL); do cp $$i $(DESTDIR)$(BINDIR)/$$i; done 39209139Srpaulo $(MAKE) -C ../src install 40209139Srpaulo 41209139SrpauloOBJS = config.o 42214734SrpauloOBJS += notify.o 43214734SrpauloOBJS += bss.o 44214734SrpauloOBJS += eap_register.o 45209139SrpauloOBJS += ../src/utils/common.o 46209139SrpauloOBJS += ../src/utils/wpa_debug.o 47209139SrpauloOBJS += ../src/utils/wpabuf.o 48209139SrpauloOBJS_p = wpa_passphrase.o 49209139SrpauloOBJS_p += ../src/utils/common.o 50209139SrpauloOBJS_p += ../src/utils/wpa_debug.o 51214734SrpauloOBJS_p += ../src/utils/wpabuf.o 52209139SrpauloOBJS_c = wpa_cli.o ../src/common/wpa_ctrl.o 53209139Srpaulo 54209139Srpaulo-include .config 55209139Srpaulo 56209139Srpauloifndef CONFIG_OS 57209139Srpauloifdef CONFIG_NATIVE_WINDOWS 58209139SrpauloCONFIG_OS=win32 59209139Srpauloelse 60209139SrpauloCONFIG_OS=unix 61209139Srpauloendif 62209139Srpauloendif 63209139Srpaulo 64209139Srpauloifeq ($(CONFIG_OS), internal) 65209139SrpauloCFLAGS += -DOS_NO_C_LIB_DEFINES 66209139Srpauloendif 67209139Srpaulo 68209139SrpauloOBJS += ../src/utils/os_$(CONFIG_OS).o 69209139SrpauloOBJS_p += ../src/utils/os_$(CONFIG_OS).o 70209139SrpauloOBJS_c += ../src/utils/os_$(CONFIG_OS).o 71209139Srpaulo 72214734Srpauloifdef CONFIG_WPA_TRACE 73214734SrpauloCFLAGS += -DWPA_TRACE 74214734SrpauloOBJS += ../src/utils/trace.o 75214734SrpauloOBJS_p += ../src/utils/trace.o 76214734SrpauloOBJS_c += ../src/utils/trace.o 77214734SrpauloOBJS_c += ../src/utils/wpa_debug.o 78214734SrpauloLDFLAGS += -rdynamic 79214734SrpauloCFLAGS += -funwind-tables 80214734Srpauloifdef CONFIG_WPA_TRACE_BFD 81214734SrpauloCFLAGS += -DWPA_TRACE_BFD 82214734SrpauloLIBS += -lbfd 83214734SrpauloLIBS_p += -lbfd 84214734SrpauloLIBS_c += -lbfd 85214734Srpauloendif 86214734Srpauloendif 87214734Srpaulo 88209139Srpauloifndef CONFIG_ELOOP 89209139SrpauloCONFIG_ELOOP=eloop 90209139Srpauloendif 91209139SrpauloOBJS += ../src/utils/$(CONFIG_ELOOP).o 92209139Srpaulo 93209139Srpaulo 94209139Srpauloifdef CONFIG_EAPOL_TEST 95209139SrpauloCFLAGS += -Werror -DEAPOL_TEST 96209139Srpauloendif 97209139Srpaulo 98209139Srpauloifndef CONFIG_BACKEND 99209139SrpauloCONFIG_BACKEND=file 100209139Srpauloendif 101209139Srpaulo 102209139Srpauloifeq ($(CONFIG_BACKEND), file) 103209139SrpauloOBJS += config_file.o 104209139Srpauloifndef CONFIG_NO_CONFIG_BLOBS 105209139SrpauloNEED_BASE64=y 106209139Srpauloendif 107209139SrpauloCFLAGS += -DCONFIG_BACKEND_FILE 108209139Srpauloendif 109209139Srpaulo 110209139Srpauloifeq ($(CONFIG_BACKEND), winreg) 111209139SrpauloOBJS += config_winreg.o 112209139Srpauloendif 113209139Srpaulo 114209139Srpauloifeq ($(CONFIG_BACKEND), none) 115209139SrpauloOBJS += config_none.o 116209139Srpauloendif 117209139Srpaulo 118209139Srpauloifdef CONFIG_NO_CONFIG_WRITE 119209139SrpauloCFLAGS += -DCONFIG_NO_CONFIG_WRITE 120209139Srpauloendif 121209139Srpaulo 122209139Srpauloifdef CONFIG_NO_CONFIG_BLOBS 123209139SrpauloCFLAGS += -DCONFIG_NO_CONFIG_BLOBS 124209139Srpauloendif 125209139Srpaulo 126209139Srpauloifdef CONFIG_NO_SCAN_PROCESSING 127209139SrpauloCFLAGS += -DCONFIG_NO_SCAN_PROCESSING 128209139Srpauloendif 129209139Srpaulo 130214734Srpauloifdef CONFIG_IEEE80211W 131214734SrpauloCFLAGS += -DCONFIG_IEEE80211W 132214734SrpauloNEED_SHA256=y 133214734SrpauloNEED_AES_OMAC1=y 134209139Srpauloendif 135209139Srpaulo 136214734Srpauloifdef CONFIG_IEEE80211R 137214734SrpauloCFLAGS += -DCONFIG_IEEE80211R 138214734SrpauloOBJS += ../src/rsn_supp/wpa_ft.o 139214734SrpauloNEED_80211_COMMON=y 140214734SrpauloNEED_SHA256=y 141214734SrpauloNEED_AES_OMAC1=y 142209139Srpauloendif 143209139Srpaulo 144214734Srpauloifdef CONFIG_PEERKEY 145214734SrpauloCFLAGS += -DCONFIG_PEERKEY 146209139Srpauloendif 147209139Srpaulo 148214734Srpauloifndef CONFIG_NO_WPA 149214734SrpauloOBJS += ../src/rsn_supp/wpa.o 150214734SrpauloOBJS += ../src/rsn_supp/preauth.o 151214734SrpauloOBJS += ../src/rsn_supp/pmksa_cache.o 152214734SrpauloOBJS += ../src/rsn_supp/peerkey.o 153214734SrpauloOBJS += ../src/rsn_supp/wpa_ie.o 154214734SrpauloOBJS += ../src/common/wpa_common.o 155214734SrpauloNEED_AES=y 156214734SrpauloNEED_SHA1=y 157214734SrpauloNEED_MD5=y 158214734SrpauloNEED_RC4=y 159214734Srpauloelse 160214734SrpauloCFLAGS += -DCONFIG_NO_WPA -DCONFIG_NO_WPA2 161209139Srpauloendif 162209139Srpaulo 163214734Srpauloifdef CONFIG_IBSS_RSN 164214734SrpauloNEED_RSN_AUTHENTICATOR=y 165214734SrpauloCFLAGS += -DCONFIG_IBSS_RSN 166214734SrpauloOBJS += ibss_rsn.o 167209139Srpauloendif 168209139Srpaulo 169214734Srpauloifdef CONFIG_NO_WPA2 170214734SrpauloCFLAGS += -DCONFIG_NO_WPA2 171209139Srpauloendif 172209139Srpaulo 173214734Srpauloinclude ../src/drivers/drivers.mak 174214734Srpauloifdef CONFIG_AP 175214734SrpauloOBJS_d += $(DRV_BOTH_OBJS) 176214734SrpauloCFLAGS += $(DRV_BOTH_CFLAGS) 177214734SrpauloLDFLAGS += $(DRV_BOTH_LDFLAGS) 178214734SrpauloLIBS += $(DRV_BOTH_LIBS) 179214734Srpauloelse 180214734SrpauloNEED_AP_MLME= 181214734SrpauloOBJS_d += $(DRV_WPA_OBJS) 182214734SrpauloCFLAGS += $(DRV_WPA_CFLAGS) 183214734SrpauloLDFLAGS += $(DRV_WPA_LDFLAGS) 184214734SrpauloLIBS += $(DRV_WPA_LIBS) 185209139Srpauloendif 186209139Srpaulo 187209139Srpauloifndef CONFIG_L2_PACKET 188209139SrpauloCONFIG_L2_PACKET=linux 189209139Srpauloendif 190209139Srpaulo 191209139SrpauloOBJS_l2 += ../src/l2_packet/l2_packet_$(CONFIG_L2_PACKET).o 192209139Srpaulo 193209139Srpauloifeq ($(CONFIG_L2_PACKET), pcap) 194209139Srpauloifdef CONFIG_WINPCAP 195209139SrpauloCFLAGS += -DCONFIG_WINPCAP 196209139SrpauloLIBS += -lwpcap -lpacket 197209139SrpauloLIBS_w += -lwpcap 198209139Srpauloelse 199209139SrpauloLIBS += -ldnet -lpcap 200209139Srpauloendif 201209139Srpauloendif 202209139Srpaulo 203209139Srpauloifeq ($(CONFIG_L2_PACKET), winpcap) 204209139SrpauloLIBS += -lwpcap -lpacket 205209139SrpauloLIBS_w += -lwpcap 206209139Srpauloendif 207209139Srpaulo 208209139Srpauloifeq ($(CONFIG_L2_PACKET), freebsd) 209209139SrpauloLIBS += -lpcap 210209139Srpauloendif 211209139Srpaulo 212209139Srpauloifdef CONFIG_EAP_TLS 213209139Srpaulo# EAP-TLS 214209139Srpauloifeq ($(CONFIG_EAP_TLS), dyn) 215209139SrpauloCFLAGS += -DEAP_TLS_DYNAMIC 216209139SrpauloEAPDYN += ../src/eap_peer/eap_tls.so 217209139Srpauloelse 218209139SrpauloCFLAGS += -DEAP_TLS 219209139SrpauloOBJS += ../src/eap_peer/eap_tls.o 220214734SrpauloOBJS_h += ../src/eap_server/eap_server_tls.o 221209139Srpauloendif 222209139SrpauloTLS_FUNCS=y 223209139SrpauloCONFIG_IEEE8021X_EAPOL=y 224209139Srpauloendif 225209139Srpaulo 226209139Srpauloifdef CONFIG_EAP_PEAP 227209139Srpaulo# EAP-PEAP 228209139Srpauloifeq ($(CONFIG_EAP_PEAP), dyn) 229209139SrpauloCFLAGS += -DEAP_PEAP_DYNAMIC 230209139SrpauloEAPDYN += ../src/eap_peer/eap_peap.so 231209139Srpauloelse 232209139SrpauloCFLAGS += -DEAP_PEAP 233209139SrpauloOBJS += ../src/eap_peer/eap_peap.o 234209139SrpauloOBJS += ../src/eap_common/eap_peap_common.o 235214734SrpauloOBJS_h += ../src/eap_server/eap_server_peap.o 236209139Srpauloendif 237209139SrpauloTLS_FUNCS=y 238209139SrpauloCONFIG_IEEE8021X_EAPOL=y 239209139Srpauloendif 240209139Srpaulo 241209139Srpauloifdef CONFIG_EAP_TTLS 242209139Srpaulo# EAP-TTLS 243209139Srpauloifeq ($(CONFIG_EAP_TTLS), dyn) 244209139SrpauloCFLAGS += -DEAP_TTLS_DYNAMIC 245209139SrpauloEAPDYN += ../src/eap_peer/eap_ttls.so 246209139Srpauloelse 247209139SrpauloCFLAGS += -DEAP_TTLS 248209139SrpauloOBJS += ../src/eap_peer/eap_ttls.o 249214734SrpauloOBJS_h += ../src/eap_server/eap_server_ttls.o 250209139Srpauloendif 251209139SrpauloMS_FUNCS=y 252209139SrpauloTLS_FUNCS=y 253209139SrpauloCHAP=y 254209139SrpauloCONFIG_IEEE8021X_EAPOL=y 255209139Srpauloendif 256209139Srpaulo 257209139Srpauloifdef CONFIG_EAP_MD5 258209139Srpaulo# EAP-MD5 259209139Srpauloifeq ($(CONFIG_EAP_MD5), dyn) 260209139SrpauloCFLAGS += -DEAP_MD5_DYNAMIC 261209139SrpauloEAPDYN += ../src/eap_peer/eap_md5.so 262209139Srpauloelse 263209139SrpauloCFLAGS += -DEAP_MD5 264209139SrpauloOBJS += ../src/eap_peer/eap_md5.o 265214734SrpauloOBJS_h += ../src/eap_server/eap_server_md5.o 266209139Srpauloendif 267209139SrpauloCHAP=y 268209139SrpauloCONFIG_IEEE8021X_EAPOL=y 269209139Srpauloendif 270209139Srpaulo 271209139Srpaulo# backwards compatibility for old spelling 272209139Srpauloifdef CONFIG_MSCHAPV2 273209139Srpauloifndef CONFIG_EAP_MSCHAPV2 274209139SrpauloCONFIG_EAP_MSCHAPV2=y 275209139Srpauloendif 276209139Srpauloendif 277209139Srpaulo 278209139Srpauloifdef CONFIG_EAP_MSCHAPV2 279209139Srpaulo# EAP-MSCHAPv2 280209139Srpauloifeq ($(CONFIG_EAP_MSCHAPV2), dyn) 281209139SrpauloCFLAGS += -DEAP_MSCHAPv2_DYNAMIC 282209139SrpauloEAPDYN += ../src/eap_peer/eap_mschapv2.so 283209139SrpauloEAPDYN += ../src/eap_peer/mschapv2.so 284209139Srpauloelse 285209139SrpauloCFLAGS += -DEAP_MSCHAPv2 286209139SrpauloOBJS += ../src/eap_peer/eap_mschapv2.o 287209139SrpauloOBJS += ../src/eap_peer/mschapv2.o 288214734SrpauloOBJS_h += ../src/eap_server/eap_server_mschapv2.o 289209139Srpauloendif 290209139SrpauloMS_FUNCS=y 291209139SrpauloCONFIG_IEEE8021X_EAPOL=y 292209139Srpauloendif 293209139Srpaulo 294209139Srpauloifdef CONFIG_EAP_GTC 295209139Srpaulo# EAP-GTC 296209139Srpauloifeq ($(CONFIG_EAP_GTC), dyn) 297209139SrpauloCFLAGS += -DEAP_GTC_DYNAMIC 298209139SrpauloEAPDYN += ../src/eap_peer/eap_gtc.so 299209139Srpauloelse 300209139SrpauloCFLAGS += -DEAP_GTC 301209139SrpauloOBJS += ../src/eap_peer/eap_gtc.o 302214734SrpauloOBJS_h += ../src/eap_server/eap_server_gtc.o 303209139Srpauloendif 304209139SrpauloCONFIG_IEEE8021X_EAPOL=y 305209139Srpauloendif 306209139Srpaulo 307209139Srpauloifdef CONFIG_EAP_OTP 308209139Srpaulo# EAP-OTP 309209139Srpauloifeq ($(CONFIG_EAP_OTP), dyn) 310209139SrpauloCFLAGS += -DEAP_OTP_DYNAMIC 311209139SrpauloEAPDYN += ../src/eap_peer/eap_otp.so 312209139Srpauloelse 313209139SrpauloCFLAGS += -DEAP_OTP 314209139SrpauloOBJS += ../src/eap_peer/eap_otp.o 315209139Srpauloendif 316209139SrpauloCONFIG_IEEE8021X_EAPOL=y 317209139Srpauloendif 318209139Srpaulo 319209139Srpauloifdef CONFIG_EAP_SIM 320209139Srpaulo# EAP-SIM 321209139Srpauloifeq ($(CONFIG_EAP_SIM), dyn) 322209139SrpauloCFLAGS += -DEAP_SIM_DYNAMIC 323209139SrpauloEAPDYN += ../src/eap_peer/eap_sim.so 324209139Srpauloelse 325209139SrpauloCFLAGS += -DEAP_SIM 326209139SrpauloOBJS += ../src/eap_peer/eap_sim.o 327214734SrpauloOBJS_h += ../src/eap_server/eap_server_sim.o 328209139Srpauloendif 329209139SrpauloCONFIG_IEEE8021X_EAPOL=y 330209139SrpauloCONFIG_EAP_SIM_COMMON=y 331214734SrpauloNEED_AES_CBC=y 332209139Srpauloendif 333209139Srpaulo 334209139Srpauloifdef CONFIG_EAP_LEAP 335209139Srpaulo# EAP-LEAP 336209139Srpauloifeq ($(CONFIG_EAP_LEAP), dyn) 337209139SrpauloCFLAGS += -DEAP_LEAP_DYNAMIC 338209139SrpauloEAPDYN += ../src/eap_peer/eap_leap.so 339209139Srpauloelse 340209139SrpauloCFLAGS += -DEAP_LEAP 341209139SrpauloOBJS += ../src/eap_peer/eap_leap.o 342209139Srpauloendif 343209139SrpauloMS_FUNCS=y 344209139SrpauloCONFIG_IEEE8021X_EAPOL=y 345209139Srpauloendif 346209139Srpaulo 347209139Srpauloifdef CONFIG_EAP_PSK 348209139Srpaulo# EAP-PSK 349209139Srpauloifeq ($(CONFIG_EAP_PSK), dyn) 350209139SrpauloCFLAGS += -DEAP_PSK_DYNAMIC 351209139SrpauloEAPDYN += ../src/eap_peer/eap_psk.so 352209139Srpauloelse 353209139SrpauloCFLAGS += -DEAP_PSK 354209139SrpauloOBJS += ../src/eap_peer/eap_psk.o ../src/eap_common/eap_psk_common.o 355214734SrpauloOBJS_h += ../src/eap_server/eap_server_psk.o 356209139Srpauloendif 357209139SrpauloCONFIG_IEEE8021X_EAPOL=y 358209139SrpauloNEED_AES=y 359214734SrpauloNEED_AES_OMAC1=y 360214734SrpauloNEED_AES_ENCBLOCK=y 361214734SrpauloNEED_AES_EAX=y 362209139Srpauloendif 363209139Srpaulo 364209139Srpauloifdef CONFIG_EAP_AKA 365209139Srpaulo# EAP-AKA 366209139Srpauloifeq ($(CONFIG_EAP_AKA), dyn) 367209139SrpauloCFLAGS += -DEAP_AKA_DYNAMIC 368209139SrpauloEAPDYN += ../src/eap_peer/eap_aka.so 369209139Srpauloelse 370209139SrpauloCFLAGS += -DEAP_AKA 371209139SrpauloOBJS += ../src/eap_peer/eap_aka.o 372214734SrpauloOBJS_h += ../src/eap_server/eap_server_aka.o 373209139Srpauloendif 374209139SrpauloCONFIG_IEEE8021X_EAPOL=y 375209139SrpauloCONFIG_EAP_SIM_COMMON=y 376214734SrpauloNEED_AES_CBC=y 377209139Srpauloendif 378209139Srpaulo 379209139Srpauloifdef CONFIG_EAP_AKA_PRIME 380209139Srpaulo# EAP-AKA' 381209139Srpauloifeq ($(CONFIG_EAP_AKA_PRIME), dyn) 382209139SrpauloCFLAGS += -DEAP_AKA_PRIME_DYNAMIC 383209139Srpauloelse 384209139SrpauloCFLAGS += -DEAP_AKA_PRIME 385209139Srpauloendif 386209139SrpauloNEED_SHA256=y 387209139Srpauloendif 388209139Srpaulo 389209139Srpauloifdef CONFIG_EAP_SIM_COMMON 390209139SrpauloOBJS += ../src/eap_common/eap_sim_common.o 391209139SrpauloOBJS_h += ../src/eap_server/eap_sim_db.o 392209139SrpauloNEED_AES=y 393209139SrpauloNEED_FIPS186_2_PRF=y 394209139Srpauloendif 395209139Srpaulo 396209139Srpauloifdef CONFIG_EAP_FAST 397209139Srpaulo# EAP-FAST 398209139Srpauloifeq ($(CONFIG_EAP_FAST), dyn) 399209139SrpauloCFLAGS += -DEAP_FAST_DYNAMIC 400209139SrpauloEAPDYN += ../src/eap_peer/eap_fast.so 401209139SrpauloEAPDYN += ../src/eap_common/eap_fast_common.o 402209139Srpauloelse 403209139SrpauloCFLAGS += -DEAP_FAST 404209139SrpauloOBJS += ../src/eap_peer/eap_fast.o ../src/eap_peer/eap_fast_pac.o 405209139SrpauloOBJS += ../src/eap_common/eap_fast_common.o 406214734SrpauloOBJS_h += ../src/eap_server/eap_server_fast.o 407209139Srpauloendif 408209139SrpauloTLS_FUNCS=y 409209139SrpauloCONFIG_IEEE8021X_EAPOL=y 410209139SrpauloNEED_T_PRF=y 411209139Srpauloendif 412209139Srpaulo 413209139Srpauloifdef CONFIG_EAP_PAX 414209139Srpaulo# EAP-PAX 415209139Srpauloifeq ($(CONFIG_EAP_PAX), dyn) 416209139SrpauloCFLAGS += -DEAP_PAX_DYNAMIC 417209139SrpauloEAPDYN += ../src/eap_peer/eap_pax.so 418209139Srpauloelse 419209139SrpauloCFLAGS += -DEAP_PAX 420209139SrpauloOBJS += ../src/eap_peer/eap_pax.o ../src/eap_common/eap_pax_common.o 421214734SrpauloOBJS_h += ../src/eap_server/eap_server_pax.o 422209139Srpauloendif 423209139SrpauloCONFIG_IEEE8021X_EAPOL=y 424209139Srpauloendif 425209139Srpaulo 426209139Srpauloifdef CONFIG_EAP_SAKE 427209139Srpaulo# EAP-SAKE 428209139Srpauloifeq ($(CONFIG_EAP_SAKE), dyn) 429209139SrpauloCFLAGS += -DEAP_SAKE_DYNAMIC 430209139SrpauloEAPDYN += ../src/eap_peer/eap_sake.so 431209139Srpauloelse 432209139SrpauloCFLAGS += -DEAP_SAKE 433209139SrpauloOBJS += ../src/eap_peer/eap_sake.o ../src/eap_common/eap_sake_common.o 434214734SrpauloOBJS_h += ../src/eap_server/eap_server_sake.o 435209139Srpauloendif 436209139SrpauloCONFIG_IEEE8021X_EAPOL=y 437209139Srpauloendif 438209139Srpaulo 439209139Srpauloifdef CONFIG_EAP_GPSK 440209139Srpaulo# EAP-GPSK 441209139Srpauloifeq ($(CONFIG_EAP_GPSK), dyn) 442209139SrpauloCFLAGS += -DEAP_GPSK_DYNAMIC 443209139SrpauloEAPDYN += ../src/eap_peer/eap_gpsk.so 444209139Srpauloelse 445209139SrpauloCFLAGS += -DEAP_GPSK 446209139SrpauloOBJS += ../src/eap_peer/eap_gpsk.o ../src/eap_common/eap_gpsk_common.o 447214734SrpauloOBJS_h += ../src/eap_server/eap_server_gpsk.o 448209139Srpauloendif 449209139SrpauloCONFIG_IEEE8021X_EAPOL=y 450209139Srpauloifdef CONFIG_EAP_GPSK_SHA256 451209139SrpauloCFLAGS += -DEAP_GPSK_SHA256 452209139Srpauloendif 453209139SrpauloNEED_SHA256=y 454214734SrpauloNEED_AES_OMAC1=y 455209139Srpauloendif 456209139Srpaulo 457209139Srpauloifdef CONFIG_WPS 458209139Srpaulo# EAP-WSC 459209139SrpauloCFLAGS += -DCONFIG_WPS -DEAP_WSC 460209139SrpauloOBJS += wps_supplicant.o 461209139SrpauloOBJS += ../src/utils/uuid.o 462209139SrpauloOBJS += ../src/eap_peer/eap_wsc.o ../src/eap_common/eap_wsc_common.o 463209139SrpauloOBJS += ../src/wps/wps.o 464209139SrpauloOBJS += ../src/wps/wps_common.o 465209139SrpauloOBJS += ../src/wps/wps_attr_parse.o 466209139SrpauloOBJS += ../src/wps/wps_attr_build.o 467209139SrpauloOBJS += ../src/wps/wps_attr_process.o 468209139SrpauloOBJS += ../src/wps/wps_dev_attr.o 469209139SrpauloOBJS += ../src/wps/wps_enrollee.o 470209139SrpauloOBJS += ../src/wps/wps_registrar.o 471214734SrpauloOBJS_h += ../src/eap_server/eap_server_wsc.o 472209139SrpauloCONFIG_IEEE8021X_EAPOL=y 473209139SrpauloNEED_DH_GROUPS=y 474209139SrpauloNEED_SHA256=y 475209139SrpauloNEED_BASE64=y 476209139SrpauloNEED_80211_COMMON=y 477214734SrpauloNEED_AES_CBC=y 478214734SrpauloNEED_MODEXP=y 479209139Srpaulo 480214734Srpauloifdef CONFIG_WPS_UFD 481214734SrpauloCFLAGS += -DCONFIG_WPS_UFD 482214734SrpauloOBJS += ../src/wps/wps_ufd.o 483214734SrpauloNEED_WPS_OOB=y 484214734Srpauloendif 485214734Srpaulo 486214734Srpauloifdef CONFIG_WPS_NFC 487214734SrpauloCFLAGS += -DCONFIG_WPS_NFC 488214734SrpauloOBJS += ../src/wps/ndef.o 489214734SrpauloOBJS += ../src/wps/wps_nfc.o 490214734SrpauloNEED_WPS_OOB=y 491214734Srpauloifdef CONFIG_WPS_NFC_PN531 492214734SrpauloPN531_PATH ?= /usr/local/src/nfc 493214734SrpauloCFLAGS += -DCONFIG_WPS_NFC_PN531 494214734SrpauloCFLAGS += -I${PN531_PATH}/inc 495214734SrpauloOBJS += ../src/wps/wps_nfc_pn531.o 496214734SrpauloLIBS += ${PN531_PATH}/lib/wpsnfc.dll 497214734SrpauloLIBS += ${PN531_PATH}/lib/libnfc_mapping_pn53x.dll 498214734Srpauloendif 499214734Srpauloendif 500214734Srpaulo 501214734Srpauloifdef NEED_WPS_OOB 502214734SrpauloCFLAGS += -DCONFIG_WPS_OOB 503214734Srpauloendif 504214734Srpaulo 505214734Srpauloifdef CONFIG_WPS_ER 506214734SrpauloCONFIG_WPS_UPNP=y 507214734SrpauloCFLAGS += -DCONFIG_WPS_ER 508214734SrpauloOBJS += ../src/wps/wps_er.o 509214734SrpauloOBJS += ../src/wps/wps_er_ssdp.o 510214734Srpauloendif 511214734Srpaulo 512209139Srpauloifdef CONFIG_WPS_UPNP 513209139SrpauloCFLAGS += -DCONFIG_WPS_UPNP 514209139SrpauloOBJS += ../src/wps/wps_upnp.o 515209139SrpauloOBJS += ../src/wps/wps_upnp_ssdp.o 516209139SrpauloOBJS += ../src/wps/wps_upnp_web.o 517209139SrpauloOBJS += ../src/wps/wps_upnp_event.o 518214734SrpauloOBJS += ../src/wps/wps_upnp_ap.o 519214734SrpauloOBJS += ../src/wps/upnp_xml.o 520209139SrpauloOBJS += ../src/wps/httpread.o 521214734SrpauloOBJS += ../src/wps/http_client.o 522214734SrpauloOBJS += ../src/wps/http_server.o 523209139Srpauloendif 524209139Srpaulo 525209139Srpauloendif 526209139Srpaulo 527209139Srpauloifdef CONFIG_EAP_IKEV2 528209139Srpaulo# EAP-IKEv2 529209139Srpauloifeq ($(CONFIG_EAP_IKEV2), dyn) 530209139SrpauloCFLAGS += -DEAP_IKEV2_DYNAMIC 531209139SrpauloEAPDYN += ../src/eap_peer/eap_ikev2.so ../src/eap_peer/ikev2.o 532209139SrpauloEAPDYN += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o 533209139Srpauloelse 534209139SrpauloCFLAGS += -DEAP_IKEV2 535209139SrpauloOBJS += ../src/eap_peer/eap_ikev2.o ../src/eap_peer/ikev2.o 536209139SrpauloOBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o 537214734SrpauloOBJS_h += ../src/eap_server/eap_server_ikev2.o 538209139SrpauloOBJS_h += ../src/eap_server/ikev2.o 539209139Srpauloendif 540209139SrpauloCONFIG_IEEE8021X_EAPOL=y 541209139SrpauloNEED_DH_GROUPS=y 542209139SrpauloNEED_DH_GROUPS_ALL=y 543214734SrpauloNEED_MODEXP=y 544214734SrpauloNEED_CIPHER=y 545209139Srpauloendif 546209139Srpaulo 547209139Srpauloifdef CONFIG_EAP_VENDOR_TEST 548209139Srpauloifeq ($(CONFIG_EAP_VENDOR_TEST), dyn) 549209139SrpauloCFLAGS += -DEAP_VENDOR_TEST_DYNAMIC 550209139SrpauloEAPDYN += ../src/eap_peer/eap_vendor_test.so 551209139Srpauloelse 552209139SrpauloCFLAGS += -DEAP_VENDOR_TEST 553209139SrpauloOBJS += ../src/eap_peer/eap_vendor_test.o 554214734SrpauloOBJS_h += ../src/eap_server/eap_server_vendor_test.o 555209139Srpauloendif 556209139SrpauloCONFIG_IEEE8021X_EAPOL=y 557209139Srpauloendif 558209139Srpaulo 559209139Srpauloifdef CONFIG_EAP_TNC 560209139Srpaulo# EAP-TNC 561209139SrpauloCFLAGS += -DEAP_TNC 562209139SrpauloOBJS += ../src/eap_peer/eap_tnc.o 563209139SrpauloOBJS += ../src/eap_peer/tncc.o 564214734SrpauloOBJS_h += ../src/eap_server/eap_server_tnc.o 565214734SrpauloOBJS_h += ../src/eap_server/tncs.o 566209139SrpauloNEED_BASE64=y 567209139Srpauloifndef CONFIG_NATIVE_WINDOWS 568209139Srpauloifndef CONFIG_DRIVER_BSD 569209139SrpauloLIBS += -ldl 570209139Srpauloendif 571209139Srpauloendif 572209139Srpauloendif 573209139Srpaulo 574209139Srpauloifdef CONFIG_IEEE8021X_EAPOL 575209139Srpaulo# IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication) 576209139SrpauloCFLAGS += -DIEEE8021X_EAPOL 577214734SrpauloOBJS += ../src/eapol_supp/eapol_supp_sm.o 578214734SrpauloOBJS += ../src/eap_peer/eap.o ../src/eap_peer/eap_methods.o 579214734SrpauloNEED_EAP_COMMON=y 580209139Srpauloifdef CONFIG_DYNAMIC_EAP_METHODS 581209139SrpauloCFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS 582209139SrpauloLIBS += -ldl -rdynamic 583209139Srpauloendif 584209139Srpauloendif 585209139Srpaulo 586214734Srpauloifdef CONFIG_AP 587214734SrpauloNEED_80211_COMMON=y 588214734SrpauloNEED_EAP_COMMON=y 589214734SrpauloNEED_RSN_AUTHENTICATOR=y 590214734SrpauloCFLAGS += -DCONFIG_AP 591214734SrpauloOBJS += ap.o 592214734SrpauloCFLAGS += -DCONFIG_NO_RADIUS 593214734SrpauloCFLAGS += -DCONFIG_NO_ACCOUNTING 594214734SrpauloCFLAGS += -DCONFIG_NO_VLAN 595214734SrpauloOBJS += ../src/ap/hostapd.o 596214734SrpauloOBJS += ../src/ap/wpa_auth_glue.o 597214734SrpauloOBJS += ../src/ap/utils.o 598214734SrpauloOBJS += ../src/ap/authsrv.o 599214734SrpauloOBJS += ../src/ap/ap_config.o 600214734SrpauloOBJS += ../src/utils/ip_addr.o 601214734SrpauloOBJS += ../src/ap/sta_info.o 602214734SrpauloOBJS += ../src/ap/tkip_countermeasures.o 603214734SrpauloOBJS += ../src/ap/ap_mlme.o 604214734SrpauloOBJS += ../src/ap/ieee802_1x.o 605214734SrpauloOBJS += ../src/eapol_auth/eapol_auth_sm.o 606214734SrpauloOBJS += ../src/ap/ieee802_11_auth.o 607214734SrpauloOBJS += ../src/ap/drv_callbacks.o 608214734SrpauloOBJS += ../src/ap/ap_drv_ops.o 609214734Srpauloifdef CONFIG_CTRL_IFACE 610214734SrpauloOBJS += ../src/ap/ctrl_iface_ap.o 611214734Srpauloendif 612214734Srpaulo 613214734SrpauloCFLAGS += -DEAP_SERVER -DEAP_SERVER_IDENTITY 614214734SrpauloOBJS += ../src/eap_server/eap_server.o 615214734SrpauloOBJS += ../src/eap_server/eap_server_identity.o 616214734SrpauloOBJS += ../src/eap_server/eap_server_methods.o 617214734Srpaulo 618214734Srpauloifdef CONFIG_IEEE80211N 619214734SrpauloCFLAGS += -DCONFIG_IEEE80211N 620214734Srpauloendif 621214734Srpaulo 622214734Srpauloifdef NEED_AP_MLME 623214734SrpauloOBJS += ../src/ap/beacon.o 624214734SrpauloOBJS += ../src/ap/wmm.o 625214734SrpauloOBJS += ../src/ap/ap_list.o 626214734SrpauloOBJS += ../src/ap/ieee802_11.o 627214734SrpauloOBJS += ../src/ap/hw_features.o 628214734Srpauloifdef CONFIG_IEEE80211N 629214734SrpauloOBJS += ../src/ap/ieee802_11_ht.o 630214734Srpauloendif 631214734SrpauloCFLAGS += -DNEED_AP_MLME 632214734Srpauloendif 633214734Srpauloifdef CONFIG_WPS 634214734SrpauloCFLAGS += -DEAP_SERVER_WSC 635214734SrpauloOBJS += ../src/ap/wps_hostapd.o 636214734SrpauloOBJS += ../src/eap_server/eap_server_wsc.o 637214734Srpauloendif 638214734Srpauloendif 639214734Srpaulo 640214734Srpauloifdef NEED_RSN_AUTHENTICATOR 641214734SrpauloCFLAGS += -DCONFIG_NO_RADIUS 642214734SrpauloNEED_AES_WRAP=y 643214734SrpauloOBJS += ../src/ap/wpa_auth.o 644214734SrpauloOBJS += ../src/ap/wpa_auth_ie.o 645214734SrpauloOBJS += ../src/ap/pmksa_cache_auth.o 646214734Srpauloifdef CONFIG_IEEE80211R 647214734SrpauloOBJS += ../src/ap/wpa_auth_ft.o 648214734Srpauloendif 649214734Srpauloifdef CONFIG_PEERKEY 650214734SrpauloOBJS += ../src/ap/peerkey_auth.o 651214734Srpauloendif 652214734Srpauloendif 653214734Srpaulo 654209139Srpauloifdef CONFIG_EAP_SERVER 655209139SrpauloCFLAGS += -DEAP_SERVER 656214734SrpauloOBJS_h += ../src/eap_server/eap_server.o 657214734SrpauloOBJS_h += ../src/eap_server/eap_server_identity.o 658214734SrpauloOBJS_h += ../src/eap_server/eap_server_methods.o 659209139Srpauloendif 660209139Srpaulo 661209139Srpauloifdef CONFIG_RADIUS_CLIENT 662209139SrpauloOBJS_h += ../src/utils/ip_addr.o 663209139SrpauloOBJS_h += ../src/radius/radius.o 664209139SrpauloOBJS_h += ../src/radius/radius_client.o 665209139Srpauloendif 666209139Srpaulo 667209139Srpauloifdef CONFIG_AUTHENTICATOR 668214734SrpauloOBJS_h += ../src/eapol_auth/eapol_auth_sm.o 669214734SrpauloOBJS_h += ../src/ap/ieee802_1x.o 670209139Srpauloendif 671209139Srpaulo 672209139Srpauloifdef CONFIG_WPA_AUTHENTICATOR 673214734SrpauloOBJS_h += ../src/ap/wpa_auth.o 674214734SrpauloOBJS_h += ../src/ap/wpa_auth_ie.o 675214734SrpauloOBJS_h += ../src/ap/pmksa_cache_auth.o 676209139Srpauloifdef CONFIG_IEEE80211R 677214734SrpauloOBJS_h += ../src/ap/wpa_auth_ft.o 678209139Srpauloendif 679209139Srpauloifdef CONFIG_PEERKEY 680214734SrpauloOBJS_h += ../src/ap/peerkey_auth.o 681209139Srpauloendif 682209139Srpauloendif 683209139Srpaulo 684209139Srpauloifdef CONFIG_PCSC 685209139Srpaulo# PC/SC interface for smartcards (USIM, GSM SIM) 686209139SrpauloCFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC 687209139SrpauloOBJS += ../src/utils/pcsc_funcs.o 688209139Srpaulo# -lpthread may not be needed depending on how pcsc-lite was configured 689209139Srpauloifdef CONFIG_NATIVE_WINDOWS 690209139Srpaulo#Once MinGW gets support for WinScard, -lwinscard could be used instead of the 691209139Srpaulo#dynamic symbol loading that is now used in pcsc_funcs.c 692209139Srpaulo#LIBS += -lwinscard 693209139Srpauloelse 694209139SrpauloLIBS += -lpcsclite -lpthread 695209139Srpauloendif 696209139Srpauloendif 697209139Srpaulo 698209139Srpauloifdef CONFIG_SIM_SIMULATOR 699209139SrpauloCFLAGS += -DCONFIG_SIM_SIMULATOR 700209139SrpauloNEED_MILENAGE=y 701209139Srpauloendif 702209139Srpaulo 703209139Srpauloifdef CONFIG_USIM_SIMULATOR 704209139SrpauloCFLAGS += -DCONFIG_USIM_SIMULATOR 705209139SrpauloNEED_MILENAGE=y 706209139Srpauloendif 707209139Srpaulo 708209139Srpauloifdef NEED_MILENAGE 709214734SrpauloOBJS += ../src/crypto/milenage.o 710209139Srpauloendif 711209139Srpaulo 712214734Srpauloifdef CONFIG_PKCS12 713214734SrpauloCFLAGS += -DPKCS12_FUNCS 714209139Srpauloendif 715209139Srpaulo 716214734Srpauloifdef CONFIG_SMARTCARD 717214734SrpauloCFLAGS += -DCONFIG_SMARTCARD 718209139Srpauloendif 719214734Srpaulo 720214734Srpauloifdef MS_FUNCS 721214734SrpauloOBJS += ../src/crypto/ms_funcs.o 722214734SrpauloNEED_DES=y 723214734SrpauloNEED_MD4=y 724209139Srpauloendif 725214734Srpaulo 726214734Srpauloifdef CHAP 727214734SrpauloOBJS += ../src/eap_common/chap.o 728209139Srpauloendif 729209139Srpaulo 730209139Srpauloifdef TLS_FUNCS 731214734SrpauloNEED_DES=y 732209139Srpaulo# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST) 733209139SrpauloOBJS += ../src/eap_peer/eap_tls_common.o 734214734SrpauloOBJS_h += ../src/eap_server/eap_server_tls_common.o 735209139SrpauloNEED_TLS_PRF=y 736214734Srpauloendif 737214734Srpaulo 738214734Srpauloifndef CONFIG_TLS 739214734SrpauloCONFIG_TLS=openssl 740214734Srpauloendif 741214734Srpaulo 742209139Srpauloifeq ($(CONFIG_TLS), openssl) 743214734Srpauloifdef TLS_FUNCS 744209139SrpauloCFLAGS += -DEAP_TLS_OPENSSL 745209139SrpauloOBJS += ../src/crypto/tls_openssl.o 746214734SrpauloLIBS += -lssl 747214734Srpauloendif 748214734SrpauloOBJS += ../src/crypto/crypto_openssl.o 749214734SrpauloOBJS_p += ../src/crypto/crypto_openssl.o 750214734Srpauloifdef NEED_FIPS186_2_PRF 751214734SrpauloOBJS += ../src/crypto/fips_prf_openssl.o 752214734Srpauloendif 753214734SrpauloLIBS += -lcrypto 754209139SrpauloLIBS_p += -lcrypto 755209139Srpauloendif 756214734Srpaulo 757209139Srpauloifeq ($(CONFIG_TLS), gnutls) 758214734Srpauloifdef TLS_FUNCS 759209139SrpauloOBJS += ../src/crypto/tls_gnutls.o 760214734SrpauloLIBS += -lgnutls -lgpg-error 761209139Srpauloifdef CONFIG_GNUTLS_EXTRA 762209139SrpauloCFLAGS += -DCONFIG_GNUTLS_EXTRA 763209139SrpauloLIBS += -lgnutls-extra 764209139Srpauloendif 765209139Srpauloendif 766214734SrpauloOBJS += ../src/crypto/crypto_gnutls.o 767214734SrpauloOBJS_p += ../src/crypto/crypto_gnutls.o 768214734Srpauloifdef NEED_FIPS186_2_PRF 769214734SrpauloOBJS += ../src/crypto/fips_prf_gnutls.o 770214734Srpauloendif 771214734SrpauloLIBS += -lgcrypt 772214734SrpauloLIBS_p += -lgcrypt 773214734SrpauloCONFIG_INTERNAL_SHA256=y 774214734SrpauloCONFIG_INTERNAL_RC4=y 775214734SrpauloCONFIG_INTERNAL_DH_GROUP5=y 776214734Srpauloendif 777214734Srpaulo 778209139Srpauloifeq ($(CONFIG_TLS), schannel) 779214734Srpauloifdef TLS_FUNCS 780209139SrpauloOBJS += ../src/crypto/tls_schannel.o 781209139Srpauloendif 782214734SrpauloOBJS += ../src/crypto/crypto_cryptoapi.o 783214734SrpauloOBJS_p += ../src/crypto/crypto_cryptoapi.o 784214734Srpauloifdef NEED_FIPS186_2_PRF 785214734SrpauloOBJS += ../src/crypto/fips_prf_cryptoapi.o 786209139Srpauloendif 787209139SrpauloCONFIG_INTERNAL_SHA256=y 788214734SrpauloCONFIG_INTERNAL_RC4=y 789214734SrpauloCONFIG_INTERNAL_DH_GROUP5=y 790209139Srpauloendif 791209139Srpaulo 792214734Srpauloifeq ($(CONFIG_TLS), nss) 793214734Srpauloifdef TLS_FUNCS 794214734SrpauloOBJS += ../src/crypto/tls_nss.o 795214734SrpauloLIBS += -lssl3 796209139Srpauloendif 797214734SrpauloOBJS += ../src/crypto/crypto_nss.o 798214734SrpauloOBJS_p += ../src/crypto/crypto_nss.o 799214734Srpauloifdef NEED_FIPS186_2_PRF 800214734SrpauloOBJS += ../src/crypto/fips_prf_nss.o 801209139Srpauloendif 802214734SrpauloLIBS += -lnss3 803214734SrpauloLIBS_p += -lnss3 804214734SrpauloCONFIG_INTERNAL_MD4=y 805214734SrpauloCONFIG_INTERNAL_DH_GROUP5=y 806209139Srpauloendif 807209139Srpaulo 808209139Srpauloifeq ($(CONFIG_TLS), internal) 809214734Srpauloifndef CONFIG_CRYPTO 810214734SrpauloCONFIG_CRYPTO=internal 811209139Srpauloendif 812214734Srpauloifdef TLS_FUNCS 813214734SrpauloOBJS += ../src/crypto/crypto_internal-rsa.o 814214734SrpauloOBJS += ../src/crypto/tls_internal.o 815214734SrpauloOBJS += ../src/tls/tlsv1_common.o 816214734SrpauloOBJS += ../src/tls/tlsv1_record.o 817214734SrpauloOBJS += ../src/tls/tlsv1_cred.o 818214734SrpauloOBJS += ../src/tls/tlsv1_client.o 819214734SrpauloOBJS += ../src/tls/tlsv1_client_write.o 820214734SrpauloOBJS += ../src/tls/tlsv1_client_read.o 821214734SrpauloOBJS += ../src/tls/asn1.o 822214734SrpauloOBJS += ../src/tls/rsa.o 823214734SrpauloOBJS += ../src/tls/x509v3.o 824214734SrpauloOBJS += ../src/tls/pkcs1.o 825214734SrpauloOBJS += ../src/tls/pkcs5.o 826214734SrpauloOBJS += ../src/tls/pkcs8.o 827214734SrpauloNEED_SHA256=y 828214734SrpauloNEED_BASE64=y 829214734SrpauloNEED_TLS_PRF=y 830214734SrpauloNEED_MODEXP=y 831214734SrpauloNEED_CIPHER=y 832214734SrpauloCFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT 833209139Srpauloendif 834214734Srpauloifdef NEED_CIPHER 835214734SrpauloNEED_DES=y 836214734SrpauloOBJS += ../src/crypto/crypto_internal-cipher.o 837209139Srpauloendif 838214734Srpauloifdef NEED_MODEXP 839214734SrpauloOBJS += ../src/crypto/crypto_internal-modexp.o 840214734SrpauloOBJS += ../src/tls/bignum.o 841209139Srpauloendif 842209139Srpauloifeq ($(CONFIG_CRYPTO), libtomcrypt) 843209139SrpauloOBJS += ../src/crypto/crypto_libtomcrypt.o 844209139SrpauloOBJS_p += ../src/crypto/crypto_libtomcrypt.o 845214734SrpauloLIBS += -ltomcrypt -ltfm 846214734SrpauloLIBS_p += -ltomcrypt -ltfm 847209139SrpauloCONFIG_INTERNAL_SHA256=y 848214734SrpauloCONFIG_INTERNAL_RC4=y 849214734SrpauloCONFIG_INTERNAL_DH_GROUP5=y 850209139Srpauloendif 851209139Srpauloifeq ($(CONFIG_CRYPTO), internal) 852214734SrpauloOBJS += ../src/crypto/crypto_internal.o 853214734SrpauloOBJS_p += ../src/crypto/crypto_internal.o 854214734SrpauloNEED_AES_ENC=y 855209139SrpauloCFLAGS += -DCONFIG_CRYPTO_INTERNAL 856209139Srpauloifdef CONFIG_INTERNAL_LIBTOMMATH 857209139SrpauloCFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH 858209139Srpauloifdef CONFIG_INTERNAL_LIBTOMMATH_FAST 859209139SrpauloCFLAGS += -DLTM_FAST 860209139Srpauloendif 861209139Srpauloelse 862209139SrpauloLIBS += -ltommath 863209139SrpauloLIBS_p += -ltommath 864209139Srpauloendif 865209139SrpauloCONFIG_INTERNAL_AES=y 866209139SrpauloCONFIG_INTERNAL_DES=y 867209139SrpauloCONFIG_INTERNAL_SHA1=y 868209139SrpauloCONFIG_INTERNAL_MD4=y 869209139SrpauloCONFIG_INTERNAL_MD5=y 870209139SrpauloCONFIG_INTERNAL_SHA256=y 871214734SrpauloCONFIG_INTERNAL_RC4=y 872214734SrpauloCONFIG_INTERNAL_DH_GROUP5=y 873209139Srpauloendif 874209139Srpauloifeq ($(CONFIG_CRYPTO), cryptoapi) 875209139SrpauloOBJS += ../src/crypto/crypto_cryptoapi.o 876209139SrpauloOBJS_p += ../src/crypto/crypto_cryptoapi.o 877209139SrpauloCFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI 878209139SrpauloCONFIG_INTERNAL_SHA256=y 879214734SrpauloCONFIG_INTERNAL_RC4=y 880209139Srpauloendif 881209139Srpauloendif 882214734Srpaulo 883209139Srpauloifeq ($(CONFIG_TLS), none) 884214734Srpauloifdef TLS_FUNCS 885214734SrpauloOBJS += ../src/crypto/tls_none.o 886214734SrpauloCFLAGS += -DEAP_TLS_NONE 887214734SrpauloCONFIG_INTERNAL_AES=y 888214734SrpauloCONFIG_INTERNAL_SHA1=y 889214734SrpauloCONFIG_INTERNAL_MD5=y 890214734Srpauloendif 891209139SrpauloOBJS += ../src/crypto/crypto_none.o 892209139SrpauloOBJS_p += ../src/crypto/crypto_none.o 893209139SrpauloCONFIG_INTERNAL_SHA256=y 894214734SrpauloCONFIG_INTERNAL_RC4=y 895209139Srpauloendif 896214734Srpaulo 897214734Srpauloifdef TLS_FUNCS 898214734Srpauloifdef CONFIG_SMARTCARD 899214734Srpauloifndef CONFIG_NATIVE_WINDOWS 900214734Srpauloifneq ($(CONFIG_L2_PACKET), freebsd) 901214734SrpauloLIBS += -ldl 902214734Srpauloendif 903214734Srpauloendif 904214734Srpauloendif 905214734Srpauloendif 906214734Srpaulo 907214734Srpauloifndef TLS_FUNCS 908214734SrpauloOBJS += ../src/crypto/tls_none.o 909214734Srpauloifeq ($(CONFIG_TLS), internal) 910209139SrpauloCONFIG_INTERNAL_AES=y 911209139SrpauloCONFIG_INTERNAL_SHA1=y 912209139SrpauloCONFIG_INTERNAL_MD5=y 913214734SrpauloCONFIG_INTERNAL_RC4=y 914209139Srpauloendif 915214734Srpauloendif 916209139Srpaulo 917214734SrpauloAESOBJS = # none so far (see below) 918209139Srpauloifdef CONFIG_INTERNAL_AES 919214734SrpauloAESOBJS += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-dec.o 920209139Srpauloendif 921214734Srpaulo 922214734SrpauloAESOBJS += ../src/crypto/aes-unwrap.o 923214734Srpauloifdef NEED_AES_EAX 924214734SrpauloAESOBJS += ../src/crypto/aes-eax.o 925214734SrpauloNEED_AES_CTR=y 926214734Srpauloendif 927214734Srpauloifdef NEED_AES_CTR 928214734SrpauloAESOBJS += ../src/crypto/aes-ctr.o 929214734Srpauloendif 930214734Srpauloifdef NEED_AES_ENCBLOCK 931214734SrpauloAESOBJS += ../src/crypto/aes-encblock.o 932214734Srpauloendif 933214734Srpauloifdef NEED_AES_OMAC1 934214734SrpauloNEED_AES_ENC=y 935214734SrpauloAESOBJS += ../src/crypto/aes-omac1.o 936214734Srpauloendif 937214734Srpauloifdef NEED_AES_WRAP 938214734SrpauloNEED_AES_ENC=y 939214734SrpauloAESOBJS += ../src/crypto/aes-wrap.o 940214734Srpauloendif 941214734Srpauloifdef NEED_AES_CBC 942214734SrpauloNEED_AES_ENC=y 943214734SrpauloAESOBJS += ../src/crypto/aes-cbc.o 944214734Srpauloendif 945214734Srpauloifdef NEED_AES_ENC 946214734Srpauloifdef CONFIG_INTERNAL_AES 947214734SrpauloAESOBJS += ../src/crypto/aes-internal-enc.o 948214734Srpauloendif 949214734Srpauloendif 950214734Srpauloifdef NEED_AES 951214734SrpauloOBJS += $(AESOBJS) 952214734Srpauloendif 953214734Srpaulo 954214734Srpauloifdef NEED_SHA1 955214734SrpauloSHA1OBJS += ../src/crypto/sha1.o 956209139Srpauloifdef CONFIG_INTERNAL_SHA1 957214734SrpauloSHA1OBJS += ../src/crypto/sha1-internal.o 958214734Srpauloifdef NEED_FIPS186_2_PRF 959214734SrpauloSHA1OBJS += ../src/crypto/fips_prf_internal.o 960209139Srpauloendif 961209139Srpauloendif 962214734Srpauloifndef CONFIG_NO_WPA_PASSPHRASE 963214734SrpauloSHA1OBJS += ../src/crypto/sha1-pbkdf2.o 964214734Srpauloendif 965214734Srpauloifdef NEED_T_PRF 966214734SrpauloSHA1OBJS += ../src/crypto/sha1-tprf.o 967214734Srpauloendif 968214734Srpauloifdef NEED_TLS_PRF 969214734SrpauloSHA1OBJS += ../src/crypto/sha1-tlsprf.o 970214734Srpauloendif 971214734Srpauloendif 972214734Srpaulo 973214734SrpauloMD5OBJS = ../src/crypto/md5.o 974214734Srpauloifdef NEED_MD5 975209139Srpauloifdef CONFIG_INTERNAL_MD5 976214734SrpauloMD5OBJS += ../src/crypto/md5-internal.o 977209139Srpauloendif 978214734Srpauloifdef CONFIG_FIPS 979214734SrpauloMD5OBJS += ../src/crypto/md5-non-fips.o 980214734Srpauloendif 981214734SrpauloOBJS += $(MD5OBJS) 982214734SrpauloOBJS_p += $(MD5OBJS) 983214734Srpauloendif 984214734Srpaulo 985214734Srpauloifdef NEED_MD4 986209139Srpauloifdef CONFIG_INTERNAL_MD4 987214734SrpauloOBJS += ../src/crypto/md4-internal.o 988209139Srpauloendif 989209139Srpauloendif 990209139Srpaulo 991214734SrpauloDESOBJS = # none needed when not internal 992214734Srpauloifdef NEED_DES 993214734Srpauloifdef CONFIG_INTERNAL_DES 994214734SrpauloDESOBJS += ../src/crypto/des-internal.o 995209139Srpauloendif 996214734Srpauloendif 997209139Srpaulo 998214734Srpauloifdef NEED_RC4 999214734Srpauloifdef CONFIG_INTERNAL_RC4 1000214734SrpauloOBJS += ../src/crypto/rc4.o 1001209139Srpauloendif 1002214734Srpauloendif 1003209139Srpaulo 1004214734SrpauloSHA256OBJS = # none by default 1005209139Srpauloifdef NEED_SHA256 1006214734SrpauloCFLAGS += -DCONFIG_SHA256 1007214734SrpauloSHA256OBJS += ../src/crypto/sha256.o 1008214734Srpauloifdef CONFIG_INTERNAL_SHA256 1009214734SrpauloSHA256OBJS += ../src/crypto/sha256-internal.o 1010209139Srpauloendif 1011214734SrpauloOBJS += $(SHA256OBJS) 1012214734Srpauloendif 1013209139Srpaulo 1014214734Srpauloifdef NEED_DH_GROUPS 1015214734SrpauloOBJS += ../src/crypto/dh_groups.o 1016209139Srpauloendif 1017214734Srpauloifdef NEED_DH_GROUPS_ALL 1018214734SrpauloCFLAGS += -DALL_DH_GROUPS 1019214734Srpauloendif 1020214734Srpauloifdef CONFIG_INTERNAL_DH_GROUP5 1021214734Srpauloifdef NEED_DH_GROUPS 1022214734SrpauloOBJS += ../src/crypto/dh_group5.o 1023214734Srpauloendif 1024214734Srpauloendif 1025209139Srpaulo 1026209139Srpauloifdef CONFIG_CTRL_IFACE 1027209139Srpauloifeq ($(CONFIG_CTRL_IFACE), y) 1028209139Srpauloifdef CONFIG_NATIVE_WINDOWS 1029209139SrpauloCONFIG_CTRL_IFACE=named_pipe 1030209139Srpauloelse 1031209139SrpauloCONFIG_CTRL_IFACE=unix 1032209139Srpauloendif 1033209139Srpauloendif 1034209139SrpauloCFLAGS += -DCONFIG_CTRL_IFACE 1035209139Srpauloifeq ($(CONFIG_CTRL_IFACE), unix) 1036209139SrpauloCFLAGS += -DCONFIG_CTRL_IFACE_UNIX 1037209139Srpauloendif 1038209139Srpauloifeq ($(CONFIG_CTRL_IFACE), udp) 1039209139SrpauloCFLAGS += -DCONFIG_CTRL_IFACE_UDP 1040209139Srpauloendif 1041209139Srpauloifeq ($(CONFIG_CTRL_IFACE), named_pipe) 1042209139SrpauloCFLAGS += -DCONFIG_CTRL_IFACE_NAMED_PIPE 1043209139Srpauloendif 1044209139SrpauloOBJS += ctrl_iface.o ctrl_iface_$(CONFIG_CTRL_IFACE).o 1045209139Srpauloendif 1046209139Srpaulo 1047209139Srpauloifdef CONFIG_CTRL_IFACE_DBUS 1048214734SrpauloDBUS=y 1049214734SrpauloDBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE 1050214734SrpauloDBUS_OBJS += dbus/dbus_old.o dbus/dbus_old_handlers.o 1051214734Srpauloifdef CONFIG_WPS 1052214734SrpauloDBUS_OBJS += dbus/dbus_old_handlers_wps.o 1053214734Srpauloendif 1054214734SrpauloDBUS_OBJS += dbus/dbus_dict_helpers.o 1055209139Srpauloifndef DBUS_LIBS 1056209139SrpauloDBUS_LIBS := $(shell pkg-config --libs dbus-1) 1057209139Srpauloendif 1058209139Srpauloifndef DBUS_INCLUDE 1059209139SrpauloDBUS_INCLUDE := $(shell pkg-config --cflags dbus-1) 1060209139Srpauloendif 1061209139Srpaulodbus_version=$(subst ., ,$(shell pkg-config --modversion dbus-1)) 1062209139SrpauloDBUS_VERSION_MAJOR=$(word 1,$(dbus_version)) 1063209139SrpauloDBUS_VERSION_MINOR=$(word 2,$(dbus_version)) 1064209139Srpauloifeq ($(DBUS_VERSION_MAJOR),) 1065209139SrpauloDBUS_VERSION_MAJOR=0 1066209139Srpauloendif 1067209139Srpauloifeq ($(DBUS_VERSION_MINOR),) 1068209139SrpauloDBUS_VERSION_MINOR=0 1069209139Srpauloendif 1070209139SrpauloDBUS_INCLUDE += -DDBUS_VERSION_MAJOR=$(DBUS_VERSION_MAJOR) 1071209139SrpauloDBUS_INCLUDE += -DDBUS_VERSION_MINOR=$(DBUS_VERSION_MINOR) 1072214734SrpauloDBUS_CFLAGS += $(DBUS_INCLUDE) 1073209139Srpauloendif 1074209139Srpaulo 1075214734Srpauloifdef CONFIG_CTRL_IFACE_DBUS_NEW 1076214734SrpauloDBUS=y 1077214734SrpauloDBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_NEW 1078214734SrpauloDBUS_OBJS ?= dbus/dbus_dict_helpers.o 1079214734SrpauloDBUS_OBJS += dbus/dbus_new_helpers.o 1080214734SrpauloDBUS_OBJS += dbus/dbus_new.o dbus/dbus_new_handlers.o 1081214734Srpauloifdef CONFIG_WPS 1082214734SrpauloDBUS_OBJS += dbus/dbus_new_handlers_wps.o 1083214734Srpauloendif 1084214734Srpauloifndef DBUS_LIBS 1085214734SrpauloDBUS_LIBS := $(shell pkg-config --libs dbus-1) 1086214734Srpauloendif 1087214734Srpauloifndef DBUS_INCLUDE 1088214734SrpauloDBUS_INCLUDE := $(shell pkg-config --cflags dbus-1) 1089214734Srpauloendif 1090214734Srpauloifdef CONFIG_CTRL_IFACE_DBUS_INTRO 1091214734SrpauloDBUS_OBJS += dbus/dbus_new_introspect.o 1092214734SrpauloDBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_INTRO 1093214734Srpauloendif 1094214734SrpauloDBUS_CFLAGS += $(DBUS_INCLUDE) 1095214734Srpauloendif 1096214734Srpaulo 1097214734Srpauloifdef DBUS 1098214734SrpauloDBUS_CFLAGS += -DCONFIG_DBUS 1099214734SrpauloDBUS_OBJS += dbus/dbus_common.o 1100214734Srpauloendif 1101214734Srpaulo 1102214734SrpauloOBJS += $(DBUS_OBJS) 1103214734SrpauloCFLAGS += $(DBUS_CFLAGS) 1104214734SrpauloLIBS += $(DBUS_LIBS) 1105214734Srpaulo 1106209139Srpauloifdef CONFIG_READLINE 1107209139SrpauloCFLAGS += -DCONFIG_READLINE 1108209139SrpauloLIBS_c += -lncurses -lreadline 1109209139Srpauloendif 1110209139Srpaulo 1111209139Srpauloifdef CONFIG_NATIVE_WINDOWS 1112209139SrpauloCFLAGS += -DCONFIG_NATIVE_WINDOWS 1113209139SrpauloLIBS += -lws2_32 -lgdi32 -lcrypt32 1114209139SrpauloLIBS_c += -lws2_32 1115209139SrpauloLIBS_p += -lws2_32 -lgdi32 1116209139Srpauloifeq ($(CONFIG_CRYPTO), cryptoapi) 1117209139SrpauloLIBS_p += -lcrypt32 1118209139Srpauloendif 1119209139Srpauloendif 1120209139Srpaulo 1121209139Srpauloifdef CONFIG_NO_STDOUT_DEBUG 1122209139SrpauloCFLAGS += -DCONFIG_NO_STDOUT_DEBUG 1123209139Srpauloifndef CONFIG_CTRL_IFACE 1124209139SrpauloCFLAGS += -DCONFIG_NO_WPA_MSG 1125209139Srpauloendif 1126209139Srpauloendif 1127209139Srpaulo 1128209139Srpauloifdef CONFIG_IPV6 1129209139Srpaulo# for eapol_test only 1130209139SrpauloCFLAGS += -DCONFIG_IPV6 1131209139Srpauloendif 1132209139Srpaulo 1133214734Srpauloifdef NEED_BASE64 1134214734SrpauloOBJS += ../src/utils/base64.o 1135209139Srpauloendif 1136209139Srpaulo 1137214734Srpauloifdef NEED_SME 1138214734SrpauloNEED_80211_COMMON=y 1139214734SrpauloOBJS += sme.o 1140214734SrpauloCFLAGS += -DCONFIG_SME 1141209139Srpauloendif 1142209139Srpaulo 1143214734Srpauloifdef CONFIG_CLIENT_MLME 1144214734SrpauloOBJS += mlme.o 1145214734SrpauloCFLAGS += -DCONFIG_CLIENT_MLME 1146214734SrpauloNEED_80211_COMMON=y 1147209139Srpauloendif 1148209139Srpaulo 1149214734Srpauloifdef NEED_80211_COMMON 1150214734SrpauloOBJS += ../src/common/ieee802_11_common.o 1151209139Srpauloendif 1152209139Srpaulo 1153214734Srpauloifdef NEED_EAP_COMMON 1154214734SrpauloOBJS += ../src/eap_common/eap_common.o 1155209139Srpauloendif 1156209139Srpaulo 1157209139Srpauloifndef CONFIG_MAIN 1158209139SrpauloCONFIG_MAIN=main 1159209139Srpauloendif 1160209139Srpaulo 1161209139Srpauloifdef CONFIG_DEBUG_SYSLOG 1162209139SrpauloCFLAGS += -DCONFIG_DEBUG_SYSLOG 1163209139Srpauloendif 1164209139Srpaulo 1165209139Srpauloifdef CONFIG_DEBUG_FILE 1166209139SrpauloCFLAGS += -DCONFIG_DEBUG_FILE 1167209139Srpauloendif 1168209139Srpaulo 1169209139Srpauloifdef CONFIG_DELAYED_MIC_ERROR_REPORT 1170209139SrpauloCFLAGS += -DCONFIG_DELAYED_MIC_ERROR_REPORT 1171209139Srpauloendif 1172209139Srpaulo 1173214734Srpauloifdef CONFIG_FIPS 1174214734SrpauloCFLAGS += -DCONFIG_FIPS 1175214734Srpauloendif 1176209139Srpaulo 1177214734SrpauloOBJS += $(SHA1OBJS) $(DESOBJS) 1178214734Srpaulo 1179214734SrpauloOBJS_p += $(SHA1OBJS) 1180214734Srpaulo 1181214734Srpauloifdef CONFIG_BGSCAN_SIMPLE 1182214734SrpauloCFLAGS += -DCONFIG_BGSCAN_SIMPLE 1183214734SrpauloOBJS += bgscan_simple.o 1184214734SrpauloNEED_BGSCAN=y 1185214734Srpauloendif 1186214734Srpaulo 1187214734Srpauloifdef NEED_BGSCAN 1188214734SrpauloCFLAGS += -DCONFIG_BGSCAN 1189214734SrpauloOBJS += bgscan.o 1190214734Srpauloendif 1191214734Srpaulo 1192209139SrpauloOBJS_wpa_rm := ctrl_iface.o mlme.o ctrl_iface_unix.o 1193209139SrpauloOBJS_wpa := $(filter-out $(OBJS_wpa_rm),$(OBJS)) $(OBJS_h) tests/test_wpa.o 1194209139Srpauloifdef CONFIG_AUTHENTICATOR 1195209139SrpauloOBJS_wpa += tests/link_test.o 1196209139Srpauloendif 1197209139SrpauloOBJS_wpa += $(OBJS_l2) 1198209139SrpauloOBJS += wpa_supplicant.o events.o blacklist.o wpas_glue.o scan.o 1199214734SrpauloOBJS_t := $(OBJS) $(OBJS_l2) eapol_test.o 1200214734SrpauloOBJS_t += ../src/radius/radius_client.o 1201214734SrpauloOBJS_t += ../src/radius/radius.o 1202214734Srpauloifndef CONFIG_AP 1203209139SrpauloOBJS_t += ../src/utils/ip_addr.o 1204214734Srpauloendif 1205209139SrpauloOBJS_t2 := $(OBJS) $(OBJS_l2) preauth_test.o 1206209139SrpauloOBJS += $(CONFIG_MAIN).o 1207209139Srpaulo 1208209139Srpauloifdef CONFIG_PRIVSEP 1209214734SrpauloOBJS_priv += $(OBJS_d) ../src/drivers/drivers.o 1210209139SrpauloOBJS_priv += $(OBJS_l2) 1211209139SrpauloOBJS_priv += ../src/utils/os_$(CONFIG_OS).o 1212209139SrpauloOBJS_priv += ../src/utils/$(CONFIG_ELOOP).o 1213209139SrpauloOBJS_priv += ../src/utils/common.o 1214209139SrpauloOBJS_priv += ../src/utils/wpa_debug.o 1215209139SrpauloOBJS_priv += ../src/utils/wpabuf.o 1216209139SrpauloOBJS_priv += wpa_priv.o 1217209139Srpauloifdef CONFIG_DRIVER_TEST 1218214734SrpauloOBJS_priv += $(SHA1OBJS) 1219214734SrpauloOBJS_priv += $(MD5OBJS) 1220209139Srpauloifeq ($(CONFIG_TLS), openssl) 1221209139SrpauloOBJS_priv += ../src/crypto/crypto_openssl.o 1222209139Srpauloendif 1223209139Srpauloifeq ($(CONFIG_TLS), gnutls) 1224209139SrpauloOBJS_priv += ../src/crypto/crypto_gnutls.o 1225209139Srpauloendif 1226214734Srpauloifeq ($(CONFIG_TLS), nss) 1227214734SrpauloOBJS_priv += ../src/crypto/crypto_nss.o 1228214734Srpauloendif 1229209139Srpauloifeq ($(CONFIG_TLS), internal) 1230209139Srpauloifeq ($(CONFIG_CRYPTO), libtomcrypt) 1231209139SrpauloOBJS_priv += ../src/crypto/crypto_libtomcrypt.o 1232209139Srpauloelse 1233209139SrpauloOBJS_priv += ../src/crypto/crypto_internal.o 1234209139Srpauloendif 1235209139Srpauloendif 1236209139Srpauloendif # CONFIG_DRIVER_TEST 1237209139SrpauloOBJS += ../src/l2_packet/l2_packet_privsep.o 1238209139SrpauloOBJS += ../src/drivers/driver_privsep.o 1239209139SrpauloEXTRA_progs += wpa_priv 1240209139Srpauloelse 1241209139SrpauloOBJS += $(OBJS_d) ../src/drivers/drivers.o 1242209139SrpauloOBJS += $(OBJS_l2) 1243209139Srpauloendif 1244209139Srpaulo 1245209139Srpauloifdef CONFIG_NDIS_EVENTS_INTEGRATED 1246209139SrpauloCFLAGS += -DCONFIG_NDIS_EVENTS_INTEGRATED 1247209139SrpauloOBJS += ../src/drivers/ndis_events.o 1248209139SrpauloEXTRALIBS += -loleaut32 -lole32 -luuid 1249209139Srpauloifdef PLATFORMSDKLIB 1250209139SrpauloEXTRALIBS += $(PLATFORMSDKLIB)/WbemUuid.Lib 1251209139Srpauloelse 1252209139SrpauloEXTRALIBS += WbemUuid.Lib 1253209139Srpauloendif 1254209139Srpauloendif 1255209139Srpaulo 1256209139Srpauloifndef LDO 1257209139SrpauloLDO=$(CC) 1258209139Srpauloendif 1259209139Srpaulo 1260209139Srpaulodynamic_eap_methods: $(EAPDYN) 1261209139Srpaulo 1262214734Srpaulo../src/drivers/build.wpa_supplicant: 1263214734Srpaulo @if [ -f ../src/drivers/build.hostapd ]; then \ 1264214734Srpaulo $(MAKE) -C ../src/drivers clean; \ 1265214734Srpaulo fi 1266214734Srpaulo @touch ../src/drivers/build.wpa_supplicant 1267214734Srpaulo 1268214734SrpauloBCHECK=../src/drivers/build.wpa_supplicant 1269214734Srpaulo 1270214734Srpaulowpa_priv: $(BCHECK) $(OBJS_priv) 1271209139Srpaulo $(LDO) $(LDFLAGS) -o wpa_priv $(OBJS_priv) $(LIBS) 1272209139Srpaulo 1273214734Srpaulowpa_supplicant: .config $(BCHECK) $(OBJS) $(EXTRA_progs) 1274209139Srpaulo $(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS) 1275209139Srpaulo 1276209139Srpauloeapol_test: .config $(OBJS_t) 1277209139Srpaulo $(LDO) $(LDFLAGS) -o eapol_test $(OBJS_t) $(LIBS) 1278209139Srpaulo 1279209139Srpaulopreauth_test: .config $(OBJS_t2) 1280209139Srpaulo $(LDO) $(LDFLAGS) -o preauth_test $(OBJS_t2) $(LIBS) 1281209139Srpaulo 1282209139Srpaulowpa_passphrase: $(OBJS_p) 1283209139Srpaulo $(LDO) $(LDFLAGS) -o wpa_passphrase $(OBJS_p) $(LIBS_p) 1284209139Srpaulo 1285209139Srpaulowpa_cli: $(OBJS_c) 1286209139Srpaulo $(LDO) $(LDFLAGS) -o wpa_cli $(OBJS_c) $(LIBS_c) 1287209139Srpaulo 1288209139Srpaulolink_test: $(OBJS) $(OBJS_h) tests/link_test.o 1289209139Srpaulo $(LDO) $(LDFLAGS) -o link_test $(OBJS) $(OBJS_h) tests/link_test.o $(LIBS) 1290209139Srpaulo 1291209139Srpaulotest_wpa: $(OBJS_wpa) $(OBJS_h) 1292209139Srpaulo $(LDO) $(LDFLAGS) -o test_wpa $(OBJS_wpa) $(LIBS) 1293209139Srpaulo 1294209139Srpaulowin_if_list: win_if_list.c 1295209139Srpaulo $(LDO) $(LDFLAGS) -o $@ win_if_list.c $(CFLAGS) $(LIBS_w) 1296209139Srpaulo 1297209139Srpauloeap_psk.so: ../src/eap_peer/eap_psk.c ../src/eap_common/eap_psk_common.c 1298214734Srpaulo $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ 1299209139Srpaulo -Deap_peer_psk_register=eap_peer_method_dynamic_init 1300209139Srpaulo 1301209139Srpauloeap_pax.so: ../src/eap_peer/eap_pax.c ../src/eap_common/eap_pax_common.c 1302214734Srpaulo $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ 1303209139Srpaulo -Deap_peer_pax_register=eap_peer_method_dynamic_init 1304209139Srpaulo 1305209139Srpauloeap_sake.so: ../src/eap_peer/eap_sake.c ../src/eap_common/eap_sake_common.c 1306214734Srpaulo $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ 1307209139Srpaulo -Deap_peer_sake_register=eap_peer_method_dynamic_init 1308209139Srpaulo 1309209139Srpauloeap_wsc.so: ../src/eap_peer/eap_wsc.c ../src/eap_common/eap_wsc_common.c ../src/wps/wps.c 1310214734Srpaulo $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ 1311209139Srpaulo -Deap_peer_wsc_register=eap_peer_method_dynamic_init 1312209139Srpaulo 1313209139Srpauloeap_ikev2.so: ../src/eap_peer/eap_ikev2.c ../src/eap_peer/ikev2.c ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.c 1314214734Srpaulo $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $^ \ 1315209139Srpaulo -Deap_peer_ikev2_register=eap_peer_method_dynamic_init 1316209139Srpaulo 1317209139Srpaulo%.so: %.c 1318214734Srpaulo $(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -rdynamic -fPIC $< \ 1319209139Srpaulo -D$(*F:eap_%=eap_peer_%)_register=eap_peer_method_dynamic_init 1320209139Srpaulo 1321209139SrpauloQ=@ 1322209139SrpauloE=echo 1323209139Srpauloifeq ($(V), 1) 1324209139SrpauloQ= 1325209139SrpauloE=true 1326209139Srpauloendif 1327209139Srpaulo 1328209139Srpaulo%.o: %.c 1329209139Srpaulo $(Q)$(CC) -c -o $@ $(CFLAGS) $< 1330209139Srpaulo @$(E) " CC " $< 1331209139Srpaulo 1332209139Srpaulowpa_supplicant.exe: wpa_supplicant 1333209139Srpaulo mv -f $< $@ 1334209139Srpaulowpa_cli.exe: wpa_cli 1335209139Srpaulo mv -f $< $@ 1336209139Srpaulowpa_passphrase.exe: wpa_passphrase 1337209139Srpaulo mv -f $< $@ 1338209139Srpaulowin_if_list.exe: win_if_list 1339209139Srpaulo mv -f $< $@ 1340209139Srpauloeapol_test.exe: eapol_test 1341209139Srpaulo mv -f $< $@ 1342209139Srpaulo 1343209139SrpauloWINALL=wpa_supplicant.exe wpa_cli.exe wpa_passphrase.exe win_if_list.exe 1344209139Srpaulo 1345209139Srpaulowindows-bin: $(WINALL) 1346209139Srpaulo $(STRIP) $(WINALL) 1347209139Srpaulo 1348209139Srpaulowpa_gui/Makefile: 1349209139Srpaulo qmake -o wpa_gui/Makefile wpa_gui/wpa_gui.pro 1350209139Srpaulo 1351209139Srpaulowpa_gui: wpa_gui/Makefile 1352209139Srpaulo $(MAKE) -C wpa_gui 1353209139Srpaulo 1354209139Srpaulowpa_gui-qt4/Makefile: 1355209139Srpaulo qmake -o wpa_gui-qt4/Makefile wpa_gui-qt4/wpa_gui.pro 1356209139Srpaulo 1357214734Srpaulowpa_gui-qt4/lang/wpa_gui_de.qm: wpa_gui-qt4/lang/wpa_gui_de.ts 1358214734Srpaulo lrelease wpa_gui-qt4/wpa_gui.pro 1359214734Srpaulo 1360214734Srpaulowpa_gui-qt4: wpa_gui-qt4/Makefile wpa_gui-qt4/lang/wpa_gui_de.qm 1361209139Srpaulo $(MAKE) -C wpa_gui-qt4 1362209139Srpaulo 1363214734SrpauloTEST_EAP_SIM_COMMON_OBJS = $(SHA1OBJS) $(MD5OBJS) \ 1364214734Srpaulo ../src/utils/common.o ../src/utils/os_unix.o \ 1365214734Srpaulo ../src/utils/wpa_debug.o $(AESOBJS) \ 1366209139Srpaulo tests/test_eap_sim_common.o 1367209139Srpaulotest-eap_sim_common: $(TEST_EAP_SIM_COMMON_OBJS) 1368214734Srpaulo $(LDO) $(LDFLAGS) -o $@ $(TEST_EAP_SIM_COMMON_OBJS) $(LIBS) 1369209139Srpaulo ./test-eap_sim_common 1370209139Srpaulo rm test-eap_sim_common 1371209139Srpaulo 1372214734Srpaulotests: test-eap_sim_common 1373209139Srpaulo 1374209139Srpauloclean: 1375209139Srpaulo $(MAKE) -C ../src clean 1376214734Srpaulo $(MAKE) -C dbus clean 1377209139Srpaulo rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL) eapol_test preauth_test 1378209139Srpaulo rm -f wpa_priv 1379209139Srpaulo 1380209139Srpaulo-include $(OBJS:%.o=%.d) 1381