export BINDIR ?= /usr/local/sbin/
CFLAGS += -I../src
-CFLAGS += -I../src/crypto
CFLAGS += -I../src/utils
-CFLAGS += -I../src/common
-CFLAGS += -I../src/rsn_supp
ALL=wpa_supplicant wpa_passphrase wpa_cli
ifdef CONFIG_IEEE80211W
CFLAGS += -DCONFIG_IEEE80211W
NEED_SHA256=y
+NEED_AES_OMAC1=y
endif
ifdef CONFIG_IEEE80211R
OBJS += ../src/rsn_supp/wpa_ft.o
NEED_80211_COMMON=y
NEED_SHA256=y
+NEED_AES_OMAC1=y
endif
ifdef CONFIG_PEERKEY
endif
ifdef CONFIG_IBSS_RSN
+NEED_RSN_AUTHENTICATOR=y
CFLAGS += -DCONFIG_IBSS_RSN
OBJS += ibss_rsn.o
-OBJS += ../hostapd/wpa.o
-OBJS += ../hostapd/wpa_auth_ie.o
-OBJS += ../hostapd/pmksa_cache.o
-OBJS += ../src/radius/radius.o
-ifdef CONFIG_IEEE80211R
-OBJS += ../hostapd/wpa_ft.o
-endif
-ifdef CONFIG_PEERKEY
-OBJS += ../hostapd/peerkey.o
-endif
endif
ifdef CONFIG_NO_WPA2
CFLAGS += -DCONFIG_WPS_OOB
endif
+ifdef CONFIG_WPS_ER
+CONFIG_WPS_UPNP=y
+CFLAGS += -DCONFIG_WPS_ER
+OBJS += ../src/wps/wps_er.o
+OBJS += ../src/wps/wps_er_ssdp.o
+endif
+
ifdef CONFIG_WPS_UPNP
CFLAGS += -DCONFIG_WPS_UPNP
OBJS += ../src/wps/wps_upnp.o
OBJS += ../src/wps/wps_upnp_ssdp.o
OBJS += ../src/wps/wps_upnp_web.o
OBJS += ../src/wps/wps_upnp_event.o
+OBJS += ../src/wps/upnp_xml.o
OBJS += ../src/wps/httpread.o
+OBJS += ../src/wps/http_client.o
+OBJS += ../src/wps/http_server.o
endif
endif
endif
ifdef CONFIG_AP
+NEED_RSN_AUTHENTICATOR=y
CFLAGS += -DCONFIG_AP
OBJS += ap.o
CFLAGS += -DCONFIG_NO_RADIUS
OBJS += ../hostapd/config.o
OBJS += ../src/utils/ip_addr.o
OBJS += ../hostapd/sta_info.o
-OBJS += ../hostapd/wpa.o
-OBJS += ../hostapd/pmksa_cache.o
-OBJS += ../hostapd/wpa_auth_ie.o
OBJS += ../hostapd/tkip_countermeasures.o
OBJS += ../hostapd/mlme.o
OBJS += ../hostapd/ieee802_1x.o
-OBJS += ../hostapd/eapol_sm.o
+OBJS += ../src/eapol_auth/eapol_auth_sm.o
OBJS += ../hostapd/ieee802_11_auth.o
OBJS += ../hostapd/drv_callbacks.o
ifdef CONFIG_CTRL_IFACE
OBJS += ../hostapd/ctrl_iface_ap.o
endif
-ifdef CONFIG_IEEE80211R
-OBJS += ../hostapd/wpa_ft.o
-endif
-ifdef CONFIG_PEERKEY
-OBJS += ../hostapd/peerkey.o
-endif
CFLAGS += -DEAP_SERVER
OBJS += ../src/eap_server/eap.o
endif
endif
+ifdef NEED_RSN_AUTHENTICATOR
+CFLAGS += -DCONFIG_NO_RADIUS
+NEED_AES_WRAP=y
+OBJS += ../hostapd/wpa.o
+OBJS += ../hostapd/wpa_auth_ie.o
+OBJS += ../hostapd/pmksa_cache.o
+ifdef CONFIG_IEEE80211R
+OBJS += ../hostapd/wpa_ft.o
+endif
+ifdef CONFIG_PEERKEY
+OBJS += ../hostapd/peerkey.o
+endif
+endif
+
ifdef CONFIG_EAP_SERVER
CFLAGS += -DEAP_SERVER
OBJS_h += ../src/eap_server/eap.o
endif
ifdef CONFIG_AUTHENTICATOR
-OBJS_h += ../hostapd/eapol_sm.o
+OBJS_h += ../eapol_auth/eapol_auth_sm.o
OBJS_h += ../hostapd/ieee802_1x.o
endif
endif
ifdef NEED_MILENAGE
-OBJS += ../src/hlr_auc_gw/milenage.o
+OBJS += ../src/crypto/milenage.o
endif
ifdef CONFIG_PKCS12
OBJS += ../src/tls/asn1.o
OBJS += ../src/tls/rsa.o
OBJS += ../src/tls/x509v3.o
+OBJS += ../src/tls/pkcs1.o
+OBJS += ../src/tls/pkcs5.o
+OBJS += ../src/tls/pkcs8.o
OBJS_p += ../src/tls/asn1.o
OBJS_p += ../src/tls/rsa.o
+OBJS_p += ../src/tls/pkcs1.o
+OBJS_p += ../src/tls/pkcs5.o
+OBJS_p += ../src/tls/pkcs8.o
OBJS_p += ../src/crypto/rc4.o
NEED_BASE64=y
NEED_TLS_PRF=y
CFLAGS += -DCONFIG_INTERNAL_X509
OBJS += ../src/crypto/crypto_internal.o
OBJS_p += ../src/crypto/crypto_internal.o
+NEED_AES_ENC=y
CFLAGS += -DCONFIG_CRYPTO_INTERNAL
ifdef CONFIG_INTERNAL_LIBTOMMATH
CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
AESOBJS += ../src/crypto/aes-encblock.o
endif
ifdef NEED_AES_OMAC1
+NEED_AES_ENC=y
AESOBJS += ../src/crypto/aes-omac1.o
endif
ifdef NEED_AES_WRAP
+NEED_AES_ENC=y
AESOBJS += ../src/crypto/aes-wrap.o
endif
ifdef NEED_AES_CBC
+NEED_AES_ENC=y
+AESOBJS += ../src/crypto/aes-cbc.o
+endif
+ifdef NEED_AES_ENC
ifdef CONFIG_INTERNAL_AES
AESOBJS += ../src/crypto/aes-internal-enc.o
endif
-AESOBJS += ../src/crypto/aes-cbc.o
endif
ifdef NEED_AES
OBJS += $(AESOBJS)
endif
ifdef CONFIG_CTRL_IFACE_DBUS
-CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
-OBJS += ctrl_iface_dbus.o ctrl_iface_dbus_handlers.o dbus_dict_helpers.o
+DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
+DBUS_OBJS += ctrl_iface_dbus.o ctrl_iface_dbus_handlers.o
+DBUS_OBJS += dbus_dict_helpers.o
ifndef DBUS_LIBS
DBUS_LIBS := $(shell pkg-config --libs dbus-1)
endif
-LIBS += $(DBUS_LIBS)
ifndef DBUS_INCLUDE
DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1)
endif
endif
DBUS_INCLUDE += -DDBUS_VERSION_MAJOR=$(DBUS_VERSION_MAJOR)
DBUS_INCLUDE += -DDBUS_VERSION_MINOR=$(DBUS_VERSION_MINOR)
-CFLAGS += $(DBUS_INCLUDE)
+DBUS_CFLAGS += $(DBUS_INCLUDE)
+endif
+
+ifdef CONFIG_CTRL_IFACE_DBUS_NEW
+DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_NEW
+DBUS_OBJS ?= dbus_dict_helpers.o
+DBUS_OBJS += ctrl_iface_dbus_new_helpers.o
+DBUS_OBJS += ctrl_iface_dbus_new.o ctrl_iface_dbus_new_handlers.o
+ifndef DBUS_LIBS
+DBUS_LIBS := $(shell pkg-config --libs dbus-1)
+endif
+ifndef DBUS_INCLUDE
+DBUS_INCLUDE := $(shell pkg-config --cflags dbus-1)
endif
+ifdef CONFIG_CTRL_IFACE_DBUS_INTRO
+DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_INTRO
+DBUS_INCLUDE += $(shell xml2-config --cflags)
+DBUS_LIBS += $(shell xml2-config --libs)
+endif
+DBUS_CFLAGS += $(DBUS_INCLUDE)
+endif
+
+OBJS += $(DBUS_OBJS)
+CFLAGS += $(DBUS_CFLAGS)
+LIBS += $(DBUS_LIBS)
ifdef CONFIG_READLINE
CFLAGS += -DCONFIG_READLINE
CONFIG_MAIN=main
endif
+ifdef CONFIG_DEBUG_SYSLOG
+CFLAGS += -DCONFIG_DEBUG_SYSLOG
+endif
+
ifdef CONFIG_DEBUG_FILE
CFLAGS += -DCONFIG_DEBUG_FILE
endif
wpa_gui-qt4: wpa_gui-qt4/Makefile
$(MAKE) -C wpa_gui-qt4
-TEST_MS_FUNCS_OBJS = ../src/crypto/crypto_openssl.o $(SHA1OBJS) $(MD5OBJS) \
- ../src/utils/os_unix.o ../src/crypto/rc4.o tests/test_ms_funcs.o
-test-ms_funcs: $(TEST_MS_FUNCS_OBJS)
- $(LDO) $(LDFLAGS) -o $@ $(TEST_MS_FUNCS_OBJS) $(LIBS) -lcrypto
- ./test-ms_funcs
- rm test-ms_funcs
-
-TEST_SHA1_OBJS = $(SHA1OBJS) $(MD5OBJS) tests/test_sha1.o #../src/crypto/crypto_openssl.o
-test-sha1: $(TEST_SHA1_OBJS)
- $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA1_OBJS) $(LIBS)
- ./test-sha1
- rm test-sha1
-
-TEST_SHA256_OBJS = $(SHA256OBJS) $(MD5OBJS) tests/test_sha256.o ../src/utils/os_unix.o ../src/crypto/crypto_openssl.o
-test-sha256: $(TEST_SHA256_OBJS)
- $(LDO) $(LDFLAGS) -o $@ $(TEST_SHA256_OBJS) $(LIBS)
- ./test-sha256
- rm test-sha256
-
-TEST_AES_OBJS = tests/test_aes.o $(AESOBJS)
-test-aes: $(TEST_AES_OBJS)
- $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
- ./test-aes
- rm test-aes
-
TEST_EAP_SIM_COMMON_OBJS = $(SHA1OBJS) $(MD5OBJS) \
../src/utils/common.o ../src/utils/os_unix.o \
../src/utils/wpa_debug.o $(AESOBJS) \
tests/test_eap_sim_common.o
test-eap_sim_common: $(TEST_EAP_SIM_COMMON_OBJS)
- $(LDO) $(LDFLAGS) -o $@ $(TEST_AES_OBJS) $(LIBS)
+ $(LDO) $(LDFLAGS) -o $@ $(TEST_EAP_SIM_COMMON_OBJS) $(LIBS)
./test-eap_sim_common
rm test-eap_sim_common
-TEST_MD4_OBJS = ../src/crypto/md4-internal.o tests/test_md4.o #../src/crypto/crypto_openssl.o
-test-md4: $(TEST_MD4_OBJS)
- $(LDO) $(LDFLAGS) -o $@ $(TEST_MD4_OBJS) $(LIBS)
- ./test-md4
- rm test-md4
-
-TEST_MD5_OBJS = $(MD5OBJS) tests/test_md5.o #../src/crypto/crypto_openssl.o
-test-md5: $(TEST_MD5_OBJS)
- $(LDO) $(LDFLAGS) -o $@ $(TEST_MD5_OBJS) $(LIBS)
- ./test-md5
- rm test-md5
-
-tests: test-ms_funcs test-sha1 test-aes test-eap_sim_common test-md4 test-md5
+tests: test-eap_sim_common
clean:
$(MAKE) -C ../src clean
rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL) eapol_test preauth_test
-
-%.eps: %.fig
- fig2dev -L eps $*.fig $*.eps
-
-%.png: %.fig
- fig2dev -L png -m 3 $*.fig | pngtopnm | pnmscale 0.4 | pnmtopng \
- > $*.png
-
-docs-pics: doc/wpa_supplicant.png doc/wpa_supplicant.eps
-
-docs: docs-pics
- (cd ..; doxygen wpa_supplicant/doc/doxygen.full; cd wpa_supplicant)
- $(MAKE) -C doc/latex
- cp doc/latex/refman.pdf wpa_supplicant-devel.pdf
-
-docs-fast: docs-pics
- (cd ..; doxygen wpa_supplicant/doc/doxygen.fast; cd wpa_supplicant)
-
-clean-docs:
- rm -rf doc/latex doc/html
- rm -f doc/wpa_supplicant.{eps,png} wpa_supplicant-devel.pdf
+ rm -f wpa_priv
-include $(OBJS:%.o=%.d)