endif
OBJS = hostapd.o ieee802_1x.o eapol_sm.o \
- ieee802_11.o config.o ieee802_11_auth.o accounting.o \
- sta_info.o wpa.o ctrl_iface.o \
- drivers.o preauth.o pmksa_cache.o beacon.o \
- hw_features.o wme.o ap_list.o \
- mlme.o vlan_init.o wpa_auth_ie.o
+ config.o ieee802_11_auth.o \
+ sta_info.o wpa.o \
+ drivers.o preauth.o pmksa_cache.o \
+ drv_callbacks.o \
+ tkip_countermeasures.o \
+ mlme.o wpa_auth_ie.o
OBJS += ../src/utils/eloop.o
OBJS += ../src/utils/common.o
OBJS += ../src/common/ieee802_11_common.o
OBJS += ../src/common/wpa_common.o
+ifdef CONFIG_NO_RADIUS
+CFLAGS += -DCONFIG_NO_RADIUS
+CONFIG_NO_ACCOUNTING=y
+else
OBJS += ../src/radius/radius.o
OBJS += ../src/radius/radius_client.o
+endif
+
+ifdef CONFIG_NO_ACCOUNTING
+CFLAGS += -DCONFIG_NO_ACCOUNTING
+else
+OBJS += accounting.o
+endif
+
+ifdef CONFIG_NO_VLAN
+CFLAGS += -DCONFIG_NO_VLAN
+else
+OBJS += vlan_init.o
+endif
+
+ifdef CONFIG_NO_CTRL_IFACE
+CFLAGS += -DCONFIG_NO_CTRL_IFACE
+else
+OBJS += ctrl_iface.o
+endif
OBJS += ../src/crypto/md5.o
OBJS += ../src/crypto/rc4.o
endif
ifdef CONFIG_DRIVER_HOSTAP
+NEED_MLME=y
CFLAGS += -DCONFIG_DRIVER_HOSTAP
OBJS += driver_hostap.o
endif
endif
ifdef CONFIG_DRIVER_NL80211
+NEED_MLME=y
CFLAGS += -DCONFIG_DRIVER_NL80211
-OBJS += driver_nl80211.o radiotap.o
+OBJS += driver_nl80211.o
+OBJS += ../src/utils/radiotap.o
LIBS += -lnl
+ifdef CONFIG_LIBNL20
+LIBS += -lnl-genl
+CFLAGS += -DCONFIG_LIBNL20
+endif
endif
ifdef CONFIG_DRIVER_BSD
endif
ifdef CONFIG_DRIVER_TEST
+NEED_MLME=y
CFLAGS += -DCONFIG_DRIVER_TEST
OBJS += driver_test.o
endif
NEED_DH_GROUPS=y
NEED_SHA256=y
NEED_CRYPTO=y
+NEED_BASE64=y
+
+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/httpread.o
+endif
+
endif
ifdef CONFIG_EAP_IKEV2
OBJS += ../src/eap_server/eap_tnc.o
OBJS += ../src/eap_server/tncs.o
NEED_BASE64=y
+LIBS += -ldl
endif
# Basic EAP functionality is needed for EAPOL
# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
CFLAGS += -DEAP_TLS_FUNCS
OBJS += ../src/eap_server/eap_tls_common.o
+NEED_TLS_PRF=y
ifeq ($(CONFIG_TLS), openssl)
OBJS += ../src/crypto/tls_openssl.o
LIBS += -lssl -lcrypto
CFLAGS += -DCONFIG_NO_T_PRF
endif
+ifndef NEED_TLS_PRF
+CFLAGS += -DCONFIG_NO_TLS_PRF
+endif
+
ifdef CONFIG_RADIUS_SERVER
CFLAGS += -DRADIUS_SERVER
OBJS += ../src/radius/radius_server.o
OBJS += ../src/utils/base64.o
endif
+ifdef NEED_MLME
+OBJS += beacon.o wme.o ap_list.o ieee802_11.o
+OBJS += hw_features.o
+CFLAGS += -DNEED_MLME
+endif
+
+ifdef CONFIG_NO_STDOUT_DEBUG
+CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
+endif
+
+ifdef CONFIG_NO_AES_EXTRAS
+CFLAGS += -DCONFIG_NO_AES_UNWRAP
+CFLAGS += -DCONFIG_NO_AES_CTR -DCONFIG_NO_AES_OMAC1
+CFLAGS += -DCONFIG_NO_AES_EAX -DCONFIG_NO_AES_CBC
+CFLAGS += -DCONFIG_NO_AES_DECRYPT
+CFLAGS += -DCONFIG_NO_AES_ENCRYPT_BLOCK
+endif
+
ALL=hostapd hostapd_cli
all: verify_config $(ALL)
docs-pics: doc/hostapd.png doc/hostapd.eps
docs: docs-pics
- doxygen doc/doxygen.full
+ (cd ..; doxygen hostapd/doc/doxygen.full; cd hostapd)
$(MAKE) -C doc/latex
cp doc/latex/refman.pdf hostapd-devel.pdf
docs-fast: docs-pics
- doxygen doc/doxygen.fast
+ (cd ..; doxygen hostapd/doc/doxygen.fast; cd hostapd)
clean-docs:
rm -rf doc/latex doc/html
- rm -f doc/hosta.d{eps,png} hostapd-devel.pdf
+ rm -f doc/hostapd.{eps,png} hostapd-devel.pdf
TEST_SRC_MILENAGE = ../src/hlr_auc_gw/milenage.c ../src/crypto/aes_wrap.c ../src/crypto/aes.c ../src/utils/common.c ../src/utils/wpa_debug.o ../src/utils/os_$(CONFIG_OS).c
test-milenage: $(TEST_SRC_MILENAGE)
./test-milenage
rm test-milenage
-hostapd-sparse: $(OBJS)
- @echo Sparse run completed
-
-run-sparse:
- CC="sparse -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -D__INT_MAX__=2147483647 -D__SHRT_MAX__=32767 -D__LONG_MAX__=2147483647 -D__SCHAR_MAX__=127 -Wbitwise" $(MAKE) hostapd-sparse
-
-include $(OBJS:%.o=%.d)