📄 makefile
字号:
ifndef CCCC=gccendififndef CFLAGSCFLAGS = -MMD -O2 -Wall -gendif# Include directories for CVS versionCFLAGS += -I. -I../utils -I../hostapdALL=wpa_supplicant wpa_passphrase wpa_cliall: verify_config $(ALL)verify_config: @if [ ! -r .config ]; then \ echo 'Building wpa_supplicant requires a configuration file'; \ echo '(.config). See README for more instructions. You can'; \ echo 'run "cp defconfig .config" to create an example'; \ echo 'configuration.'; \ exit 1; \ fimkconfig: @if [ -e .config ]; then \ echo '.config exists - did not replace it'; \ exit 1; \ fi echo CONFIG_DRIVER_HOSTAP=y >> .config echo CONFIG_DRIVER_WEXT=y >> .config echo CONFIG_WIRELESS_EXTENSION=y >> .configinstall: all mkdir -p $(DESTDIR)/usr/local/sbin/ for i in $(ALL); do cp $$i $(DESTDIR)/usr/local/sbin/$$i; doneOBJS = config.o \ eloop.o common.o md5.o \ rc4.o sha1.oOBJS_p = wpa_passphrase.o sha1.o md5.oOBJS_c = wpa_cli.o wpa_ctrl.o-include .configifdef CONFIG_EAPOL_TESTCFLAGS += -Werror -DEAPOL_TESTendififndef CONFIG_BACKENDCONFIG_BACKEND=fileendififeq ($(CONFIG_BACKEND), file)OBJS += config_file.o base64.oCFLAGS += -DCONFIG_BACKEND_FILEendififdef CONFIG_DRIVER_HOSTAPCFLAGS += -DCONFIG_DRIVER_HOSTAPOBJS_d += driver_hostap.oCONFIG_WIRELESS_EXTENSION=yendififdef CONFIG_DRIVER_WEXTCFLAGS += -DCONFIG_DRIVER_WEXTCONFIG_WIRELESS_EXTENSION=yendififdef CONFIG_DRIVER_PRISM54CFLAGS += -DCONFIG_DRIVER_PRISM54OBJS_d += driver_prism54.oCONFIG_WIRELESS_EXTENSION=yendififdef CONFIG_DRIVER_HERMESCFLAGS += -DCONFIG_DRIVER_HERMESOBJS_d += driver_hermes.oCONFIG_WIRELESS_EXTENSION=yendififdef CONFIG_DRIVER_MADWIFICFLAGS += -DCONFIG_DRIVER_MADWIFIOBJS_d += driver_madwifi.oCONFIG_WIRELESS_EXTENSION=yendififdef CONFIG_DRIVER_ATMELCFLAGS += -DCONFIG_DRIVER_ATMELOBJS_d += driver_atmel.oCONFIG_WIRELESS_EXTENSION=yendififdef CONFIG_DRIVER_NDISWRAPPERCFLAGS += -DCONFIG_DRIVER_NDISWRAPPEROBJS_d += driver_ndiswrapper.oCONFIG_WIRELESS_EXTENSION=yendififdef CONFIG_DRIVER_BROADCOMCFLAGS += -DCONFIG_DRIVER_BROADCOMOBJS_d += driver_broadcom.oendififdef CONFIG_DRIVER_IPWCFLAGS += -DCONFIG_DRIVER_IPWOBJS_d += driver_ipw.oCONFIG_WIRELESS_EXTENSION=yendififdef CONFIG_DRIVER_BSDCFLAGS += -DCONFIG_DRIVER_BSDOBJS_d += driver_bsd.oCONFIG_DNET_PCAP=yCONFIG_L2_FREEBSD=yendififdef CONFIG_DRIVER_NDISCFLAGS += -DCONFIG_DRIVER_NDISOBJS_d += driver_ndis.o driver_ndis_.oCONFIG_DNET_PCAP=yCONFIG_WINPCAP=yendififdef CONFIG_DRIVER_WIREDCFLAGS += -DCONFIG_DRIVER_WIREDOBJS_d += driver_wired.oendififdef CONFIG_DRIVER_TESTCFLAGS += -DCONFIG_DRIVER_TESTOBJS_d += driver_test.oendififdef CONFIG_DNET_PCAPCFLAGS += -DUSE_DNET_PCAPifdef CONFIG_WINPCAPOBJS += l2_packet_pcap.oCFLAGS += -DCONFIG_WINPCAPLIBS += -lwpcap -lpacketLIBS_w += -lwpcapelseifdef CONFIG_L2_FREEBSDOBJS += l2_packet_freebsd.oLIBS += -lpcapelseOBJS += l2_packet_pcap.oLIBS += -ldnet -lpcapendifendifelseOBJS += l2_packet_linux.oendififdef CONFIG_EAP_TLS# EAP-TLSCFLAGS += -DEAP_TLSOBJS += eap_tls.oTLS_FUNCS=yCONFIG_IEEE8021X_EAPOL=yendififdef CONFIG_EAP_PEAP# EAP-PEAPCFLAGS += -DEAP_PEAPOBJS += eap_peap.oTLS_FUNCS=yCONFIG_EAP_MSCHAPV2=yCONFIG_IEEE8021X_EAPOL=yCONFIG_EAP_TLV=yendififdef CONFIG_EAP_TTLS# EAP-TTLSCFLAGS += -DEAP_TTLSOBJS += eap_ttls.oMS_FUNCS=yTLS_FUNCS=yCONFIG_EAP_MD5=yCONFIG_IEEE8021X_EAPOL=yendififdef CONFIG_EAP_MD5# EAP-MD5 (also used by EAP-TTLS)CFLAGS += -DEAP_MD5OBJS += eap_md5.oCONFIG_IEEE8021X_EAPOL=yendif# backwards compatibility for old spellingifdef CONFIG_MSCHAPV2CONFIG_EAP_MSCHAPV2=yendififdef CONFIG_EAP_MSCHAPV2# EAP-MSCHAPv2 (also used by EAP-PEAP)CFLAGS += -DEAP_MSCHAPv2OBJS += eap_mschapv2.oMS_FUNCS=yCONFIG_IEEE8021X_EAPOL=yendififdef CONFIG_EAP_GTC# EAP-GTC (also used by EAP-PEAP)CFLAGS += -DEAP_GTCOBJS += eap_gtc.oCONFIG_IEEE8021X_EAPOL=yendififdef CONFIG_EAP_OTP# EAP-OTPCFLAGS += -DEAP_OTPOBJS += eap_otp.oCONFIG_IEEE8021X_EAPOL=yendififdef CONFIG_EAP_SIM# EAP-SIMCFLAGS += -DEAP_SIMOBJS += eap_sim.oCONFIG_IEEE8021X_EAPOL=yCONFIG_EAP_SIM_COMMON=yendififdef CONFIG_EAP_LEAP# EAP-LEAPCFLAGS += -DEAP_LEAPOBJS += eap_leap.oMS_FUNCS=yCONFIG_IEEE8021X_EAPOL=yendififdef CONFIG_EAP_PSK# EAP-PSKCFLAGS += -DEAP_PSKOBJS += eap_psk.o eap_psk_common.oCONFIG_IEEE8021X_EAPOL=yNEED_AES=yendififdef CONFIG_EAP_AKA# EAP-AKACFLAGS += -DEAP_AKAOBJS += eap_aka.oCONFIG_IEEE8021X_EAPOL=yCONFIG_EAP_SIM_COMMON=yendififdef CONFIG_EAP_SIM_COMMONOBJS += eap_sim_common.oNEED_AES=yendififdef CONFIG_EAP_TLV# EAP-TLVCFLAGS += -DEAP_TLVOBJS += eap_tlv.oendififdef CONFIG_EAP_FAST# EAP-FASTCFLAGS += -DEAP_FASTOBJS += eap_fast.oTLS_FUNCS=yendififdef CONFIG_EAP_PAX# EAP-PAXCFLAGS += -DEAP_PAXOBJS += eap_pax.o eap_pax_common.oCONFIG_IEEE8021X_EAPOL=yendififdef CONFIG_IEEE8021X_EAPOL# IEEE 802.1X/EAPOL state machines (e.g., for RADIUS authentication)CFLAGS += -DIEEE8021X_EAPOLOBJS += eapol_sm.o eap.oendififdef CONFIG_PCSC# PC/SC interface for smartcards (USIM, GSM SIM)CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSCOBJS += pcsc_funcs.o# -lpthread may not be needed depending on how pcsc-lite was configuredLIBS += -lpcsclite -lpthreadendififndef CONFIG_TLSCONFIG_TLS=opensslendififdef TLS_FUNCS# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, EAP_TTLS, and EAP_FAST)CFLAGS += -DEAP_TLS_FUNCSOBJS += eap_tls_common.oifeq ($(CONFIG_TLS), openssl)OBJS += tls_openssl.oLIBS += -lssl -lcryptoLIBS_p += -lcryptoendififeq ($(CONFIG_TLS), gnutls)OBJS += tls_gnutls.oLIBS += -lgnutls -lgcrypt -lgpg-errorLIBS_p += -lgcryptendififeq ($(CONFIG_TLS), schannel)OBJS += tls_schannel.o# Using OpenSSL for crypto at the moment; to be replacedLIBS += -lcryptoLIBS_p += -lcryptoendififdef CONFIG_SMARTCARDifndef CONFIG_NATIVE_WINDOWSifndef CONFIG_L2_FREEBSDLIBS += -ldlendifendifendifNEED_CRYPTO=yelseOBJS += tls_none.oendififdef CONFIG_PKCS12CFLAGS += -DPKCS12_FUNCSendififdef CONFIG_SMARTCARDCFLAGS += -DCONFIG_SMARTCARDendififdef MS_FUNCSOBJS += ms_funcs.oNEED_CRYPTO=yendififdef NEED_CRYPTOifndef TLS_FUNCSifeq ($(CONFIG_TLS), openssl)LIBS += -lcryptoLIBS_p += -lcryptoendififeq ($(CONFIG_TLS), gnutls)LIBS += -lgcryptLIBS_p += -lgcryptendififeq ($(CONFIG_TLS), schannel)# Using OpenSSL for crypto at the moment; to be replacedLIBS += -lcryptoLIBS_p += -lcryptoendifendififeq ($(CONFIG_TLS), openssl)OBJS += crypto.oOBJS_p += crypto.oendififeq ($(CONFIG_TLS), gnutls)OBJS += crypto_gnutls.oOBJS_p += crypto_gnutls.oendififeq ($(CONFIG_TLS), schannel)# Using OpenSSL for crypto at the moment; to be replacedOBJS += crypto.oOBJS_p += crypto.oendifendififdef CONFIG_WIRELESS_EXTENSIONCFLAGS += -DCONFIG_WIRELESS_EXTENSIONOBJS_d += driver_wext.oendififdef CONFIG_CTRL_IFACECFLAGS += -DCONFIG_CTRL_IFACEOBJS += ctrl_iface.oendififdef CONFIG_READLINECFLAGS += -DCONFIG_READLINELIBS_c += -lncurses -lreadlineendififdef CONFIG_NATIVE_WINDOWSCFLAGS += -DCONFIG_NATIVE_WINDOWS -DCONFIG_CTRL_IFACE_UDPLIBS += -lws2_32 -lgdi32 -lcrypt32LIBS_c += -lws2_32endififdef CONFIG_NO_STDOUT_DEBUGCFLAGS += -DCONFIG_NO_STDOUT_DEBUGendififdef CONFIG_IPV6# for eapol_test onlyCFLAGS += -DCONFIG_IPV6endififndef CONFIG_NO_WPAOBJS += wpa.o preauth.oNEED_AES=yelseCFLAGS += -DCONFIG_NO_WPAendififdef NEED_AESOBJS += aes_wrap.oendifOBJS += wpa_supplicant.o events.oOBJS_t := $(OBJS) eapol_test.o radius.o radius_client.oOBJS_t2 := $(OBJS) preauth_test.oOBJS += main.o drivers.o $(OBJS_d)wpa_supplicant: .config $(OBJS) $(CC) -o wpa_supplicant $(OBJS) $(LIBS)eapol_test: .config $(OBJS_t) $(CC) -o eapol_test $(OBJS_t) $(LIBS)preauth_test: .config $(OBJS_t2) $(CC) -o preauth_test $(OBJS_t2) $(LIBS)wpa_passphrase: $(OBJS_p) $(CC) -o wpa_passphrase $(OBJS_p) $(LIBS_p)wpa_cli: $(OBJS_c) $(CC) -o wpa_cli $(OBJS_c) $(LIBS_c)win_if_list: win_if_list.c $(CC) -o $@ win_if_list.c $(CFLAGS) $(LIBS_w)# parameters for Microsoft Visual C++ Toolkit 2003 compilerCL=clCLDIR=C:\Program Files\Microsoft Visual C++ Toolkit 2003PSDKDIR=C:\Program Files\Microsoft Platform SDK for Windows XP SP2CLFLAGS=-OCLLIBS=wbemuuid.lib libcmt.lib kernel32.lib uuid.lib ole32.lib oleaut32.lib \ ws2_32.libndis_events: ndis_events.cpp INCLUDE="$(CLDIR)\include;$(PSDKDIR)\Include" \ LIB="$(CLDIR)\lib;$(PSDKDIR)\Lib" \ $(CL) $(CLFLAGS) -o ndis_events.exe ndis_events.cpp \ /link -nodefaultlib $(CLLIBS)wpa_supplicant.exe: wpa_supplicant mv -f $< $@wpa_cli.exe: wpa_cli mv -f $< $@wpa_passphrase.exe: wpa_passphrase mv -f $< $@win_if_list.exe: win_if_list mv -f $< $@eapol_test.exe: eapol_test mv -f $< $@WINALL=wpa_supplicant.exe wpa_cli.exe wpa_passphrase.exe win_if_list.exewindows-bin: $(WINALL) $(STRIP) $(WINALL)wpa_gui/Makefile: qmake -o wpa_gui/Makefile wpa_gui/wpa_gui.pro wpa_gui: wpa_gui/Makefile $(MAKE) -C wpa_guiTEST_SRC_MS_FUNCS = ms_funcs.c crypto.c sha1.c md5.ctest-ms_funcs: $(TEST_SRC_MS_FUNCS) $(CC) -o test-ms_funcs -Wall -Werror $(TEST_SRC_MS_FUNCS) \ -DTEST_MAIN_MS_FUNCS -lcrypto -I../hostapd -I. ./test-ms_funcs rm test-ms_funcsTEST_SRC_SHA1 = sha1.ctest-sha1: $(TEST_SRC_SHA1) $(CC) -o test-sha1 -Wall -Werror $(TEST_SRC_SHA1) \ -DTEST_MAIN -I../hostad -I. ./test-sha1 rm test-sha1TEST_SRC_AES_WRAP = aes_wrap.ctest-aes_wrap: $(TEST_SRC_AES_WRAP) $(CC) -o test-aes_wrap -Wall -Werror $(TEST_SRC_AES_WRAP) \ -DTEST_MAIN -I../hostad -I. ./test-aes_wrap rm test-aes_wrapTEST_SRC_EAP_SIM_COMMON = eap_sim_common.c sha1.c md5.c \ aes_wrap.c common.ctest-eap_sim_common: $(TEST_SRC_EAP_SIM_COMMON) $(CC) -o test-eap_sim_common -Wall -Werror $(TEST_SRC_EAP_SIM_COMMON) \ -DTEST_MAIN_EAP_SIM_COMMON -I../hostapd -I. ./test-eap_sim_common rm test-eap_sim_commontests: test-ms_funcs test-sha1 test-aes_wrap test-eap_sim_commonclean: rm -f core *~ *.o *.d $(ALL) $(WINALL)%.eps: %.fig fig2dev -L eps $*.fig $*.eps%.png: %.fig fig2dev -L png -m 3 $*.fig | pngtopnm | pnmscale 0.4 | pnmtopng \ > $*.pngdocs-pics: doc/wpa_supplicant.png doc/wpa_supplicant.epsdocs: docs-pics doxygen doc/doxygen.full $(MAKE) -C doc/latex cp doc/latex/refman.pdf wpa_supplicant-devel.pdfdocs-fast: docs-pics doxygen doc/doxygen.fastclean-docs: rm -rf doc/latex doc/html rm -f doc/wpa_supplicant.{eps,png} wpa_supplicant-devel.pdf-include $(OBJS:%.o=%.d)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -