Verify that driver supports configured HT capabilities
[wpasupplicant] / hostapd / Makefile
index 5061413..3c6bd4a 100644 (file)
@@ -39,11 +39,12 @@ LIBS += -lws2_32
 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
@@ -55,8 +56,31 @@ OBJS += ../src/utils/ip_addr.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
@@ -101,6 +125,7 @@ CFLAGS += -DCONFIG_IEEE80211N
 endif
 
 ifdef CONFIG_DRIVER_HOSTAP
+NEED_MLME=y
 CFLAGS += -DCONFIG_DRIVER_HOSTAP
 OBJS += driver_hostap.o
 endif
@@ -122,9 +147,15 @@ OBJS += driver_prism54.o
 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
@@ -136,6 +167,7 @@ CONFIG_L2_FREEBSD=y
 endif
 
 ifdef CONFIG_DRIVER_TEST
+NEED_MLME=y
 CFLAGS += -DCONFIG_DRIVER_TEST
 OBJS += driver_test.o
 endif
@@ -278,6 +310,17 @@ OBJS += ../src/wps/wps_registrar.o
 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
@@ -325,6 +368,7 @@ ifdef TLS_FUNCS
 # 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
@@ -474,6 +518,10 @@ ifndef NEED_T_PRF
 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
@@ -497,6 +545,24 @@ ifdef NEED_BASE64
 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)
@@ -547,16 +613,16 @@ clean:
 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)
@@ -566,10 +632,4 @@ 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)