| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1 | ifndef CC | 
 | 2 | CC=gcc | 
 | 3 | endif | 
 | 4 |  | 
 | 5 | ifndef CFLAGS | 
 | 6 | CFLAGS = -MMD -O2 -Wall -g | 
 | 7 | endif | 
 | 8 |  | 
| Dmitry Shmidt | 014a3ff | 2015-12-28 13:27:49 -0800 | [diff] [blame] | 9 | ifdef LIBS | 
 | 10 | # If LIBS is set with some global build system defaults, clone those for | 
 | 11 | # LIBS_c, LIBS_h, and LIBS_n to cover hostapd_cli, hlr_auc_gw, and | 
 | 12 | # nt_password_hash as well. | 
 | 13 | ifndef LIBS_c | 
 | 14 | LIBS_c := $(LIBS) | 
 | 15 | endif | 
 | 16 | ifndef LIBS_h | 
 | 17 | LIBS_h := $(LIBS) | 
 | 18 | endif | 
 | 19 | ifndef LIBS_n | 
 | 20 | LIBS_n := $(LIBS) | 
 | 21 | endif | 
 | 22 | endif | 
 | 23 |  | 
| Dmitry Shmidt | 216983b | 2015-02-06 10:50:36 -0800 | [diff] [blame] | 24 | CFLAGS += $(EXTRA_CFLAGS) | 
| Dmitry Shmidt | fb79edc | 2014-01-10 10:45:54 -0800 | [diff] [blame] | 25 | CFLAGS += -I$(abspath ../src) | 
 | 26 | CFLAGS += -I$(abspath ../src/utils) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 27 |  | 
| Dmitry Shmidt | 6c0da2b | 2015-01-05 13:08:17 -0800 | [diff] [blame] | 28 | export BINDIR ?= /usr/local/bin/ | 
 | 29 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 30 | -include .config | 
 | 31 |  | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 32 | ifndef CONFIG_NO_GITVER | 
 | 33 | # Add VERSION_STR postfix for builds from a git repository | 
 | 34 | ifeq ($(wildcard ../.git),../.git) | 
 | 35 | GITVER := $(shell git describe --dirty=+) | 
 | 36 | ifneq ($(GITVER),) | 
 | 37 | CFLAGS += -DGIT_VERSION_STR_POSTFIX=\"-$(GITVER)\" | 
 | 38 | endif | 
 | 39 | endif | 
 | 40 | endif | 
 | 41 |  | 
| Dmitry Shmidt | fb79edc | 2014-01-10 10:45:54 -0800 | [diff] [blame] | 42 | ifdef CONFIG_TESTING_OPTIONS | 
 | 43 | CFLAGS += -DCONFIG_TESTING_OPTIONS | 
 | 44 | CONFIG_WPS_TESTING=y | 
 | 45 | endif | 
 | 46 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 47 | ifndef CONFIG_OS | 
 | 48 | ifdef CONFIG_NATIVE_WINDOWS | 
 | 49 | CONFIG_OS=win32 | 
 | 50 | else | 
 | 51 | CONFIG_OS=unix | 
 | 52 | endif | 
 | 53 | endif | 
 | 54 |  | 
 | 55 | ifeq ($(CONFIG_OS), internal) | 
 | 56 | CFLAGS += -DOS_NO_C_LIB_DEFINES | 
 | 57 | endif | 
 | 58 |  | 
 | 59 | ifdef CONFIG_NATIVE_WINDOWS | 
 | 60 | CFLAGS += -DCONFIG_NATIVE_WINDOWS | 
 | 61 | LIBS += -lws2_32 | 
 | 62 | endif | 
 | 63 |  | 
 | 64 | OBJS += main.o | 
 | 65 | OBJS += config_file.o | 
 | 66 |  | 
 | 67 | OBJS += ../src/ap/hostapd.o | 
 | 68 | OBJS += ../src/ap/wpa_auth_glue.o | 
 | 69 | OBJS += ../src/ap/drv_callbacks.o | 
 | 70 | OBJS += ../src/ap/ap_drv_ops.o | 
 | 71 | OBJS += ../src/ap/utils.o | 
 | 72 | OBJS += ../src/ap/authsrv.o | 
 | 73 | OBJS += ../src/ap/ieee802_1x.o | 
 | 74 | OBJS += ../src/ap/ap_config.o | 
| Dmitry Shmidt | d5e4923 | 2012-12-03 15:08:10 -0800 | [diff] [blame] | 75 | OBJS += ../src/ap/eap_user_db.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 76 | OBJS += ../src/ap/ieee802_11_auth.o | 
 | 77 | OBJS += ../src/ap/sta_info.o | 
 | 78 | OBJS += ../src/ap/wpa_auth.o | 
 | 79 | OBJS += ../src/ap/tkip_countermeasures.o | 
 | 80 | OBJS += ../src/ap/ap_mlme.o | 
 | 81 | OBJS += ../src/ap/wpa_auth_ie.o | 
 | 82 | OBJS += ../src/ap/preauth_auth.o | 
 | 83 | OBJS += ../src/ap/pmksa_cache_auth.o | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 84 | OBJS += ../src/ap/ieee802_11_shared.o | 
 | 85 | OBJS += ../src/ap/beacon.o | 
| Dmitry Shmidt | 6c0da2b | 2015-01-05 13:08:17 -0800 | [diff] [blame] | 86 | OBJS += ../src/ap/bss_load.o | 
| Dmitry Shmidt | 849734c | 2016-05-27 09:59:01 -0700 | [diff] [blame] | 87 | OBJS += ../src/ap/neighbor_db.o | 
 | 88 | OBJS += ../src/ap/rrm.o | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 89 |  | 
| Dmitry Shmidt | 7f2c753 | 2016-08-15 09:48:12 -0700 | [diff] [blame] | 90 | OBJS_c = hostapd_cli.o | 
 | 91 | OBJS_c += ../src/common/wpa_ctrl.o | 
 | 92 | OBJS_c += ../src/utils/os_$(CONFIG_OS).o | 
 | 93 | OBJS_c += ../src/common/cli.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 94 |  | 
 | 95 | NEED_RC4=y | 
 | 96 | NEED_AES=y | 
 | 97 | NEED_MD5=y | 
 | 98 | NEED_SHA1=y | 
 | 99 |  | 
 | 100 | OBJS += ../src/drivers/drivers.o | 
 | 101 | CFLAGS += -DHOSTAPD | 
 | 102 |  | 
| Dmitry Shmidt | aca489e | 2016-09-28 15:44:14 -0700 | [diff] [blame] | 103 | ifdef CONFIG_TAXONOMY | 
 | 104 | CFLAGS += -DCONFIG_TAXONOMY | 
 | 105 | OBJS += ../src/ap/taxonomy.o | 
 | 106 | endif | 
 | 107 |  | 
| Dmitry Shmidt | 7f93d6f | 2014-02-21 11:22:49 -0800 | [diff] [blame] | 108 | ifdef CONFIG_MODULE_TESTS | 
 | 109 | CFLAGS += -DCONFIG_MODULE_TESTS | 
 | 110 | OBJS += hapd_module_tests.o | 
 | 111 | endif | 
 | 112 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 113 | ifdef CONFIG_WPA_TRACE | 
 | 114 | CFLAGS += -DWPA_TRACE | 
 | 115 | OBJS += ../src/utils/trace.o | 
 | 116 | HOBJS += ../src/utils/trace.o | 
 | 117 | LDFLAGS += -rdynamic | 
 | 118 | CFLAGS += -funwind-tables | 
 | 119 | ifdef CONFIG_WPA_TRACE_BFD | 
| Dmitry Shmidt | ec58b16 | 2014-02-19 12:44:18 -0800 | [diff] [blame] | 120 | CFLAGS += -DPACKAGE="hostapd" -DWPA_TRACE_BFD | 
| Dmitry Shmidt | 13ca8d8 | 2014-02-20 10:18:40 -0800 | [diff] [blame] | 121 | LIBS += -lbfd -ldl -liberty -lz | 
 | 122 | LIBS_c += -lbfd -ldl -liberty -lz | 
 | 123 | LIBS_h += -lbfd -ldl -liberty -lz | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 124 | endif | 
 | 125 | endif | 
 | 126 |  | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 127 | ifndef CONFIG_ELOOP | 
 | 128 | CONFIG_ELOOP=eloop | 
 | 129 | endif | 
 | 130 | OBJS += ../src/utils/$(CONFIG_ELOOP).o | 
 | 131 | OBJS_c += ../src/utils/$(CONFIG_ELOOP).o | 
| Dmitry Shmidt | fa3fc4a | 2013-11-21 13:34:38 -0800 | [diff] [blame] | 132 |  | 
 | 133 | ifeq ($(CONFIG_ELOOP), eloop) | 
 | 134 | # Using glibc < 2.17 requires -lrt for clock_gettime() | 
 | 135 | LIBS += -lrt | 
 | 136 | LIBS_c += -lrt | 
 | 137 | LIBS_h += -lrt | 
| Dmitry Shmidt | bd14a57 | 2014-02-18 10:33:49 -0800 | [diff] [blame] | 138 | LIBS_n += -lrt | 
| Dmitry Shmidt | fa3fc4a | 2013-11-21 13:34:38 -0800 | [diff] [blame] | 139 | endif | 
 | 140 |  | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 141 | ifdef CONFIG_ELOOP_POLL | 
 | 142 | CFLAGS += -DCONFIG_ELOOP_POLL | 
 | 143 | endif | 
 | 144 |  | 
 | 145 | ifdef CONFIG_ELOOP_EPOLL | 
 | 146 | CFLAGS += -DCONFIG_ELOOP_EPOLL | 
 | 147 | endif | 
 | 148 |  | 
| Dmitry Shmidt | b97e428 | 2016-02-08 10:16:07 -0800 | [diff] [blame] | 149 | ifdef CONFIG_ELOOP_KQUEUE | 
 | 150 | CFLAGS += -DCONFIG_ELOOP_KQUEUE | 
 | 151 | endif | 
 | 152 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 153 | OBJS += ../src/utils/common.o | 
| Dmitry Shmidt | a3dc309 | 2015-06-23 11:21:28 -0700 | [diff] [blame] | 154 | OBJS_c += ../src/utils/common.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 155 | OBJS += ../src/utils/wpa_debug.o | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 156 | OBJS_c += ../src/utils/wpa_debug.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 157 | OBJS += ../src/utils/wpabuf.o | 
 | 158 | OBJS += ../src/utils/os_$(CONFIG_OS).o | 
 | 159 | OBJS += ../src/utils/ip_addr.o | 
 | 160 |  | 
 | 161 | OBJS += ../src/common/ieee802_11_common.o | 
 | 162 | OBJS += ../src/common/wpa_common.o | 
| Dmitry Shmidt | ff787d5 | 2015-01-12 13:01:47 -0800 | [diff] [blame] | 163 | OBJS += ../src/common/hw_features_common.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 164 |  | 
 | 165 | OBJS += ../src/eapol_auth/eapol_auth_sm.o | 
 | 166 |  | 
 | 167 |  | 
| Dmitry Shmidt | 01904cf | 2013-12-05 11:08:35 -0800 | [diff] [blame] | 168 | ifdef CONFIG_CODE_COVERAGE | 
 | 169 | CFLAGS += -O0 -fprofile-arcs -ftest-coverage | 
 | 170 | LIBS += -lgcov | 
 | 171 | LIBS_c += -lgcov | 
 | 172 | LIBS_h += -lgcov | 
 | 173 | LIBS_n += -lgcov | 
 | 174 | endif | 
 | 175 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 176 | ifndef CONFIG_NO_DUMP_STATE | 
| Dmitry Shmidt | fb79edc | 2014-01-10 10:45:54 -0800 | [diff] [blame] | 177 | # define HOSTAPD_DUMP_STATE to include support for dumping internal state | 
 | 178 | # through control interface commands (undefine it, if you want to save in | 
 | 179 | # binary size) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 180 | CFLAGS += -DHOSTAPD_DUMP_STATE | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 181 | OBJS += ../src/eapol_auth/eapol_auth_dump.o | 
 | 182 | endif | 
 | 183 |  | 
 | 184 | ifdef CONFIG_NO_RADIUS | 
 | 185 | CFLAGS += -DCONFIG_NO_RADIUS | 
 | 186 | CONFIG_NO_ACCOUNTING=y | 
 | 187 | else | 
 | 188 | OBJS += ../src/radius/radius.o | 
 | 189 | OBJS += ../src/radius/radius_client.o | 
| Dmitry Shmidt | 0494959 | 2012-07-19 12:16:46 -0700 | [diff] [blame] | 190 | OBJS += ../src/radius/radius_das.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 191 | endif | 
 | 192 |  | 
 | 193 | ifdef CONFIG_NO_ACCOUNTING | 
 | 194 | CFLAGS += -DCONFIG_NO_ACCOUNTING | 
 | 195 | else | 
 | 196 | OBJS += ../src/ap/accounting.o | 
 | 197 | endif | 
 | 198 |  | 
 | 199 | ifdef CONFIG_NO_VLAN | 
 | 200 | CFLAGS += -DCONFIG_NO_VLAN | 
 | 201 | else | 
 | 202 | OBJS += ../src/ap/vlan_init.o | 
| Dmitry Shmidt | e466304 | 2016-04-04 10:07:49 -0700 | [diff] [blame] | 203 | OBJS += ../src/ap/vlan_ifconfig.o | 
| Dmitry Shmidt | 57c2d39 | 2016-02-23 13:40:19 -0800 | [diff] [blame] | 204 | OBJS += ../src/ap/vlan.o | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 205 | ifdef CONFIG_FULL_DYNAMIC_VLAN | 
| Dmitry Shmidt | e466304 | 2016-04-04 10:07:49 -0700 | [diff] [blame] | 206 | # Define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges | 
 | 207 | # and VLAN interfaces for the VLAN feature. | 
 | 208 | CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN | 
 | 209 | OBJS += ../src/ap/vlan_full.o | 
 | 210 | ifdef CONFIG_VLAN_NETLINK | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 211 | OBJS += ../src/ap/vlan_util.o | 
| Dmitry Shmidt | e466304 | 2016-04-04 10:07:49 -0700 | [diff] [blame] | 212 | else | 
 | 213 | OBJS += ../src/ap/vlan_ioctl.o | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 214 | endif | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 215 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 216 | endif | 
 | 217 |  | 
 | 218 | ifdef CONFIG_NO_CTRL_IFACE | 
 | 219 | CFLAGS += -DCONFIG_NO_CTRL_IFACE | 
 | 220 | else | 
| Dmitry Shmidt | 31a29cc | 2016-03-09 15:58:17 -0800 | [diff] [blame] | 221 | ifeq ($(CONFIG_CTRL_IFACE), udp) | 
 | 222 | CFLAGS += -DCONFIG_CTRL_IFACE_UDP | 
 | 223 | else | 
 | 224 | ifeq ($(CONFIG_CTRL_IFACE), udp6) | 
 | 225 | CFLAGS += -DCONFIG_CTRL_IFACE_UDP | 
 | 226 | CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6 | 
 | 227 | else | 
 | 228 | ifeq ($(CONFIG_CTRL_IFACE), udp-remote) | 
 | 229 | CFLAGS += -DCONFIG_CTRL_IFACE_UDP | 
 | 230 | CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE | 
 | 231 | else | 
 | 232 | ifeq ($(CONFIG_CTRL_IFACE), udp6-remote) | 
 | 233 | CFLAGS += -DCONFIG_CTRL_IFACE_UDP | 
 | 234 | CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE | 
 | 235 | CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6 | 
 | 236 | else | 
 | 237 | CFLAGS += -DCONFIG_CTRL_IFACE_UNIX | 
 | 238 | endif | 
 | 239 | endif | 
 | 240 | endif | 
 | 241 | endif | 
 | 242 | OBJS += ../src/common/ctrl_iface_common.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 243 | OBJS += ctrl_iface.o | 
 | 244 | OBJS += ../src/ap/ctrl_iface_ap.o | 
 | 245 | endif | 
 | 246 |  | 
| Dmitry Shmidt | 31a29cc | 2016-03-09 15:58:17 -0800 | [diff] [blame] | 247 | ifndef CONFIG_NO_CTRL_IFACE | 
 | 248 | CFLAGS += -DCONFIG_CTRL_IFACE | 
 | 249 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 250 |  | 
 | 251 | ifdef CONFIG_IAPP | 
 | 252 | CFLAGS += -DCONFIG_IAPP | 
 | 253 | OBJS += ../src/ap/iapp.o | 
 | 254 | endif | 
 | 255 |  | 
 | 256 | ifdef CONFIG_RSN_PREAUTH | 
 | 257 | CFLAGS += -DCONFIG_RSN_PREAUTH | 
 | 258 | CONFIG_L2_PACKET=y | 
 | 259 | endif | 
 | 260 |  | 
| Dmitry Shmidt | f21452a | 2014-02-26 10:55:25 -0800 | [diff] [blame] | 261 | ifdef CONFIG_HS20 | 
 | 262 | NEED_AES_OMAC1=y | 
| Dmitry Shmidt | 6c0da2b | 2015-01-05 13:08:17 -0800 | [diff] [blame] | 263 | CONFIG_PROXYARP=y | 
 | 264 | endif | 
 | 265 |  | 
 | 266 | ifdef CONFIG_PROXYARP | 
 | 267 | CONFIG_L2_PACKET=y | 
 | 268 | endif | 
 | 269 |  | 
 | 270 | ifdef CONFIG_SUITEB | 
 | 271 | CFLAGS += -DCONFIG_SUITEB | 
 | 272 | NEED_SHA256=y | 
 | 273 | NEED_AES_OMAC1=y | 
| Dmitry Shmidt | f21452a | 2014-02-26 10:55:25 -0800 | [diff] [blame] | 274 | endif | 
 | 275 |  | 
| Dmitry Shmidt | 807291d | 2015-01-27 13:40:23 -0800 | [diff] [blame] | 276 | ifdef CONFIG_SUITEB192 | 
 | 277 | CFLAGS += -DCONFIG_SUITEB192 | 
 | 278 | NEED_SHA384=y | 
 | 279 | endif | 
 | 280 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 281 | ifdef CONFIG_IEEE80211W | 
 | 282 | CFLAGS += -DCONFIG_IEEE80211W | 
 | 283 | NEED_SHA256=y | 
 | 284 | NEED_AES_OMAC1=y | 
 | 285 | endif | 
 | 286 |  | 
 | 287 | ifdef CONFIG_IEEE80211R | 
| Dmitry Shmidt | 9839ecd | 2016-11-07 11:05:47 -0800 | [diff] [blame] | 288 | CFLAGS += -DCONFIG_IEEE80211R -DCONFIG_IEEE80211R_AP | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 289 | OBJS += ../src/ap/wpa_auth_ft.o | 
 | 290 | NEED_SHA256=y | 
 | 291 | NEED_AES_OMAC1=y | 
 | 292 | NEED_AES_UNWRAP=y | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 293 | NEED_AES_SIV=y | 
 | 294 | NEED_ETH_P_OUI=y | 
 | 295 | NEED_SHA256=y | 
 | 296 | NEED_HMAC_SHA256_KDF=y | 
 | 297 | endif | 
 | 298 |  | 
 | 299 | ifdef NEED_ETH_P_OUI | 
 | 300 | CFLAGS += -DCONFIG_ETH_P_OUI | 
 | 301 | OBJS += ../src/ap/eth_p_oui.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 302 | endif | 
 | 303 |  | 
| Dmitry Shmidt | d5e4923 | 2012-12-03 15:08:10 -0800 | [diff] [blame] | 304 | ifdef CONFIG_SAE | 
 | 305 | CFLAGS += -DCONFIG_SAE | 
| Dmitry Shmidt | a54fa5f | 2013-01-15 13:53:35 -0800 | [diff] [blame] | 306 | OBJS += ../src/common/sae.o | 
 | 307 | NEED_ECC=y | 
 | 308 | NEED_DH_GROUPS=y | 
| Dmitry Shmidt | 912c6ec | 2015-03-30 13:16:51 -0700 | [diff] [blame] | 309 | NEED_AP_MLME=y | 
| Dmitry Shmidt | d5e4923 | 2012-12-03 15:08:10 -0800 | [diff] [blame] | 310 | endif | 
 | 311 |  | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 312 | ifdef CONFIG_OWE | 
 | 313 | CFLAGS += -DCONFIG_OWE | 
 | 314 | NEED_ECC=y | 
 | 315 | NEED_HMAC_SHA256_KDF=y | 
 | 316 | NEED_HMAC_SHA384_KDF=y | 
 | 317 | NEED_HMAC_SHA512_KDF=y | 
 | 318 | NEED_SHA256=y | 
 | 319 | NEED_SHA384=y | 
 | 320 | NEED_SHA512=y | 
 | 321 | endif | 
 | 322 |  | 
| Dmitry Shmidt | 9839ecd | 2016-11-07 11:05:47 -0800 | [diff] [blame] | 323 | ifdef CONFIG_FILS | 
 | 324 | CFLAGS += -DCONFIG_FILS | 
| Dmitry Shmidt | ebd93af | 2017-02-21 13:40:44 -0800 | [diff] [blame] | 325 | OBJS += ../src/ap/fils_hlp.o | 
| Dmitry Shmidt | 9839ecd | 2016-11-07 11:05:47 -0800 | [diff] [blame] | 326 | NEED_SHA384=y | 
 | 327 | NEED_AES_SIV=y | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 328 | ifdef CONFIG_FILS_SK_PFS | 
 | 329 | CFLAGS += -DCONFIG_FILS_SK_PFS | 
 | 330 | NEED_ECC=y | 
 | 331 | endif | 
| Dmitry Shmidt | 9839ecd | 2016-11-07 11:05:47 -0800 | [diff] [blame] | 332 | endif | 
 | 333 |  | 
| Dmitry Shmidt | a54fa5f | 2013-01-15 13:53:35 -0800 | [diff] [blame] | 334 | ifdef CONFIG_WNM | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 335 | CFLAGS += -DCONFIG_WNM -DCONFIG_WNM_AP | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 336 | OBJS += ../src/ap/wnm_ap.o | 
 | 337 | endif | 
 | 338 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 339 | ifdef CONFIG_IEEE80211N | 
 | 340 | CFLAGS += -DCONFIG_IEEE80211N | 
 | 341 | endif | 
 | 342 |  | 
| Dmitry Shmidt | 0494959 | 2012-07-19 12:16:46 -0700 | [diff] [blame] | 343 | ifdef CONFIG_IEEE80211AC | 
 | 344 | CFLAGS += -DCONFIG_IEEE80211AC | 
 | 345 | endif | 
 | 346 |  | 
| Dmitry Shmidt | ebd93af | 2017-02-21 13:40:44 -0800 | [diff] [blame] | 347 | ifdef CONFIG_IEEE80211AX | 
 | 348 | CFLAGS += -DCONFIG_IEEE80211AX | 
 | 349 | OBJS += ../src/ap/ieee802_11_he.o | 
 | 350 | endif | 
 | 351 |  | 
| Dmitry Shmidt | 57c2d39 | 2016-02-23 13:40:19 -0800 | [diff] [blame] | 352 | ifdef CONFIG_MBO | 
 | 353 | CFLAGS += -DCONFIG_MBO | 
 | 354 | OBJS += ../src/ap/mbo_ap.o | 
 | 355 | endif | 
 | 356 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 357 | include ../src/drivers/drivers.mak | 
 | 358 | OBJS += $(DRV_AP_OBJS) | 
 | 359 | CFLAGS += $(DRV_AP_CFLAGS) | 
 | 360 | LDFLAGS += $(DRV_AP_LDFLAGS) | 
 | 361 | LIBS += $(DRV_AP_LIBS) | 
 | 362 |  | 
 | 363 | ifdef CONFIG_L2_PACKET | 
 | 364 | ifdef CONFIG_DNET_PCAP | 
 | 365 | ifdef CONFIG_L2_FREEBSD | 
 | 366 | LIBS += -lpcap | 
 | 367 | OBJS += ../src/l2_packet/l2_packet_freebsd.o | 
 | 368 | else | 
 | 369 | LIBS += -ldnet -lpcap | 
 | 370 | OBJS += ../src/l2_packet/l2_packet_pcap.o | 
 | 371 | endif | 
 | 372 | else | 
 | 373 | OBJS += ../src/l2_packet/l2_packet_linux.o | 
 | 374 | endif | 
 | 375 | else | 
 | 376 | OBJS += ../src/l2_packet/l2_packet_none.o | 
 | 377 | endif | 
 | 378 |  | 
 | 379 |  | 
| Dmitry Shmidt | 6c0da2b | 2015-01-05 13:08:17 -0800 | [diff] [blame] | 380 | ifdef CONFIG_ERP | 
 | 381 | CFLAGS += -DCONFIG_ERP | 
 | 382 | NEED_SHA256=y | 
 | 383 | NEED_HMAC_SHA256_KDF=y | 
 | 384 | endif | 
 | 385 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 386 | ifdef CONFIG_EAP_MD5 | 
 | 387 | CFLAGS += -DEAP_SERVER_MD5 | 
 | 388 | OBJS += ../src/eap_server/eap_server_md5.o | 
 | 389 | CHAP=y | 
 | 390 | endif | 
 | 391 |  | 
 | 392 | ifdef CONFIG_EAP_TLS | 
 | 393 | CFLAGS += -DEAP_SERVER_TLS | 
 | 394 | OBJS += ../src/eap_server/eap_server_tls.o | 
 | 395 | TLS_FUNCS=y | 
 | 396 | endif | 
 | 397 |  | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 398 | ifdef CONFIG_EAP_UNAUTH_TLS | 
 | 399 | CFLAGS += -DEAP_SERVER_UNAUTH_TLS | 
 | 400 | ifndef CONFIG_EAP_TLS | 
 | 401 | OBJS += ../src/eap_server/eap_server_tls.o | 
 | 402 | TLS_FUNCS=y | 
 | 403 | endif | 
 | 404 | endif | 
 | 405 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 406 | ifdef CONFIG_EAP_PEAP | 
 | 407 | CFLAGS += -DEAP_SERVER_PEAP | 
 | 408 | OBJS += ../src/eap_server/eap_server_peap.o | 
 | 409 | OBJS += ../src/eap_common/eap_peap_common.o | 
 | 410 | TLS_FUNCS=y | 
 | 411 | CONFIG_EAP_MSCHAPV2=y | 
 | 412 | endif | 
 | 413 |  | 
 | 414 | ifdef CONFIG_EAP_TTLS | 
 | 415 | CFLAGS += -DEAP_SERVER_TTLS | 
 | 416 | OBJS += ../src/eap_server/eap_server_ttls.o | 
 | 417 | TLS_FUNCS=y | 
 | 418 | CHAP=y | 
 | 419 | endif | 
 | 420 |  | 
 | 421 | ifdef CONFIG_EAP_MSCHAPV2 | 
 | 422 | CFLAGS += -DEAP_SERVER_MSCHAPV2 | 
 | 423 | OBJS += ../src/eap_server/eap_server_mschapv2.o | 
 | 424 | MS_FUNCS=y | 
 | 425 | endif | 
 | 426 |  | 
 | 427 | ifdef CONFIG_EAP_GTC | 
 | 428 | CFLAGS += -DEAP_SERVER_GTC | 
 | 429 | OBJS += ../src/eap_server/eap_server_gtc.o | 
 | 430 | endif | 
 | 431 |  | 
 | 432 | ifdef CONFIG_EAP_SIM | 
 | 433 | CFLAGS += -DEAP_SERVER_SIM | 
 | 434 | OBJS += ../src/eap_server/eap_server_sim.o | 
 | 435 | CONFIG_EAP_SIM_COMMON=y | 
 | 436 | NEED_AES_CBC=y | 
 | 437 | endif | 
 | 438 |  | 
 | 439 | ifdef CONFIG_EAP_AKA | 
 | 440 | CFLAGS += -DEAP_SERVER_AKA | 
 | 441 | OBJS += ../src/eap_server/eap_server_aka.o | 
 | 442 | CONFIG_EAP_SIM_COMMON=y | 
 | 443 | NEED_SHA256=y | 
 | 444 | NEED_AES_CBC=y | 
 | 445 | endif | 
 | 446 |  | 
 | 447 | ifdef CONFIG_EAP_AKA_PRIME | 
 | 448 | CFLAGS += -DEAP_SERVER_AKA_PRIME | 
 | 449 | endif | 
 | 450 |  | 
 | 451 | ifdef CONFIG_EAP_SIM_COMMON | 
 | 452 | OBJS += ../src/eap_common/eap_sim_common.o | 
 | 453 | # Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be | 
 | 454 | # replaced with another file implementating the interface specified in | 
 | 455 | # eap_sim_db.h. | 
 | 456 | OBJS += ../src/eap_server/eap_sim_db.o | 
 | 457 | NEED_FIPS186_2_PRF=y | 
 | 458 | endif | 
 | 459 |  | 
 | 460 | ifdef CONFIG_EAP_PAX | 
 | 461 | CFLAGS += -DEAP_SERVER_PAX | 
 | 462 | OBJS += ../src/eap_server/eap_server_pax.o ../src/eap_common/eap_pax_common.o | 
 | 463 | endif | 
 | 464 |  | 
 | 465 | ifdef CONFIG_EAP_PSK | 
 | 466 | CFLAGS += -DEAP_SERVER_PSK | 
 | 467 | OBJS += ../src/eap_server/eap_server_psk.o ../src/eap_common/eap_psk_common.o | 
 | 468 | NEED_AES_OMAC1=y | 
 | 469 | NEED_AES_ENCBLOCK=y | 
 | 470 | NEED_AES_EAX=y | 
 | 471 | endif | 
 | 472 |  | 
 | 473 | ifdef CONFIG_EAP_SAKE | 
 | 474 | CFLAGS += -DEAP_SERVER_SAKE | 
 | 475 | OBJS += ../src/eap_server/eap_server_sake.o ../src/eap_common/eap_sake_common.o | 
 | 476 | endif | 
 | 477 |  | 
 | 478 | ifdef CONFIG_EAP_GPSK | 
 | 479 | CFLAGS += -DEAP_SERVER_GPSK | 
 | 480 | OBJS += ../src/eap_server/eap_server_gpsk.o ../src/eap_common/eap_gpsk_common.o | 
 | 481 | ifdef CONFIG_EAP_GPSK_SHA256 | 
| Dmitry Shmidt | fb79edc | 2014-01-10 10:45:54 -0800 | [diff] [blame] | 482 | CFLAGS += -DEAP_GPSK_SHA256 | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 483 | endif | 
 | 484 | NEED_SHA256=y | 
 | 485 | NEED_AES_OMAC1=y | 
 | 486 | endif | 
 | 487 |  | 
 | 488 | ifdef CONFIG_EAP_PWD | 
 | 489 | CFLAGS += -DEAP_SERVER_PWD | 
 | 490 | OBJS += ../src/eap_server/eap_server_pwd.o ../src/eap_common/eap_pwd_common.o | 
 | 491 | NEED_SHA256=y | 
 | 492 | endif | 
 | 493 |  | 
| Dmitry Shmidt | 34af306 | 2013-07-11 10:46:32 -0700 | [diff] [blame] | 494 | ifdef CONFIG_EAP_EKE | 
 | 495 | CFLAGS += -DEAP_SERVER_EKE | 
 | 496 | OBJS += ../src/eap_server/eap_server_eke.o ../src/eap_common/eap_eke_common.o | 
 | 497 | NEED_DH_GROUPS=y | 
 | 498 | NEED_DH_GROUPS_ALL=y | 
 | 499 | endif | 
 | 500 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 501 | ifdef CONFIG_EAP_VENDOR_TEST | 
 | 502 | CFLAGS += -DEAP_SERVER_VENDOR_TEST | 
 | 503 | OBJS += ../src/eap_server/eap_server_vendor_test.o | 
 | 504 | endif | 
 | 505 |  | 
 | 506 | ifdef CONFIG_EAP_FAST | 
 | 507 | CFLAGS += -DEAP_SERVER_FAST | 
 | 508 | OBJS += ../src/eap_server/eap_server_fast.o | 
 | 509 | OBJS += ../src/eap_common/eap_fast_common.o | 
 | 510 | TLS_FUNCS=y | 
 | 511 | NEED_T_PRF=y | 
 | 512 | NEED_AES_UNWRAP=y | 
 | 513 | endif | 
 | 514 |  | 
 | 515 | ifdef CONFIG_WPS | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 516 | CFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC | 
 | 517 | OBJS += ../src/utils/uuid.o | 
 | 518 | OBJS += ../src/ap/wps_hostapd.o | 
 | 519 | OBJS += ../src/eap_server/eap_server_wsc.o ../src/eap_common/eap_wsc_common.o | 
 | 520 | OBJS += ../src/wps/wps.o | 
 | 521 | OBJS += ../src/wps/wps_common.o | 
 | 522 | OBJS += ../src/wps/wps_attr_parse.o | 
 | 523 | OBJS += ../src/wps/wps_attr_build.o | 
 | 524 | OBJS += ../src/wps/wps_attr_process.o | 
 | 525 | OBJS += ../src/wps/wps_dev_attr.o | 
 | 526 | OBJS += ../src/wps/wps_enrollee.o | 
 | 527 | OBJS += ../src/wps/wps_registrar.o | 
 | 528 | NEED_DH_GROUPS=y | 
 | 529 | NEED_SHA256=y | 
 | 530 | NEED_BASE64=y | 
 | 531 | NEED_AES_CBC=y | 
 | 532 | NEED_MODEXP=y | 
 | 533 | CONFIG_EAP=y | 
 | 534 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 535 | ifdef CONFIG_WPS_NFC | 
 | 536 | CFLAGS += -DCONFIG_WPS_NFC | 
 | 537 | OBJS += ../src/wps/ndef.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 538 | NEED_WPS_OOB=y | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 539 | endif | 
 | 540 |  | 
 | 541 | ifdef NEED_WPS_OOB | 
 | 542 | CFLAGS += -DCONFIG_WPS_OOB | 
 | 543 | endif | 
 | 544 |  | 
 | 545 | ifdef CONFIG_WPS_UPNP | 
 | 546 | CFLAGS += -DCONFIG_WPS_UPNP | 
 | 547 | OBJS += ../src/wps/wps_upnp.o | 
 | 548 | OBJS += ../src/wps/wps_upnp_ssdp.o | 
 | 549 | OBJS += ../src/wps/wps_upnp_web.o | 
 | 550 | OBJS += ../src/wps/wps_upnp_event.o | 
 | 551 | OBJS += ../src/wps/wps_upnp_ap.o | 
 | 552 | OBJS += ../src/wps/upnp_xml.o | 
 | 553 | OBJS += ../src/wps/httpread.o | 
 | 554 | OBJS += ../src/wps/http_client.o | 
 | 555 | OBJS += ../src/wps/http_server.o | 
 | 556 | endif | 
 | 557 |  | 
 | 558 | ifdef CONFIG_WPS_STRICT | 
 | 559 | CFLAGS += -DCONFIG_WPS_STRICT | 
 | 560 | OBJS += ../src/wps/wps_validate.o | 
 | 561 | endif | 
 | 562 |  | 
 | 563 | ifdef CONFIG_WPS_TESTING | 
 | 564 | CFLAGS += -DCONFIG_WPS_TESTING | 
 | 565 | endif | 
 | 566 |  | 
 | 567 | endif | 
 | 568 |  | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 569 | ifdef CONFIG_DPP | 
 | 570 | CFLAGS += -DCONFIG_DPP | 
 | 571 | OBJS += ../src/common/dpp.o | 
 | 572 | OBJS += ../src/ap/dpp_hostapd.o | 
 | 573 | OBJS += ../src/ap/gas_query_ap.o | 
 | 574 | NEED_AES_SIV=y | 
 | 575 | NEED_HMAC_SHA256_KDF=y | 
 | 576 | NEED_HMAC_SHA384_KDF=y | 
 | 577 | NEED_HMAC_SHA512_KDF=y | 
 | 578 | NEED_SHA256=y | 
 | 579 | NEED_SHA384=y | 
 | 580 | NEED_SHA512=y | 
 | 581 | NEED_JSON=y | 
 | 582 | NEED_GAS=y | 
 | 583 | NEED_BASE64=y | 
 | 584 | endif | 
 | 585 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 586 | ifdef CONFIG_EAP_IKEV2 | 
 | 587 | CFLAGS += -DEAP_SERVER_IKEV2 | 
 | 588 | OBJS += ../src/eap_server/eap_server_ikev2.o ../src/eap_server/ikev2.o | 
 | 589 | OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o | 
 | 590 | NEED_DH_GROUPS=y | 
 | 591 | NEED_DH_GROUPS_ALL=y | 
 | 592 | NEED_MODEXP=y | 
 | 593 | NEED_CIPHER=y | 
 | 594 | endif | 
 | 595 |  | 
 | 596 | ifdef CONFIG_EAP_TNC | 
 | 597 | CFLAGS += -DEAP_SERVER_TNC | 
 | 598 | OBJS += ../src/eap_server/eap_server_tnc.o | 
 | 599 | OBJS += ../src/eap_server/tncs.o | 
 | 600 | NEED_BASE64=y | 
 | 601 | ifndef CONFIG_DRIVER_BSD | 
 | 602 | LIBS += -ldl | 
 | 603 | endif | 
 | 604 | endif | 
 | 605 |  | 
 | 606 | # Basic EAP functionality is needed for EAPOL | 
 | 607 | OBJS += eap_register.o | 
 | 608 | OBJS += ../src/eap_server/eap_server.o | 
 | 609 | OBJS += ../src/eap_common/eap_common.o | 
 | 610 | OBJS += ../src/eap_server/eap_server_methods.o | 
 | 611 | OBJS += ../src/eap_server/eap_server_identity.o | 
 | 612 | CFLAGS += -DEAP_SERVER_IDENTITY | 
 | 613 |  | 
 | 614 | ifdef CONFIG_EAP | 
 | 615 | CFLAGS += -DEAP_SERVER | 
 | 616 | endif | 
 | 617 |  | 
 | 618 | ifdef CONFIG_PKCS12 | 
 | 619 | CFLAGS += -DPKCS12_FUNCS | 
 | 620 | endif | 
 | 621 |  | 
 | 622 | ifdef MS_FUNCS | 
 | 623 | OBJS += ../src/crypto/ms_funcs.o | 
 | 624 | NEED_DES=y | 
 | 625 | NEED_MD4=y | 
 | 626 | endif | 
 | 627 |  | 
 | 628 | ifdef CHAP | 
 | 629 | OBJS += ../src/eap_common/chap.o | 
 | 630 | endif | 
 | 631 |  | 
 | 632 | ifdef TLS_FUNCS | 
 | 633 | NEED_DES=y | 
 | 634 | # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS) | 
 | 635 | CFLAGS += -DEAP_TLS_FUNCS | 
 | 636 | OBJS += ../src/eap_server/eap_server_tls_common.o | 
 | 637 | NEED_TLS_PRF=y | 
 | 638 | endif | 
 | 639 |  | 
 | 640 | ifndef CONFIG_TLS | 
 | 641 | CONFIG_TLS=openssl | 
 | 642 | endif | 
 | 643 |  | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 644 | ifdef CONFIG_TLSV11 | 
 | 645 | CFLAGS += -DCONFIG_TLSV11 | 
 | 646 | endif | 
 | 647 |  | 
 | 648 | ifdef CONFIG_TLSV12 | 
 | 649 | CFLAGS += -DCONFIG_TLSV12 | 
 | 650 | NEED_SHA256=y | 
 | 651 | endif | 
 | 652 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 653 | ifeq ($(CONFIG_TLS), openssl) | 
 | 654 | ifdef TLS_FUNCS | 
 | 655 | OBJS += ../src/crypto/tls_openssl.o | 
| Dmitry Shmidt | d7ff03d | 2015-12-04 14:49:35 -0800 | [diff] [blame] | 656 | OBJS += ../src/crypto/tls_openssl_ocsp.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 657 | LIBS += -lssl | 
 | 658 | endif | 
 | 659 | OBJS += ../src/crypto/crypto_openssl.o | 
 | 660 | HOBJS += ../src/crypto/crypto_openssl.o | 
 | 661 | ifdef NEED_FIPS186_2_PRF | 
 | 662 | OBJS += ../src/crypto/fips_prf_openssl.o | 
 | 663 | endif | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 664 | NEED_SHA256=y | 
 | 665 | NEED_TLS_PRF_SHA256=y | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 666 | LIBS += -lcrypto | 
 | 667 | LIBS_h += -lcrypto | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 668 | ifdef CONFIG_TLS_ADD_DL | 
 | 669 | LIBS += -ldl | 
 | 670 | LIBS_h += -ldl | 
 | 671 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 672 | ifndef CONFIG_TLS_DEFAULT_CIPHERS | 
 | 673 | CONFIG_TLS_DEFAULT_CIPHERS = "DEFAULT:!EXP:!LOW" | 
 | 674 | endif | 
 | 675 | CFLAGS += -DTLS_DEFAULT_CIPHERS=\"$(CONFIG_TLS_DEFAULT_CIPHERS)\" | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 676 | endif | 
 | 677 |  | 
 | 678 | ifeq ($(CONFIG_TLS), gnutls) | 
 | 679 | ifdef TLS_FUNCS | 
 | 680 | OBJS += ../src/crypto/tls_gnutls.o | 
 | 681 | LIBS += -lgnutls -lgpg-error | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 682 | endif | 
 | 683 | OBJS += ../src/crypto/crypto_gnutls.o | 
 | 684 | HOBJS += ../src/crypto/crypto_gnutls.o | 
 | 685 | ifdef NEED_FIPS186_2_PRF | 
| Dmitry Shmidt | 9866086 | 2014-03-11 17:26:21 -0700 | [diff] [blame] | 686 | OBJS += ../src/crypto/fips_prf_internal.o | 
 | 687 | SHA1OBJS += ../src/crypto/sha1-internal.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 688 | endif | 
 | 689 | LIBS += -lgcrypt | 
 | 690 | LIBS_h += -lgcrypt | 
 | 691 | CONFIG_INTERNAL_SHA256=y | 
 | 692 | CONFIG_INTERNAL_RC4=y | 
 | 693 | CONFIG_INTERNAL_DH_GROUP5=y | 
 | 694 | endif | 
 | 695 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 696 | ifeq ($(CONFIG_TLS), internal) | 
 | 697 | ifndef CONFIG_CRYPTO | 
 | 698 | CONFIG_CRYPTO=internal | 
 | 699 | endif | 
 | 700 | ifdef TLS_FUNCS | 
 | 701 | OBJS += ../src/crypto/crypto_internal-rsa.o | 
 | 702 | OBJS += ../src/crypto/tls_internal.o | 
 | 703 | OBJS += ../src/tls/tlsv1_common.o | 
 | 704 | OBJS += ../src/tls/tlsv1_record.o | 
 | 705 | OBJS += ../src/tls/tlsv1_cred.o | 
 | 706 | OBJS += ../src/tls/tlsv1_server.o | 
 | 707 | OBJS += ../src/tls/tlsv1_server_write.o | 
 | 708 | OBJS += ../src/tls/tlsv1_server_read.o | 
 | 709 | OBJS += ../src/tls/asn1.o | 
 | 710 | OBJS += ../src/tls/rsa.o | 
 | 711 | OBJS += ../src/tls/x509v3.o | 
 | 712 | OBJS += ../src/tls/pkcs1.o | 
 | 713 | OBJS += ../src/tls/pkcs5.o | 
 | 714 | OBJS += ../src/tls/pkcs8.o | 
 | 715 | NEED_SHA256=y | 
 | 716 | NEED_BASE64=y | 
 | 717 | NEED_TLS_PRF=y | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 718 | ifdef CONFIG_TLSV12 | 
 | 719 | NEED_TLS_PRF_SHA256=y | 
 | 720 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 721 | NEED_MODEXP=y | 
 | 722 | NEED_CIPHER=y | 
 | 723 | CFLAGS += -DCONFIG_TLS_INTERNAL | 
 | 724 | CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER | 
 | 725 | endif | 
 | 726 | ifdef NEED_CIPHER | 
 | 727 | NEED_DES=y | 
 | 728 | OBJS += ../src/crypto/crypto_internal-cipher.o | 
 | 729 | endif | 
 | 730 | ifdef NEED_MODEXP | 
 | 731 | OBJS += ../src/crypto/crypto_internal-modexp.o | 
 | 732 | OBJS += ../src/tls/bignum.o | 
 | 733 | endif | 
 | 734 | ifeq ($(CONFIG_CRYPTO), libtomcrypt) | 
 | 735 | OBJS += ../src/crypto/crypto_libtomcrypt.o | 
 | 736 | LIBS += -ltomcrypt -ltfm | 
 | 737 | LIBS_h += -ltomcrypt -ltfm | 
 | 738 | CONFIG_INTERNAL_SHA256=y | 
 | 739 | CONFIG_INTERNAL_RC4=y | 
 | 740 | CONFIG_INTERNAL_DH_GROUP5=y | 
 | 741 | endif | 
 | 742 | ifeq ($(CONFIG_CRYPTO), internal) | 
 | 743 | OBJS += ../src/crypto/crypto_internal.o | 
 | 744 | NEED_AES_DEC=y | 
 | 745 | CFLAGS += -DCONFIG_CRYPTO_INTERNAL | 
 | 746 | ifdef CONFIG_INTERNAL_LIBTOMMATH | 
 | 747 | CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH | 
 | 748 | ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST | 
 | 749 | CFLAGS += -DLTM_FAST | 
 | 750 | endif | 
 | 751 | else | 
 | 752 | LIBS += -ltommath | 
 | 753 | LIBS_h += -ltommath | 
 | 754 | endif | 
 | 755 | CONFIG_INTERNAL_AES=y | 
 | 756 | CONFIG_INTERNAL_DES=y | 
 | 757 | CONFIG_INTERNAL_SHA1=y | 
 | 758 | CONFIG_INTERNAL_MD4=y | 
 | 759 | CONFIG_INTERNAL_MD5=y | 
 | 760 | CONFIG_INTERNAL_SHA256=y | 
| Dmitry Shmidt | d7ff03d | 2015-12-04 14:49:35 -0800 | [diff] [blame] | 761 | CONFIG_INTERNAL_SHA384=y | 
 | 762 | CONFIG_INTERNAL_SHA512=y | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 763 | CONFIG_INTERNAL_RC4=y | 
 | 764 | CONFIG_INTERNAL_DH_GROUP5=y | 
 | 765 | endif | 
 | 766 | ifeq ($(CONFIG_CRYPTO), cryptoapi) | 
 | 767 | OBJS += ../src/crypto/crypto_cryptoapi.o | 
 | 768 | OBJS_p += ../src/crypto/crypto_cryptoapi.o | 
 | 769 | CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI | 
 | 770 | CONFIG_INTERNAL_SHA256=y | 
 | 771 | CONFIG_INTERNAL_RC4=y | 
 | 772 | endif | 
 | 773 | endif | 
 | 774 |  | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 775 | ifeq ($(CONFIG_TLS), linux) | 
 | 776 | OBJS += ../src/crypto/crypto_linux.o | 
 | 777 | ifdef TLS_FUNCS | 
 | 778 | OBJS += ../src/crypto/crypto_internal-rsa.o | 
 | 779 | OBJS += ../src/crypto/tls_internal.o | 
 | 780 | OBJS += ../src/tls/tlsv1_common.o | 
 | 781 | OBJS += ../src/tls/tlsv1_record.o | 
 | 782 | OBJS += ../src/tls/tlsv1_cred.o | 
 | 783 | OBJS += ../src/tls/tlsv1_server.o | 
 | 784 | OBJS += ../src/tls/tlsv1_server_write.o | 
 | 785 | OBJS += ../src/tls/tlsv1_server_read.o | 
 | 786 | OBJS += ../src/tls/asn1.o | 
 | 787 | OBJS += ../src/tls/rsa.o | 
 | 788 | OBJS += ../src/tls/x509v3.o | 
 | 789 | OBJS += ../src/tls/pkcs1.o | 
 | 790 | OBJS += ../src/tls/pkcs5.o | 
 | 791 | OBJS += ../src/tls/pkcs8.o | 
 | 792 | NEED_SHA256=y | 
 | 793 | NEED_BASE64=y | 
 | 794 | NEED_TLS_PRF=y | 
 | 795 | ifdef CONFIG_TLSV12 | 
 | 796 | NEED_TLS_PRF_SHA256=y | 
 | 797 | endif | 
 | 798 | NEED_MODEXP=y | 
 | 799 | NEED_CIPHER=y | 
 | 800 | CFLAGS += -DCONFIG_TLS_INTERNAL | 
 | 801 | CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER | 
 | 802 | endif | 
 | 803 | ifdef NEED_MODEXP | 
 | 804 | OBJS += ../src/crypto/crypto_internal-modexp.o | 
 | 805 | OBJS += ../src/tls/bignum.o | 
 | 806 | CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH | 
 | 807 | CFLAGS += -DLTM_FAST | 
 | 808 | endif | 
 | 809 | CONFIG_INTERNAL_DH_GROUP5=y | 
 | 810 | ifdef NEED_FIPS186_2_PRF | 
 | 811 | OBJS += ../src/crypto/fips_prf_internal.o | 
 | 812 | OBJS += ../src/crypto/sha1-internal.o | 
 | 813 | endif | 
 | 814 | endif | 
 | 815 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 816 | ifeq ($(CONFIG_TLS), none) | 
 | 817 | ifdef TLS_FUNCS | 
 | 818 | OBJS += ../src/crypto/tls_none.o | 
 | 819 | CFLAGS += -DEAP_TLS_NONE | 
 | 820 | CONFIG_INTERNAL_AES=y | 
 | 821 | CONFIG_INTERNAL_SHA1=y | 
 | 822 | CONFIG_INTERNAL_MD5=y | 
 | 823 | endif | 
 | 824 | OBJS += ../src/crypto/crypto_none.o | 
 | 825 | OBJS_p += ../src/crypto/crypto_none.o | 
 | 826 | CONFIG_INTERNAL_SHA256=y | 
 | 827 | CONFIG_INTERNAL_RC4=y | 
 | 828 | endif | 
 | 829 |  | 
 | 830 | ifndef TLS_FUNCS | 
 | 831 | OBJS += ../src/crypto/tls_none.o | 
 | 832 | ifeq ($(CONFIG_TLS), internal) | 
 | 833 | CONFIG_INTERNAL_AES=y | 
 | 834 | CONFIG_INTERNAL_SHA1=y | 
 | 835 | CONFIG_INTERNAL_MD5=y | 
 | 836 | CONFIG_INTERNAL_RC4=y | 
 | 837 | endif | 
 | 838 | endif | 
 | 839 |  | 
 | 840 | AESOBJS = # none so far | 
 | 841 | ifdef CONFIG_INTERNAL_AES | 
 | 842 | AESOBJS += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-enc.o | 
 | 843 | endif | 
 | 844 |  | 
| Dmitry Shmidt | 216983b | 2015-02-06 10:50:36 -0800 | [diff] [blame] | 845 | ifneq ($(CONFIG_TLS), openssl) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 846 | AESOBJS += ../src/crypto/aes-wrap.o | 
| Dmitry Shmidt | 216983b | 2015-02-06 10:50:36 -0800 | [diff] [blame] | 847 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 848 | ifdef NEED_AES_EAX | 
 | 849 | AESOBJS += ../src/crypto/aes-eax.o | 
 | 850 | NEED_AES_CTR=y | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 851 | NEED_AES_OMAC1=y | 
 | 852 | endif | 
 | 853 | ifdef NEED_AES_SIV | 
 | 854 | AESOBJS += ../src/crypto/aes-siv.o | 
 | 855 | NEED_AES_CTR=y | 
 | 856 | NEED_AES_OMAC1=y | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 857 | endif | 
 | 858 | ifdef NEED_AES_CTR | 
 | 859 | AESOBJS += ../src/crypto/aes-ctr.o | 
 | 860 | endif | 
 | 861 | ifdef NEED_AES_ENCBLOCK | 
 | 862 | AESOBJS += ../src/crypto/aes-encblock.o | 
 | 863 | endif | 
 | 864 | ifdef NEED_AES_OMAC1 | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 865 | ifneq ($(CONFIG_TLS), linux) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 866 | AESOBJS += ../src/crypto/aes-omac1.o | 
 | 867 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 868 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 869 | ifdef NEED_AES_UNWRAP | 
| Dmitry Shmidt | 216983b | 2015-02-06 10:50:36 -0800 | [diff] [blame] | 870 | ifneq ($(CONFIG_TLS), openssl) | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 871 | ifneq ($(CONFIG_TLS), linux) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 872 | NEED_AES_DEC=y | 
 | 873 | AESOBJS += ../src/crypto/aes-unwrap.o | 
 | 874 | endif | 
| Dmitry Shmidt | 216983b | 2015-02-06 10:50:36 -0800 | [diff] [blame] | 875 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 876 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 877 | ifdef NEED_AES_CBC | 
 | 878 | NEED_AES_DEC=y | 
| Dmitry Shmidt | 912c6ec | 2015-03-30 13:16:51 -0700 | [diff] [blame] | 879 | ifneq ($(CONFIG_TLS), openssl) | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 880 | ifneq ($(CONFIG_TLS), linux) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 881 | AESOBJS += ../src/crypto/aes-cbc.o | 
 | 882 | endif | 
| Dmitry Shmidt | 912c6ec | 2015-03-30 13:16:51 -0700 | [diff] [blame] | 883 | endif | 
| Dmitry Shmidt | 9839ecd | 2016-11-07 11:05:47 -0800 | [diff] [blame] | 884 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 885 | ifdef NEED_AES_DEC | 
 | 886 | ifdef CONFIG_INTERNAL_AES | 
 | 887 | AESOBJS += ../src/crypto/aes-internal-dec.o | 
 | 888 | endif | 
 | 889 | endif | 
 | 890 | ifdef NEED_AES | 
 | 891 | OBJS += $(AESOBJS) | 
 | 892 | endif | 
 | 893 |  | 
 | 894 | ifdef NEED_SHA1 | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 895 | ifneq ($(CONFIG_TLS), openssl) | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 896 | ifneq ($(CONFIG_TLS), linux) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 897 | SHA1OBJS += ../src/crypto/sha1.o | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 898 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 899 | endif | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 900 | SHA1OBJS += ../src/crypto/sha1-prf.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 901 | ifdef CONFIG_INTERNAL_SHA1 | 
 | 902 | SHA1OBJS += ../src/crypto/sha1-internal.o | 
 | 903 | ifdef NEED_FIPS186_2_PRF | 
 | 904 | SHA1OBJS += ../src/crypto/fips_prf_internal.o | 
 | 905 | endif | 
 | 906 | endif | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 907 | ifneq ($(CONFIG_TLS), openssl) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 908 | SHA1OBJS += ../src/crypto/sha1-pbkdf2.o | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 909 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 910 | ifdef NEED_T_PRF | 
 | 911 | SHA1OBJS += ../src/crypto/sha1-tprf.o | 
 | 912 | endif | 
 | 913 | ifdef NEED_TLS_PRF | 
 | 914 | SHA1OBJS += ../src/crypto/sha1-tlsprf.o | 
 | 915 | endif | 
 | 916 | endif | 
 | 917 |  | 
 | 918 | ifdef NEED_SHA1 | 
 | 919 | OBJS += $(SHA1OBJS) | 
 | 920 | endif | 
 | 921 |  | 
| Dmitry Shmidt | 216983b | 2015-02-06 10:50:36 -0800 | [diff] [blame] | 922 | ifneq ($(CONFIG_TLS), openssl) | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 923 | ifneq ($(CONFIG_TLS), linux) | 
| Dmitry Shmidt | 216983b | 2015-02-06 10:50:36 -0800 | [diff] [blame] | 924 | OBJS += ../src/crypto/md5.o | 
 | 925 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 926 | endif | 
| Dmitry Shmidt | 216983b | 2015-02-06 10:50:36 -0800 | [diff] [blame] | 927 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 928 | ifdef NEED_MD5 | 
 | 929 | ifdef CONFIG_INTERNAL_MD5 | 
 | 930 | OBJS += ../src/crypto/md5-internal.o | 
 | 931 | HOBJS += ../src/crypto/md5-internal.o | 
 | 932 | endif | 
 | 933 | endif | 
 | 934 |  | 
 | 935 | ifdef NEED_MD4 | 
 | 936 | ifdef CONFIG_INTERNAL_MD4 | 
 | 937 | OBJS += ../src/crypto/md4-internal.o | 
 | 938 | endif | 
 | 939 | endif | 
 | 940 |  | 
 | 941 | ifdef NEED_DES | 
 | 942 | ifdef CONFIG_INTERNAL_DES | 
 | 943 | OBJS += ../src/crypto/des-internal.o | 
 | 944 | endif | 
 | 945 | endif | 
 | 946 |  | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 947 | ifdef CONFIG_NO_RC4 | 
 | 948 | CFLAGS += -DCONFIG_NO_RC4 | 
 | 949 | endif | 
 | 950 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 951 | ifdef NEED_RC4 | 
 | 952 | ifdef CONFIG_INTERNAL_RC4 | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 953 | ifndef CONFIG_NO_RC4 | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 954 | OBJS += ../src/crypto/rc4.o | 
 | 955 | endif | 
 | 956 | endif | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 957 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 958 |  | 
 | 959 | ifdef NEED_SHA256 | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 960 | CFLAGS += -DCONFIG_SHA256 | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 961 | ifneq ($(CONFIG_TLS), openssl) | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 962 | ifneq ($(CONFIG_TLS), linux) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 963 | OBJS += ../src/crypto/sha256.o | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 964 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 965 | endif | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 966 | OBJS += ../src/crypto/sha256-prf.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 967 | ifdef CONFIG_INTERNAL_SHA256 | 
 | 968 | OBJS += ../src/crypto/sha256-internal.o | 
 | 969 | endif | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 970 | ifdef NEED_TLS_PRF_SHA256 | 
 | 971 | OBJS += ../src/crypto/sha256-tlsprf.o | 
 | 972 | endif | 
| Dmitry Shmidt | 6c0da2b | 2015-01-05 13:08:17 -0800 | [diff] [blame] | 973 | ifdef NEED_HMAC_SHA256_KDF | 
 | 974 | OBJS += ../src/crypto/sha256-kdf.o | 
 | 975 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 976 | ifdef NEED_HMAC_SHA384_KDF | 
 | 977 | OBJS += ../src/crypto/sha384-kdf.o | 
 | 978 | endif | 
 | 979 | ifdef NEED_HMAC_SHA512_KDF | 
 | 980 | OBJS += ../src/crypto/sha512-kdf.o | 
 | 981 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 982 | endif | 
| Dmitry Shmidt | 807291d | 2015-01-27 13:40:23 -0800 | [diff] [blame] | 983 | ifdef NEED_SHA384 | 
 | 984 | CFLAGS += -DCONFIG_SHA384 | 
| Dmitry Shmidt | ebd93af | 2017-02-21 13:40:44 -0800 | [diff] [blame] | 985 | ifneq ($(CONFIG_TLS), openssl) | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 986 | ifneq ($(CONFIG_TLS), linux) | 
| Dmitry Shmidt | ebd93af | 2017-02-21 13:40:44 -0800 | [diff] [blame] | 987 | OBJS += ../src/crypto/sha384.o | 
 | 988 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 989 | endif | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 990 | OBJS += ../src/crypto/sha384-prf.o | 
| Dmitry Shmidt | 807291d | 2015-01-27 13:40:23 -0800 | [diff] [blame] | 991 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 992 | ifdef NEED_SHA512 | 
 | 993 | CFLAGS += -DCONFIG_SHA512 | 
 | 994 | ifneq ($(CONFIG_TLS), openssl) | 
 | 995 | ifneq ($(CONFIG_TLS), linux) | 
 | 996 | OBJS += ../src/crypto/sha512.o | 
 | 997 | endif | 
 | 998 | endif | 
 | 999 | OBJS += ../src/crypto/sha512-prf.o | 
 | 1000 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1001 |  | 
| Dmitry Shmidt | d7ff03d | 2015-12-04 14:49:35 -0800 | [diff] [blame] | 1002 | ifdef CONFIG_INTERNAL_SHA384 | 
 | 1003 | CFLAGS += -DCONFIG_INTERNAL_SHA384 | 
 | 1004 | OBJS += ../src/crypto/sha384-internal.o | 
 | 1005 | endif | 
 | 1006 |  | 
 | 1007 | ifdef CONFIG_INTERNAL_SHA512 | 
 | 1008 | CFLAGS += -DCONFIG_INTERNAL_SHA512 | 
 | 1009 | OBJS += ../src/crypto/sha512-internal.o | 
 | 1010 | endif | 
 | 1011 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1012 | ifdef NEED_DH_GROUPS | 
 | 1013 | OBJS += ../src/crypto/dh_groups.o | 
 | 1014 | endif | 
 | 1015 | ifdef NEED_DH_GROUPS_ALL | 
 | 1016 | CFLAGS += -DALL_DH_GROUPS | 
 | 1017 | endif | 
 | 1018 | ifdef CONFIG_INTERNAL_DH_GROUP5 | 
 | 1019 | ifdef NEED_DH_GROUPS | 
 | 1020 | OBJS += ../src/crypto/dh_group5.o | 
 | 1021 | endif | 
 | 1022 | endif | 
 | 1023 |  | 
| Dmitry Shmidt | a54fa5f | 2013-01-15 13:53:35 -0800 | [diff] [blame] | 1024 | ifdef NEED_ECC | 
 | 1025 | CFLAGS += -DCONFIG_ECC | 
 | 1026 | endif | 
 | 1027 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1028 | ifdef CONFIG_NO_RANDOM_POOL | 
 | 1029 | CFLAGS += -DCONFIG_NO_RANDOM_POOL | 
 | 1030 | else | 
 | 1031 | OBJS += ../src/crypto/random.o | 
 | 1032 | HOBJS += ../src/crypto/random.o | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 1033 | HOBJS += ../src/utils/eloop.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1034 | HOBJS += $(SHA1OBJS) | 
| Dmitry Shmidt | dda10c2 | 2015-03-24 16:05:01 -0700 | [diff] [blame] | 1035 | ifneq ($(CONFIG_TLS), openssl) | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 1036 | ifneq ($(CONFIG_TLS), linux) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1037 | HOBJS += ../src/crypto/md5.o | 
 | 1038 | endif | 
| Dmitry Shmidt | dda10c2 | 2015-03-24 16:05:01 -0700 | [diff] [blame] | 1039 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 1040 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1041 |  | 
 | 1042 | ifdef CONFIG_RADIUS_SERVER | 
 | 1043 | CFLAGS += -DRADIUS_SERVER | 
 | 1044 | OBJS += ../src/radius/radius_server.o | 
 | 1045 | endif | 
 | 1046 |  | 
 | 1047 | ifdef CONFIG_IPV6 | 
 | 1048 | CFLAGS += -DCONFIG_IPV6 | 
 | 1049 | endif | 
 | 1050 |  | 
 | 1051 | ifdef CONFIG_DRIVER_RADIUS_ACL | 
 | 1052 | CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL | 
 | 1053 | endif | 
 | 1054 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1055 | ifdef NEED_BASE64 | 
 | 1056 | OBJS += ../src/utils/base64.o | 
 | 1057 | endif | 
 | 1058 |  | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 1059 | ifdef NEED_JSON | 
 | 1060 | OBJS += ../src/utils/json.o | 
 | 1061 | CFLAGS += -DCONFIG_JSON | 
 | 1062 | endif | 
 | 1063 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1064 | ifdef NEED_AP_MLME | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1065 | OBJS += ../src/ap/wmm.o | 
 | 1066 | OBJS += ../src/ap/ap_list.o | 
 | 1067 | OBJS += ../src/ap/ieee802_11.o | 
 | 1068 | OBJS += ../src/ap/hw_features.o | 
| Dmitry Shmidt | 051af73 | 2013-10-22 13:52:46 -0700 | [diff] [blame] | 1069 | OBJS += ../src/ap/dfs.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1070 | CFLAGS += -DNEED_AP_MLME | 
 | 1071 | endif | 
 | 1072 | ifdef CONFIG_IEEE80211N | 
 | 1073 | OBJS += ../src/ap/ieee802_11_ht.o | 
 | 1074 | endif | 
 | 1075 |  | 
| Dmitry Shmidt | 0494959 | 2012-07-19 12:16:46 -0700 | [diff] [blame] | 1076 | ifdef CONFIG_IEEE80211AC | 
 | 1077 | OBJS += ../src/ap/ieee802_11_vht.o | 
 | 1078 | endif | 
 | 1079 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1080 | ifdef CONFIG_P2P_MANAGER | 
 | 1081 | CFLAGS += -DCONFIG_P2P_MANAGER | 
 | 1082 | OBJS += ../src/ap/p2p_hostapd.o | 
 | 1083 | endif | 
 | 1084 |  | 
| Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 1085 | ifdef CONFIG_HS20 | 
 | 1086 | CFLAGS += -DCONFIG_HS20 | 
 | 1087 | OBJS += ../src/ap/hs20.o | 
 | 1088 | CONFIG_INTERWORKING=y | 
 | 1089 | endif | 
 | 1090 |  | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 1091 | ifdef CONFIG_INTERWORKING | 
 | 1092 | CFLAGS += -DCONFIG_INTERWORKING | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 1093 | NEED_GAS=y | 
 | 1094 | endif | 
 | 1095 |  | 
 | 1096 | ifdef NEED_GAS | 
| Dmitry Shmidt | 0494959 | 2012-07-19 12:16:46 -0700 | [diff] [blame] | 1097 | OBJS += ../src/common/gas.o | 
 | 1098 | OBJS += ../src/ap/gas_serv.o | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 1099 | endif | 
 | 1100 |  | 
| Dmitry Shmidt | 6c0da2b | 2015-01-05 13:08:17 -0800 | [diff] [blame] | 1101 | ifdef CONFIG_PROXYARP | 
 | 1102 | CFLAGS += -DCONFIG_PROXYARP | 
 | 1103 | OBJS += ../src/ap/x_snoop.o | 
 | 1104 | OBJS += ../src/ap/dhcp_snoop.o | 
 | 1105 | ifdef CONFIG_IPV6 | 
 | 1106 | OBJS += ../src/ap/ndisc_snoop.o | 
 | 1107 | endif | 
 | 1108 | endif | 
 | 1109 |  | 
| Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 1110 | OBJS += ../src/drivers/driver_common.o | 
 | 1111 |  | 
 | 1112 | ifdef CONFIG_WPA_CLI_EDIT | 
 | 1113 | OBJS_c += ../src/utils/edit.o | 
 | 1114 | else | 
 | 1115 | OBJS_c += ../src/utils/edit_simple.o | 
 | 1116 | endif | 
 | 1117 |  | 
| Dmitry Shmidt | 391c59f | 2013-09-03 12:16:28 -0700 | [diff] [blame] | 1118 | ifdef CONFIG_ACS | 
 | 1119 | CFLAGS += -DCONFIG_ACS | 
 | 1120 | OBJS += ../src/ap/acs.o | 
 | 1121 | LIBS += -lm | 
 | 1122 | endif | 
 | 1123 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1124 | ifdef CONFIG_NO_STDOUT_DEBUG | 
 | 1125 | CFLAGS += -DCONFIG_NO_STDOUT_DEBUG | 
 | 1126 | endif | 
 | 1127 |  | 
| Paul Stewart | 092955c | 2017-02-06 09:13:09 -0800 | [diff] [blame] | 1128 | ifdef CONFIG_DEBUG_SYSLOG | 
 | 1129 | CFLAGS += -DCONFIG_DEBUG_SYSLOG | 
 | 1130 | endif | 
 | 1131 |  | 
| Dmitry Shmidt | cce0666 | 2013-11-04 18:44:24 -0800 | [diff] [blame] | 1132 | ifdef CONFIG_DEBUG_LINUX_TRACING | 
 | 1133 | CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING | 
 | 1134 | endif | 
 | 1135 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1136 | ifdef CONFIG_DEBUG_FILE | 
 | 1137 | CFLAGS += -DCONFIG_DEBUG_FILE | 
 | 1138 | endif | 
 | 1139 |  | 
| Dmitry Shmidt | 4530cfd | 2012-09-09 15:20:40 -0700 | [diff] [blame] | 1140 | ifdef CONFIG_SQLITE | 
 | 1141 | CFLAGS += -DCONFIG_SQLITE | 
 | 1142 | LIBS += -lsqlite3 | 
 | 1143 | LIBS_h += -lsqlite3 | 
 | 1144 | endif | 
 | 1145 |  | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 1146 | ifdef CONFIG_FST | 
 | 1147 | CFLAGS += -DCONFIG_FST | 
 | 1148 | OBJS += ../src/fst/fst.o | 
 | 1149 | OBJS += ../src/fst/fst_group.o | 
 | 1150 | OBJS += ../src/fst/fst_iface.o | 
 | 1151 | OBJS += ../src/fst/fst_session.o | 
 | 1152 | OBJS += ../src/fst/fst_ctrl_aux.o | 
 | 1153 | ifdef CONFIG_FST_TEST | 
 | 1154 | CFLAGS += -DCONFIG_FST_TEST | 
 | 1155 | endif | 
 | 1156 | ifndef CONFIG_NO_CTRL_IFACE | 
 | 1157 | OBJS += ../src/fst/fst_ctrl_iface.o | 
 | 1158 | endif | 
 | 1159 | endif | 
 | 1160 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1161 | ALL=hostapd hostapd_cli | 
 | 1162 |  | 
 | 1163 | all: verify_config $(ALL) | 
 | 1164 |  | 
 | 1165 | Q=@ | 
 | 1166 | E=echo | 
 | 1167 | ifeq ($(V), 1) | 
 | 1168 | Q= | 
 | 1169 | E=true | 
 | 1170 | endif | 
| Dmitry Shmidt | 6c0da2b | 2015-01-05 13:08:17 -0800 | [diff] [blame] | 1171 | ifeq ($(QUIET), 1) | 
 | 1172 | Q=@ | 
 | 1173 | E=true | 
 | 1174 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1175 |  | 
| Dmitry Shmidt | fb79edc | 2014-01-10 10:45:54 -0800 | [diff] [blame] | 1176 | ifdef CONFIG_CODE_COVERAGE | 
 | 1177 | %.o: %.c | 
 | 1178 | 	@$(E) "  CC " $< | 
 | 1179 | 	$(Q)cd $(dir $@); $(CC) -c -o $(notdir $@) $(CFLAGS) $(notdir $<) | 
 | 1180 | else | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1181 | %.o: %.c | 
 | 1182 | 	$(Q)$(CC) -c -o $@ $(CFLAGS) $< | 
 | 1183 | 	@$(E) "  CC " $< | 
| Dmitry Shmidt | fb79edc | 2014-01-10 10:45:54 -0800 | [diff] [blame] | 1184 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1185 |  | 
 | 1186 | verify_config: | 
 | 1187 | 	@if [ ! -r .config ]; then \ | 
 | 1188 | 		echo 'Building hostapd requires a configuration file'; \ | 
 | 1189 | 		echo '(.config). See README for more instructions. You can'; \ | 
 | 1190 | 		echo 'run "cp defconfig .config" to create an example'; \ | 
 | 1191 | 		echo 'configuration.'; \ | 
 | 1192 | 		exit 1; \ | 
 | 1193 | 	fi | 
 | 1194 |  | 
| Dmitry Shmidt | 6c0da2b | 2015-01-05 13:08:17 -0800 | [diff] [blame] | 1195 | $(DESTDIR)$(BINDIR)/%: % | 
 | 1196 | 	install -D $(<) $(@) | 
 | 1197 |  | 
 | 1198 | install: $(addprefix $(DESTDIR)$(BINDIR)/,$(ALL)) | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1199 |  | 
 | 1200 | ../src/drivers/build.hostapd: | 
 | 1201 | 	@if [ -f ../src/drivers/build.wpa_supplicant ]; then \ | 
 | 1202 | 		$(MAKE) -C ../src/drivers clean; \ | 
 | 1203 | 	fi | 
 | 1204 | 	@touch ../src/drivers/build.hostapd | 
 | 1205 |  | 
 | 1206 | BCHECK=../src/drivers/build.hostapd | 
 | 1207 |  | 
 | 1208 | hostapd: $(BCHECK) $(OBJS) | 
 | 1209 | 	$(Q)$(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS) | 
 | 1210 | 	@$(E) "  LD " $@ | 
 | 1211 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1212 | ifdef CONFIG_WPA_TRACE | 
 | 1213 | OBJS_c += ../src/utils/trace.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1214 | endif | 
 | 1215 | hostapd_cli: $(OBJS_c) | 
 | 1216 | 	$(Q)$(CC) $(LDFLAGS) -o hostapd_cli $(OBJS_c) $(LIBS_c) | 
 | 1217 | 	@$(E) "  LD " $@ | 
 | 1218 |  | 
| Dmitry Shmidt | 216983b | 2015-02-06 10:50:36 -0800 | [diff] [blame] | 1219 | NOBJS = nt_password_hash.o ../src/crypto/ms_funcs.o $(SHA1OBJS) | 
| Dmitry Shmidt | ff787d5 | 2015-01-12 13:01:47 -0800 | [diff] [blame] | 1220 | NOBJS += ../src/utils/common.o | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1221 | ifdef NEED_RC4 | 
 | 1222 | ifdef CONFIG_INTERNAL_RC4 | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 1223 | ifndef CONFIG_NO_RC4 | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1224 | NOBJS += ../src/crypto/rc4.o | 
 | 1225 | endif | 
 | 1226 | endif | 
| Dmitry Shmidt | d80a401 | 2015-11-05 16:35:40 -0800 | [diff] [blame] | 1227 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1228 | ifdef CONFIG_INTERNAL_MD5 | 
 | 1229 | NOBJS += ../src/crypto/md5-internal.o | 
 | 1230 | endif | 
 | 1231 | NOBJS += ../src/crypto/crypto_openssl.o ../src/utils/os_$(CONFIG_OS).o | 
 | 1232 | NOBJS += ../src/utils/wpa_debug.o | 
 | 1233 | NOBJS += ../src/utils/wpabuf.o | 
 | 1234 | ifdef CONFIG_WPA_TRACE | 
 | 1235 | NOBJS += ../src/utils/trace.o | 
 | 1236 | LIBS_n += -lbfd | 
 | 1237 | endif | 
 | 1238 | ifdef TLS_FUNCS | 
 | 1239 | LIBS_n += -lcrypto | 
 | 1240 | endif | 
 | 1241 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1242 | HOBJS += hlr_auc_gw.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_$(CONFIG_OS).o ../src/utils/wpabuf.o ../src/crypto/milenage.o | 
 | 1243 | HOBJS += ../src/crypto/aes-encblock.o | 
 | 1244 | ifdef CONFIG_INTERNAL_AES | 
 | 1245 | HOBJS += ../src/crypto/aes-internal.o | 
 | 1246 | HOBJS += ../src/crypto/aes-internal-enc.o | 
 | 1247 | endif | 
| Dmitry Shmidt | d2986c2 | 2017-10-23 14:22:09 -0700 | [diff] [blame] | 1248 | ifeq ($(CONFIG_TLS), linux) | 
 | 1249 | HOBJS += ../src/crypto/crypto_linux.o | 
 | 1250 | endif | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1251 |  | 
 | 1252 | nt_password_hash: $(NOBJS) | 
 | 1253 | 	$(Q)$(CC) $(LDFLAGS) -o nt_password_hash $(NOBJS) $(LIBS_n) | 
 | 1254 | 	@$(E) "  LD " $@ | 
 | 1255 |  | 
 | 1256 | hlr_auc_gw: $(HOBJS) | 
 | 1257 | 	$(Q)$(CC) $(LDFLAGS) -o hlr_auc_gw $(HOBJS) $(LIBS_h) | 
 | 1258 | 	@$(E) "  LD " $@ | 
 | 1259 |  | 
| Dmitry Shmidt | fb79edc | 2014-01-10 10:45:54 -0800 | [diff] [blame] | 1260 | lcov-html: | 
 | 1261 | 	lcov -c -d .. > lcov.info | 
 | 1262 | 	genhtml lcov.info --output-directory lcov-html | 
 | 1263 |  | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1264 | clean: | 
 | 1265 | 	$(MAKE) -C ../src clean | 
 | 1266 | 	rm -f core *~ *.o hostapd hostapd_cli nt_password_hash hlr_auc_gw | 
| Dmitry Shmidt | 01904cf | 2013-12-05 11:08:35 -0800 | [diff] [blame] | 1267 | 	rm -f *.d *.gcno *.gcda *.gcov | 
| Dmitry Shmidt | fb79edc | 2014-01-10 10:45:54 -0800 | [diff] [blame] | 1268 | 	rm -f lcov.info | 
 | 1269 | 	rm -rf lcov-html | 
| Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1270 |  | 
 | 1271 | -include $(OBJS:%.o=%.d) |