blob: db843a66dac01a0919c5d98df2cb966a50d3aa6c [file] [log] [blame]
Hai Shalom899fcc72020-10-19 14:38:18 -07001ALL=hostapd hostapd_cli
2CONFIG_FILE = .config
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07003
Hai Shalom899fcc72020-10-19 14:38:18 -07004include ../src/build.rules
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07005
Dmitry Shmidt014a3ff2015-12-28 13:27:49 -08006ifdef LIBS
7# If LIBS is set with some global build system defaults, clone those for
8# LIBS_c, LIBS_h, and LIBS_n to cover hostapd_cli, hlr_auc_gw, and
9# nt_password_hash as well.
10ifndef LIBS_c
11LIBS_c := $(LIBS)
12endif
13ifndef LIBS_h
14LIBS_h := $(LIBS)
15endif
16ifndef LIBS_n
17LIBS_n := $(LIBS)
18endif
Hai Shalom899fcc72020-10-19 14:38:18 -070019ifndef LIBS_s
20LIBS_s := $(LIBS)
21endif
Dmitry Shmidt014a3ff2015-12-28 13:27:49 -080022endif
23
Dmitry Shmidt216983b2015-02-06 10:50:36 -080024CFLAGS += $(EXTRA_CFLAGS)
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -080025CFLAGS += -I$(abspath ../src)
26CFLAGS += -I$(abspath ../src/utils)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070027
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -080028export BINDIR ?= /usr/local/bin/
29
Dmitry Shmidtd80a4012015-11-05 16:35:40 -080030ifndef CONFIG_NO_GITVER
31# Add VERSION_STR postfix for builds from a git repository
32ifeq ($(wildcard ../.git),../.git)
33GITVER := $(shell git describe --dirty=+)
34ifneq ($(GITVER),)
35CFLAGS += -DGIT_VERSION_STR_POSTFIX=\"-$(GITVER)\"
36endif
37endif
38endif
39
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -080040ifdef CONFIG_TESTING_OPTIONS
41CFLAGS += -DCONFIG_TESTING_OPTIONS
42CONFIG_WPS_TESTING=y
43endif
44
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070045ifndef CONFIG_OS
46ifdef CONFIG_NATIVE_WINDOWS
47CONFIG_OS=win32
48else
49CONFIG_OS=unix
50endif
51endif
52
53ifeq ($(CONFIG_OS), internal)
54CFLAGS += -DOS_NO_C_LIB_DEFINES
55endif
56
57ifdef CONFIG_NATIVE_WINDOWS
58CFLAGS += -DCONFIG_NATIVE_WINDOWS
59LIBS += -lws2_32
60endif
61
62OBJS += main.o
63OBJS += config_file.o
64
65OBJS += ../src/ap/hostapd.o
66OBJS += ../src/ap/wpa_auth_glue.o
67OBJS += ../src/ap/drv_callbacks.o
68OBJS += ../src/ap/ap_drv_ops.o
69OBJS += ../src/ap/utils.o
70OBJS += ../src/ap/authsrv.o
71OBJS += ../src/ap/ieee802_1x.o
72OBJS += ../src/ap/ap_config.o
Dmitry Shmidtd5e49232012-12-03 15:08:10 -080073OBJS += ../src/ap/eap_user_db.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070074OBJS += ../src/ap/ieee802_11_auth.o
75OBJS += ../src/ap/sta_info.o
76OBJS += ../src/ap/wpa_auth.o
77OBJS += ../src/ap/tkip_countermeasures.o
78OBJS += ../src/ap/ap_mlme.o
79OBJS += ../src/ap/wpa_auth_ie.o
80OBJS += ../src/ap/preauth_auth.o
81OBJS += ../src/ap/pmksa_cache_auth.o
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080082OBJS += ../src/ap/ieee802_11_shared.o
83OBJS += ../src/ap/beacon.o
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -080084OBJS += ../src/ap/bss_load.o
Dmitry Shmidt849734c2016-05-27 09:59:01 -070085OBJS += ../src/ap/neighbor_db.o
86OBJS += ../src/ap/rrm.o
Sunil Ravi99c035e2024-07-12 01:42:03 +000087OBJS += ../src/common/ptksa_cache.o
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080088
Dmitry Shmidt7f2c7532016-08-15 09:48:12 -070089OBJS_c = hostapd_cli.o
90OBJS_c += ../src/common/wpa_ctrl.o
91OBJS_c += ../src/utils/os_$(CONFIG_OS).o
92OBJS_c += ../src/common/cli.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070093
94NEED_RC4=y
95NEED_AES=y
96NEED_MD5=y
97NEED_SHA1=y
98
99OBJS += ../src/drivers/drivers.o
100CFLAGS += -DHOSTAPD
101
Dmitry Shmidtaca489e2016-09-28 15:44:14 -0700102ifdef CONFIG_TAXONOMY
103CFLAGS += -DCONFIG_TAXONOMY
104OBJS += ../src/ap/taxonomy.o
105endif
106
Dmitry Shmidt7f93d6f2014-02-21 11:22:49 -0800107ifdef CONFIG_MODULE_TESTS
108CFLAGS += -DCONFIG_MODULE_TESTS
109OBJS += hapd_module_tests.o
110endif
111
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700112ifdef CONFIG_WPA_TRACE
113CFLAGS += -DWPA_TRACE
114OBJS += ../src/utils/trace.o
115HOBJS += ../src/utils/trace.o
116LDFLAGS += -rdynamic
117CFLAGS += -funwind-tables
118ifdef CONFIG_WPA_TRACE_BFD
Sunil Ravi876a49b2025-02-03 19:18:32 +0000119CFLAGS += -DPACKAGE="hostapd" -DWPA_TRACE_BFD -fno-inline -fno-optimize-sibling-calls
Dmitry Shmidt13ca8d82014-02-20 10:18:40 -0800120LIBS += -lbfd -ldl -liberty -lz
121LIBS_c += -lbfd -ldl -liberty -lz
122LIBS_h += -lbfd -ldl -liberty -lz
Hai Shalomc3565922019-10-28 11:58:20 -0700123LIBS_n += -lbfd -ldl -liberty -lz
Hai Shalom899fcc72020-10-19 14:38:18 -0700124LIBS_s += -lbfd -ldl -liberty -lz
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700125endif
126endif
127
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800128ifndef CONFIG_ELOOP
129CONFIG_ELOOP=eloop
130endif
131OBJS += ../src/utils/$(CONFIG_ELOOP).o
132OBJS_c += ../src/utils/$(CONFIG_ELOOP).o
Dmitry Shmidtfa3fc4a2013-11-21 13:34:38 -0800133
134ifeq ($(CONFIG_ELOOP), eloop)
135# Using glibc < 2.17 requires -lrt for clock_gettime()
136LIBS += -lrt
137LIBS_c += -lrt
138LIBS_h += -lrt
Dmitry Shmidtbd14a572014-02-18 10:33:49 -0800139LIBS_n += -lrt
Dmitry Shmidtfa3fc4a2013-11-21 13:34:38 -0800140endif
141
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800142ifdef CONFIG_ELOOP_POLL
143CFLAGS += -DCONFIG_ELOOP_POLL
144endif
145
146ifdef CONFIG_ELOOP_EPOLL
147CFLAGS += -DCONFIG_ELOOP_EPOLL
148endif
149
Dmitry Shmidtb97e4282016-02-08 10:16:07 -0800150ifdef CONFIG_ELOOP_KQUEUE
151CFLAGS += -DCONFIG_ELOOP_KQUEUE
152endif
153
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700154OBJS += ../src/utils/common.o
Dmitry Shmidta3dc3092015-06-23 11:21:28 -0700155OBJS_c += ../src/utils/common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700156OBJS += ../src/utils/wpa_debug.o
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800157OBJS_c += ../src/utils/wpa_debug.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700158OBJS += ../src/utils/wpabuf.o
159OBJS += ../src/utils/os_$(CONFIG_OS).o
160OBJS += ../src/utils/ip_addr.o
Hai Shalomfdcde762020-04-02 11:19:20 -0700161OBJS += ../src/utils/crc32.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700162
163OBJS += ../src/common/ieee802_11_common.o
164OBJS += ../src/common/wpa_common.o
Dmitry Shmidtff787d52015-01-12 13:01:47 -0800165OBJS += ../src/common/hw_features_common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700166
167OBJS += ../src/eapol_auth/eapol_auth_sm.o
168
169
Dmitry Shmidt01904cf2013-12-05 11:08:35 -0800170ifdef CONFIG_CODE_COVERAGE
Sunil Ravib0ac25f2024-07-12 01:42:03 +0000171CFLAGS += -O0 -fprofile-arcs -ftest-coverage -U_FORTIFY_SOURCE
Dmitry Shmidt01904cf2013-12-05 11:08:35 -0800172LIBS += -lgcov
173LIBS_c += -lgcov
174LIBS_h += -lgcov
175LIBS_n += -lgcov
176endif
177
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700178ifndef CONFIG_NO_DUMP_STATE
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -0800179# define HOSTAPD_DUMP_STATE to include support for dumping internal state
180# through control interface commands (undefine it, if you want to save in
181# binary size)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700182CFLAGS += -DHOSTAPD_DUMP_STATE
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700183OBJS += ../src/eapol_auth/eapol_auth_dump.o
184endif
185
186ifdef CONFIG_NO_RADIUS
187CFLAGS += -DCONFIG_NO_RADIUS
188CONFIG_NO_ACCOUNTING=y
189else
190OBJS += ../src/radius/radius.o
191OBJS += ../src/radius/radius_client.o
Dmitry Shmidt04949592012-07-19 12:16:46 -0700192OBJS += ../src/radius/radius_das.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700193endif
194
195ifdef CONFIG_NO_ACCOUNTING
196CFLAGS += -DCONFIG_NO_ACCOUNTING
197else
198OBJS += ../src/ap/accounting.o
199endif
200
201ifdef CONFIG_NO_VLAN
202CFLAGS += -DCONFIG_NO_VLAN
203else
204OBJS += ../src/ap/vlan_init.o
Dmitry Shmidte4663042016-04-04 10:07:49 -0700205OBJS += ../src/ap/vlan_ifconfig.o
Dmitry Shmidt57c2d392016-02-23 13:40:19 -0800206OBJS += ../src/ap/vlan.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700207ifdef CONFIG_FULL_DYNAMIC_VLAN
Dmitry Shmidte4663042016-04-04 10:07:49 -0700208# Define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
209# and VLAN interfaces for the VLAN feature.
210CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
211OBJS += ../src/ap/vlan_full.o
212ifdef CONFIG_VLAN_NETLINK
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700213OBJS += ../src/ap/vlan_util.o
Dmitry Shmidte4663042016-04-04 10:07:49 -0700214else
215OBJS += ../src/ap/vlan_ioctl.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700216endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700217endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700218endif
219
220ifdef CONFIG_NO_CTRL_IFACE
221CFLAGS += -DCONFIG_NO_CTRL_IFACE
222else
Dmitry Shmidt31a29cc2016-03-09 15:58:17 -0800223ifeq ($(CONFIG_CTRL_IFACE), udp)
224CFLAGS += -DCONFIG_CTRL_IFACE_UDP
225else
226ifeq ($(CONFIG_CTRL_IFACE), udp6)
227CFLAGS += -DCONFIG_CTRL_IFACE_UDP
228CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6
229else
230ifeq ($(CONFIG_CTRL_IFACE), udp-remote)
231CFLAGS += -DCONFIG_CTRL_IFACE_UDP
232CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE
233else
234ifeq ($(CONFIG_CTRL_IFACE), udp6-remote)
235CFLAGS += -DCONFIG_CTRL_IFACE_UDP
236CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE
237CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6
238else
239CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
240endif
241endif
242endif
243endif
244OBJS += ../src/common/ctrl_iface_common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700245OBJS += ctrl_iface.o
246OBJS += ../src/ap/ctrl_iface_ap.o
247endif
248
Dmitry Shmidt31a29cc2016-03-09 15:58:17 -0800249ifndef CONFIG_NO_CTRL_IFACE
250CFLAGS += -DCONFIG_CTRL_IFACE
251endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700252
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700253ifdef CONFIG_RSN_PREAUTH
254CFLAGS += -DCONFIG_RSN_PREAUTH
255CONFIG_L2_PACKET=y
256endif
257
Dmitry Shmidtf21452a2014-02-26 10:55:25 -0800258ifdef CONFIG_HS20
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -0800259CONFIG_PROXYARP=y
260endif
261
262ifdef CONFIG_PROXYARP
263CONFIG_L2_PACKET=y
264endif
265
266ifdef CONFIG_SUITEB
267CFLAGS += -DCONFIG_SUITEB
Dmitry Shmidtf21452a2014-02-26 10:55:25 -0800268endif
269
Dmitry Shmidt807291d2015-01-27 13:40:23 -0800270ifdef CONFIG_SUITEB192
271CFLAGS += -DCONFIG_SUITEB192
272NEED_SHA384=y
273endif
274
Hai Shalom74f70d42019-02-11 14:42:39 -0800275ifdef CONFIG_OCV
276CFLAGS += -DCONFIG_OCV
277OBJS += ../src/common/ocv.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700278endif
279
Sunil Ravib0ac25f2024-07-12 01:42:03 +0000280NEED_AES_UNWRAP=y
281
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700282ifdef CONFIG_IEEE80211R
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800283CFLAGS += -DCONFIG_IEEE80211R -DCONFIG_IEEE80211R_AP
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700284OBJS += ../src/ap/wpa_auth_ft.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700285NEED_AES_UNWRAP=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700286NEED_AES_SIV=y
287NEED_ETH_P_OUI=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700288NEED_HMAC_SHA256_KDF=y
289endif
290
291ifdef NEED_ETH_P_OUI
292CFLAGS += -DCONFIG_ETH_P_OUI
293OBJS += ../src/ap/eth_p_oui.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700294endif
295
Dmitry Shmidtd5e49232012-12-03 15:08:10 -0800296ifdef CONFIG_SAE
297CFLAGS += -DCONFIG_SAE
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800298OBJS += ../src/common/sae.o
Hai Shalom899fcc72020-10-19 14:38:18 -0700299ifdef CONFIG_SAE_PK
300CFLAGS += -DCONFIG_SAE_PK
Sunil8cd6f4d2022-06-28 18:40:46 +0000301NEED_AES_SIV=y
Sunil Ravi79e6c4f2025-01-04 00:47:06 +0000302NEED_BASE64=y
Hai Shalom899fcc72020-10-19 14:38:18 -0700303OBJS += ../src/common/sae_pk.o
304endif
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800305NEED_ECC=y
306NEED_DH_GROUPS=y
Hai Shalomb755a2a2020-04-23 21:49:02 -0700307NEED_HMAC_SHA256_KDF=y
Dmitry Shmidt912c6ec2015-03-30 13:16:51 -0700308NEED_AP_MLME=y
Hai Shalom81f62d82019-07-22 12:10:00 -0700309NEED_DRAGONFLY=y
Dmitry Shmidtd5e49232012-12-03 15:08:10 -0800310endif
311
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700312ifdef CONFIG_OWE
313CFLAGS += -DCONFIG_OWE
314NEED_ECC=y
315NEED_HMAC_SHA256_KDF=y
316NEED_HMAC_SHA384_KDF=y
317NEED_HMAC_SHA512_KDF=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700318NEED_SHA384=y
319NEED_SHA512=y
320endif
321
Jimmy Chencaaac072019-09-16 16:36:06 +0800322ifdef CONFIG_WAPI_INTERFACE
323L_CFLAGS += -DCONFIG_WAPI_INTERFACE
324endif
325
Hai Shalom81f62d82019-07-22 12:10:00 -0700326ifdef CONFIG_AIRTIME_POLICY
327CFLAGS += -DCONFIG_AIRTIME_POLICY
328OBJS += ../src/ap/airtime_policy.o
329endif
330
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800331ifdef CONFIG_FILS
332CFLAGS += -DCONFIG_FILS
Dmitry Shmidtebd93af2017-02-21 13:40:44 -0800333OBJS += ../src/ap/fils_hlp.o
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800334NEED_SHA384=y
335NEED_AES_SIV=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700336ifdef CONFIG_FILS_SK_PFS
337CFLAGS += -DCONFIG_FILS_SK_PFS
338NEED_ECC=y
339endif
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800340endif
341
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800342ifdef CONFIG_WNM
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700343CFLAGS += -DCONFIG_WNM -DCONFIG_WNM_AP
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700344OBJS += ../src/ap/wnm_ap.o
345endif
346
Dmitry Shmidt04949592012-07-19 12:16:46 -0700347ifdef CONFIG_IEEE80211AC
348CFLAGS += -DCONFIG_IEEE80211AC
349endif
350
Sunil Ravia04bd252022-05-02 22:54:18 -0700351ifdef CONFIG_IEEE80211BE
352CONFIG_IEEE80211AX=y
353CFLAGS += -DCONFIG_IEEE80211BE
354OBJS += ../src/ap/ieee802_11_eht.o
355endif
356
Dmitry Shmidtebd93af2017-02-21 13:40:44 -0800357ifdef CONFIG_IEEE80211AX
358CFLAGS += -DCONFIG_IEEE80211AX
359OBJS += ../src/ap/ieee802_11_he.o
360endif
361
Dmitry Shmidt57c2d392016-02-23 13:40:19 -0800362ifdef CONFIG_MBO
363CFLAGS += -DCONFIG_MBO
364OBJS += ../src/ap/mbo_ap.o
365endif
366
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700367include ../src/drivers/drivers.mak
368OBJS += $(DRV_AP_OBJS)
369CFLAGS += $(DRV_AP_CFLAGS)
370LDFLAGS += $(DRV_AP_LDFLAGS)
371LIBS += $(DRV_AP_LIBS)
372
373ifdef CONFIG_L2_PACKET
374ifdef CONFIG_DNET_PCAP
375ifdef CONFIG_L2_FREEBSD
376LIBS += -lpcap
377OBJS += ../src/l2_packet/l2_packet_freebsd.o
378else
379LIBS += -ldnet -lpcap
380OBJS += ../src/l2_packet/l2_packet_pcap.o
381endif
382else
383OBJS += ../src/l2_packet/l2_packet_linux.o
384endif
385else
386OBJS += ../src/l2_packet/l2_packet_none.o
387endif
388
389
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -0800390ifdef CONFIG_ERP
391CFLAGS += -DCONFIG_ERP
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -0800392NEED_HMAC_SHA256_KDF=y
393endif
394
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700395ifdef CONFIG_EAP_MD5
396CFLAGS += -DEAP_SERVER_MD5
397OBJS += ../src/eap_server/eap_server_md5.o
398CHAP=y
399endif
400
401ifdef CONFIG_EAP_TLS
402CFLAGS += -DEAP_SERVER_TLS
403OBJS += ../src/eap_server/eap_server_tls.o
404TLS_FUNCS=y
405endif
406
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700407ifdef CONFIG_EAP_UNAUTH_TLS
408CFLAGS += -DEAP_SERVER_UNAUTH_TLS
409ifndef CONFIG_EAP_TLS
410OBJS += ../src/eap_server/eap_server_tls.o
411TLS_FUNCS=y
412endif
413endif
414
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700415ifdef CONFIG_EAP_PEAP
416CFLAGS += -DEAP_SERVER_PEAP
417OBJS += ../src/eap_server/eap_server_peap.o
418OBJS += ../src/eap_common/eap_peap_common.o
419TLS_FUNCS=y
420CONFIG_EAP_MSCHAPV2=y
421endif
422
423ifdef CONFIG_EAP_TTLS
424CFLAGS += -DEAP_SERVER_TTLS
425OBJS += ../src/eap_server/eap_server_ttls.o
426TLS_FUNCS=y
427CHAP=y
428endif
429
430ifdef CONFIG_EAP_MSCHAPV2
431CFLAGS += -DEAP_SERVER_MSCHAPV2
432OBJS += ../src/eap_server/eap_server_mschapv2.o
433MS_FUNCS=y
434endif
435
436ifdef CONFIG_EAP_GTC
437CFLAGS += -DEAP_SERVER_GTC
438OBJS += ../src/eap_server/eap_server_gtc.o
439endif
440
441ifdef CONFIG_EAP_SIM
442CFLAGS += -DEAP_SERVER_SIM
443OBJS += ../src/eap_server/eap_server_sim.o
444CONFIG_EAP_SIM_COMMON=y
445NEED_AES_CBC=y
446endif
447
448ifdef CONFIG_EAP_AKA
449CFLAGS += -DEAP_SERVER_AKA
450OBJS += ../src/eap_server/eap_server_aka.o
451CONFIG_EAP_SIM_COMMON=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700452NEED_AES_CBC=y
453endif
454
455ifdef CONFIG_EAP_AKA_PRIME
456CFLAGS += -DEAP_SERVER_AKA_PRIME
457endif
458
459ifdef CONFIG_EAP_SIM_COMMON
460OBJS += ../src/eap_common/eap_sim_common.o
461# Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
Hai Shalom899fcc72020-10-19 14:38:18 -0700462# replaced with another file implementing the interface specified in
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700463# eap_sim_db.h.
464OBJS += ../src/eap_server/eap_sim_db.o
465NEED_FIPS186_2_PRF=y
466endif
467
468ifdef CONFIG_EAP_PAX
469CFLAGS += -DEAP_SERVER_PAX
470OBJS += ../src/eap_server/eap_server_pax.o ../src/eap_common/eap_pax_common.o
471endif
472
473ifdef CONFIG_EAP_PSK
474CFLAGS += -DEAP_SERVER_PSK
475OBJS += ../src/eap_server/eap_server_psk.o ../src/eap_common/eap_psk_common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700476NEED_AES_ENCBLOCK=y
477NEED_AES_EAX=y
478endif
479
480ifdef CONFIG_EAP_SAKE
481CFLAGS += -DEAP_SERVER_SAKE
482OBJS += ../src/eap_server/eap_server_sake.o ../src/eap_common/eap_sake_common.o
483endif
484
485ifdef CONFIG_EAP_GPSK
486CFLAGS += -DEAP_SERVER_GPSK
487OBJS += ../src/eap_server/eap_server_gpsk.o ../src/eap_common/eap_gpsk_common.o
488ifdef CONFIG_EAP_GPSK_SHA256
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -0800489CFLAGS += -DEAP_GPSK_SHA256
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700490endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700491endif
492
493ifdef CONFIG_EAP_PWD
494CFLAGS += -DEAP_SERVER_PWD
495OBJS += ../src/eap_server/eap_server_pwd.o ../src/eap_common/eap_pwd_common.o
Roshan Pius3a1667e2018-07-03 15:17:14 -0700496NEED_ECC=y
Hai Shalom81f62d82019-07-22 12:10:00 -0700497NEED_DRAGONFLY=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700498endif
499
Dmitry Shmidt34af3062013-07-11 10:46:32 -0700500ifdef CONFIG_EAP_EKE
501CFLAGS += -DEAP_SERVER_EKE
502OBJS += ../src/eap_server/eap_server_eke.o ../src/eap_common/eap_eke_common.o
503NEED_DH_GROUPS=y
504NEED_DH_GROUPS_ALL=y
505endif
506
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700507ifdef CONFIG_EAP_VENDOR_TEST
508CFLAGS += -DEAP_SERVER_VENDOR_TEST
509OBJS += ../src/eap_server/eap_server_vendor_test.o
510endif
511
512ifdef CONFIG_EAP_FAST
513CFLAGS += -DEAP_SERVER_FAST
514OBJS += ../src/eap_server/eap_server_fast.o
515OBJS += ../src/eap_common/eap_fast_common.o
516TLS_FUNCS=y
517NEED_T_PRF=y
518NEED_AES_UNWRAP=y
519endif
520
Hai Shalom81f62d82019-07-22 12:10:00 -0700521ifdef CONFIG_EAP_TEAP
522CFLAGS += -DEAP_SERVER_TEAP
523OBJS += ../src/eap_server/eap_server_teap.o
524OBJS += ../src/eap_common/eap_teap_common.o
525TLS_FUNCS=y
526NEED_T_PRF=y
527NEED_SHA384=y
Hai Shalomc3565922019-10-28 11:58:20 -0700528NEED_TLS_PRF_SHA256=y
529NEED_TLS_PRF_SHA384=y
Hai Shalom81f62d82019-07-22 12:10:00 -0700530NEED_AES_UNWRAP=y
531endif
532
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700533ifdef CONFIG_WPS
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700534CFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC
535OBJS += ../src/utils/uuid.o
536OBJS += ../src/ap/wps_hostapd.o
537OBJS += ../src/eap_server/eap_server_wsc.o ../src/eap_common/eap_wsc_common.o
538OBJS += ../src/wps/wps.o
539OBJS += ../src/wps/wps_common.o
540OBJS += ../src/wps/wps_attr_parse.o
541OBJS += ../src/wps/wps_attr_build.o
542OBJS += ../src/wps/wps_attr_process.o
543OBJS += ../src/wps/wps_dev_attr.o
544OBJS += ../src/wps/wps_enrollee.o
545OBJS += ../src/wps/wps_registrar.o
546NEED_DH_GROUPS=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700547NEED_BASE64=y
548NEED_AES_CBC=y
549NEED_MODEXP=y
550CONFIG_EAP=y
551
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700552ifdef CONFIG_WPS_NFC
553CFLAGS += -DCONFIG_WPS_NFC
554OBJS += ../src/wps/ndef.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700555NEED_WPS_OOB=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700556endif
557
558ifdef NEED_WPS_OOB
559CFLAGS += -DCONFIG_WPS_OOB
560endif
561
562ifdef CONFIG_WPS_UPNP
563CFLAGS += -DCONFIG_WPS_UPNP
564OBJS += ../src/wps/wps_upnp.o
565OBJS += ../src/wps/wps_upnp_ssdp.o
566OBJS += ../src/wps/wps_upnp_web.o
567OBJS += ../src/wps/wps_upnp_event.o
568OBJS += ../src/wps/wps_upnp_ap.o
569OBJS += ../src/wps/upnp_xml.o
570OBJS += ../src/wps/httpread.o
571OBJS += ../src/wps/http_client.o
572OBJS += ../src/wps/http_server.o
573endif
574
575ifdef CONFIG_WPS_STRICT
576CFLAGS += -DCONFIG_WPS_STRICT
577OBJS += ../src/wps/wps_validate.o
578endif
579
580ifdef CONFIG_WPS_TESTING
581CFLAGS += -DCONFIG_WPS_TESTING
582endif
583
584endif
585
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700586ifdef CONFIG_DPP
587CFLAGS += -DCONFIG_DPP
588OBJS += ../src/common/dpp.o
Hai Shalom4fbc08f2020-05-18 12:37:00 -0700589OBJS += ../src/common/dpp_auth.o
590OBJS += ../src/common/dpp_backup.o
591OBJS += ../src/common/dpp_crypto.o
592OBJS += ../src/common/dpp_pkex.o
593OBJS += ../src/common/dpp_reconfig.o
594OBJS += ../src/common/dpp_tcp.o
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700595OBJS += ../src/ap/dpp_hostapd.o
596OBJS += ../src/ap/gas_query_ap.o
597NEED_AES_SIV=y
598NEED_HMAC_SHA256_KDF=y
599NEED_HMAC_SHA384_KDF=y
600NEED_HMAC_SHA512_KDF=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700601NEED_SHA384=y
602NEED_SHA512=y
Hai Shalomc3565922019-10-28 11:58:20 -0700603NEED_ECC=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700604NEED_JSON=y
605NEED_GAS=y
606NEED_BASE64=y
Hai Shalomfdcde762020-04-02 11:19:20 -0700607NEED_ASN1=y
Hai Shalom021b0b52019-04-10 11:17:58 -0700608ifdef CONFIG_DPP2
609CFLAGS += -DCONFIG_DPP2
610endif
Hai Shaloma20dcd72022-02-04 13:43:00 -0800611ifdef CONFIG_DPP3
612CFLAGS += -DCONFIG_DPP3
613endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700614endif
615
Sunil Ravib0ac25f2024-07-12 01:42:03 +0000616ifdef CONFIG_NAN_USD
617OBJS += ../src/common/nan_de.o
618OBJS += ../src/ap/nan_usd_ap.o
619CFLAGS += -DCONFIG_NAN_USD
620endif
621
Hai Shalom60840252021-02-19 19:02:11 -0800622ifdef CONFIG_PASN
623CFLAGS += -DCONFIG_PASN
624CFLAGS += -DCONFIG_PTKSA_CACHE
625NEED_HMAC_SHA256_KDF=y
626NEED_HMAC_SHA384_KDF=y
627NEED_SHA256=y
628NEED_SHA384=y
Hai Shalom60840252021-02-19 19:02:11 -0800629endif
630
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700631ifdef CONFIG_EAP_IKEV2
632CFLAGS += -DEAP_SERVER_IKEV2
633OBJS += ../src/eap_server/eap_server_ikev2.o ../src/eap_server/ikev2.o
634OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o
635NEED_DH_GROUPS=y
636NEED_DH_GROUPS_ALL=y
637NEED_MODEXP=y
638NEED_CIPHER=y
639endif
640
641ifdef CONFIG_EAP_TNC
642CFLAGS += -DEAP_SERVER_TNC
643OBJS += ../src/eap_server/eap_server_tnc.o
644OBJS += ../src/eap_server/tncs.o
645NEED_BASE64=y
646ifndef CONFIG_DRIVER_BSD
647LIBS += -ldl
648endif
649endif
650
Hai Shalom81f62d82019-07-22 12:10:00 -0700651ifdef CONFIG_MACSEC
652CFLAGS += -DCONFIG_MACSEC
653OBJS += ../src/ap/wpa_auth_kay.o
654OBJS += ../src/pae/ieee802_1x_cp.o
655OBJS += ../src/pae/ieee802_1x_kay.o
656OBJS += ../src/pae/ieee802_1x_key.o
657OBJS += ../src/pae/ieee802_1x_secy_ops.o
658endif
659
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700660# Basic EAP functionality is needed for EAPOL
661OBJS += eap_register.o
662OBJS += ../src/eap_server/eap_server.o
663OBJS += ../src/eap_common/eap_common.o
664OBJS += ../src/eap_server/eap_server_methods.o
665OBJS += ../src/eap_server/eap_server_identity.o
666CFLAGS += -DEAP_SERVER_IDENTITY
667
668ifdef CONFIG_EAP
669CFLAGS += -DEAP_SERVER
670endif
671
672ifdef CONFIG_PKCS12
673CFLAGS += -DPKCS12_FUNCS
674endif
675
Hai Shalom81f62d82019-07-22 12:10:00 -0700676ifdef NEED_DRAGONFLY
677OBJS += ../src/common/dragonfly.o
678endif
679
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700680ifdef MS_FUNCS
681OBJS += ../src/crypto/ms_funcs.o
682NEED_DES=y
683NEED_MD4=y
684endif
685
686ifdef CHAP
687OBJS += ../src/eap_common/chap.o
688endif
689
Sunil Ravi99c035e2024-07-12 01:42:03 +0000690ifdef CONFIG_RADIUS_TLS
691TLS_FUNCS=y
692CFLAGS += -DCONFIG_RADIUS_TLS
693endif
694
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700695ifdef TLS_FUNCS
696NEED_DES=y
697# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
698CFLAGS += -DEAP_TLS_FUNCS
699OBJS += ../src/eap_server/eap_server_tls_common.o
700NEED_TLS_PRF=y
701endif
702
703ifndef CONFIG_TLS
704CONFIG_TLS=openssl
705endif
706
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800707ifdef CONFIG_TLSV11
708CFLAGS += -DCONFIG_TLSV11
709endif
710
711ifdef CONFIG_TLSV12
712CFLAGS += -DCONFIG_TLSV12
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800713endif
714
Roshan Pius3a1667e2018-07-03 15:17:14 -0700715ifeq ($(CONFIG_TLS), wolfssl)
Sunil Ravi876a49b2025-02-03 19:18:32 +0000716CFLAGS += -DCRYPTO_RSA_OAEP_SHA256
Roshan Pius3a1667e2018-07-03 15:17:14 -0700717CONFIG_CRYPTO=wolfssl
718ifdef TLS_FUNCS
719OBJS += ../src/crypto/tls_wolfssl.o
720LIBS += -lwolfssl -lm
721endif
722OBJS += ../src/crypto/crypto_wolfssl.o
723HOBJS += ../src/crypto/crypto_wolfssl.o
724ifdef NEED_FIPS186_2_PRF
725OBJS += ../src/crypto/fips_prf_wolfssl.o
726endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700727NEED_TLS_PRF_SHA256=y
728LIBS += -lwolfssl -lm
729LIBS_h += -lwolfssl -lm
730ifdef CONFIG_TLS_ADD_DL
731LIBS += -ldl
732LIBS_h += -ldl
733endif
734endif
735
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700736ifeq ($(CONFIG_TLS), openssl)
Sunil Ravia04bd252022-05-02 22:54:18 -0700737CFLAGS += -DCRYPTO_RSA_OAEP_SHA256
Roshan Pius3a1667e2018-07-03 15:17:14 -0700738CONFIG_CRYPTO=openssl
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700739ifdef TLS_FUNCS
740OBJS += ../src/crypto/tls_openssl.o
Dmitry Shmidtd7ff03d2015-12-04 14:49:35 -0800741OBJS += ../src/crypto/tls_openssl_ocsp.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700742LIBS += -lssl
743endif
744OBJS += ../src/crypto/crypto_openssl.o
745HOBJS += ../src/crypto/crypto_openssl.o
Hai Shalom899fcc72020-10-19 14:38:18 -0700746SOBJS += ../src/crypto/crypto_openssl.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700747ifdef NEED_FIPS186_2_PRF
748OBJS += ../src/crypto/fips_prf_openssl.o
749endif
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800750NEED_TLS_PRF_SHA256=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700751LIBS += -lcrypto
752LIBS_h += -lcrypto
Roshan Pius3a1667e2018-07-03 15:17:14 -0700753LIBS_n += -lcrypto
Hai Shalom899fcc72020-10-19 14:38:18 -0700754LIBS_s += -lcrypto
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800755ifdef CONFIG_TLS_ADD_DL
756LIBS += -ldl
757LIBS_h += -ldl
Hai Shalom899fcc72020-10-19 14:38:18 -0700758LIBS_s += -ldl
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800759endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700760ifndef CONFIG_TLS_DEFAULT_CIPHERS
761CONFIG_TLS_DEFAULT_CIPHERS = "DEFAULT:!EXP:!LOW"
762endif
763CFLAGS += -DTLS_DEFAULT_CIPHERS=\"$(CONFIG_TLS_DEFAULT_CIPHERS)\"
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700764endif
765
766ifeq ($(CONFIG_TLS), gnutls)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700767ifndef CONFIG_CRYPTO
768# default to libgcrypt
769CONFIG_CRYPTO=gnutls
770endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700771ifdef TLS_FUNCS
772OBJS += ../src/crypto/tls_gnutls.o
773LIBS += -lgnutls -lgpg-error
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700774endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700775OBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
776HOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700777ifdef NEED_FIPS186_2_PRF
Dmitry Shmidt98660862014-03-11 17:26:21 -0700778OBJS += ../src/crypto/fips_prf_internal.o
779SHA1OBJS += ../src/crypto/sha1-internal.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700780endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700781ifeq ($(CONFIG_CRYPTO), gnutls)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700782LIBS += -lgcrypt
783LIBS_h += -lgcrypt
Roshan Pius3a1667e2018-07-03 15:17:14 -0700784LIBS_n += -lgcrypt
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700785CONFIG_INTERNAL_RC4=y
786CONFIG_INTERNAL_DH_GROUP5=y
787endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700788ifeq ($(CONFIG_CRYPTO), nettle)
789LIBS += -lnettle -lgmp
790LIBS_p += -lnettle -lgmp
791CONFIG_INTERNAL_RC4=y
792CONFIG_INTERNAL_DH_GROUP5=y
793endif
794endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700795
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700796ifeq ($(CONFIG_TLS), internal)
797ifndef CONFIG_CRYPTO
798CONFIG_CRYPTO=internal
799endif
800ifdef TLS_FUNCS
801OBJS += ../src/crypto/crypto_internal-rsa.o
802OBJS += ../src/crypto/tls_internal.o
803OBJS += ../src/tls/tlsv1_common.o
804OBJS += ../src/tls/tlsv1_record.o
805OBJS += ../src/tls/tlsv1_cred.o
806OBJS += ../src/tls/tlsv1_server.o
807OBJS += ../src/tls/tlsv1_server_write.o
808OBJS += ../src/tls/tlsv1_server_read.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700809OBJS += ../src/tls/rsa.o
810OBJS += ../src/tls/x509v3.o
811OBJS += ../src/tls/pkcs1.o
812OBJS += ../src/tls/pkcs5.o
813OBJS += ../src/tls/pkcs8.o
Hai Shalomfdcde762020-04-02 11:19:20 -0700814NEED_ASN1=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700815NEED_BASE64=y
816NEED_TLS_PRF=y
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800817ifdef CONFIG_TLSV12
818NEED_TLS_PRF_SHA256=y
819endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700820NEED_MODEXP=y
821NEED_CIPHER=y
822CFLAGS += -DCONFIG_TLS_INTERNAL
823CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
824endif
825ifdef NEED_CIPHER
826NEED_DES=y
827OBJS += ../src/crypto/crypto_internal-cipher.o
828endif
829ifdef NEED_MODEXP
830OBJS += ../src/crypto/crypto_internal-modexp.o
831OBJS += ../src/tls/bignum.o
832endif
833ifeq ($(CONFIG_CRYPTO), libtomcrypt)
834OBJS += ../src/crypto/crypto_libtomcrypt.o
835LIBS += -ltomcrypt -ltfm
836LIBS_h += -ltomcrypt -ltfm
837CONFIG_INTERNAL_SHA256=y
838CONFIG_INTERNAL_RC4=y
839CONFIG_INTERNAL_DH_GROUP5=y
840endif
841ifeq ($(CONFIG_CRYPTO), internal)
842OBJS += ../src/crypto/crypto_internal.o
843NEED_AES_DEC=y
844CFLAGS += -DCONFIG_CRYPTO_INTERNAL
845ifdef CONFIG_INTERNAL_LIBTOMMATH
846CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
847ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
848CFLAGS += -DLTM_FAST
849endif
850else
851LIBS += -ltommath
852LIBS_h += -ltommath
853endif
854CONFIG_INTERNAL_AES=y
855CONFIG_INTERNAL_DES=y
856CONFIG_INTERNAL_SHA1=y
857CONFIG_INTERNAL_MD4=y
858CONFIG_INTERNAL_MD5=y
859CONFIG_INTERNAL_SHA256=y
Dmitry Shmidtd7ff03d2015-12-04 14:49:35 -0800860CONFIG_INTERNAL_SHA384=y
861CONFIG_INTERNAL_SHA512=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700862CONFIG_INTERNAL_RC4=y
863CONFIG_INTERNAL_DH_GROUP5=y
864endif
865ifeq ($(CONFIG_CRYPTO), cryptoapi)
866OBJS += ../src/crypto/crypto_cryptoapi.o
867OBJS_p += ../src/crypto/crypto_cryptoapi.o
868CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
869CONFIG_INTERNAL_SHA256=y
870CONFIG_INTERNAL_RC4=y
871endif
872endif
873
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700874ifeq ($(CONFIG_TLS), linux)
875OBJS += ../src/crypto/crypto_linux.o
876ifdef TLS_FUNCS
877OBJS += ../src/crypto/crypto_internal-rsa.o
878OBJS += ../src/crypto/tls_internal.o
879OBJS += ../src/tls/tlsv1_common.o
880OBJS += ../src/tls/tlsv1_record.o
881OBJS += ../src/tls/tlsv1_cred.o
882OBJS += ../src/tls/tlsv1_server.o
883OBJS += ../src/tls/tlsv1_server_write.o
884OBJS += ../src/tls/tlsv1_server_read.o
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700885OBJS += ../src/tls/rsa.o
886OBJS += ../src/tls/x509v3.o
887OBJS += ../src/tls/pkcs1.o
888OBJS += ../src/tls/pkcs5.o
889OBJS += ../src/tls/pkcs8.o
Hai Shalomfdcde762020-04-02 11:19:20 -0700890NEED_ASN1=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700891NEED_BASE64=y
892NEED_TLS_PRF=y
893ifdef CONFIG_TLSV12
894NEED_TLS_PRF_SHA256=y
895endif
896NEED_MODEXP=y
897NEED_CIPHER=y
898CFLAGS += -DCONFIG_TLS_INTERNAL
899CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
900endif
901ifdef NEED_MODEXP
902OBJS += ../src/crypto/crypto_internal-modexp.o
903OBJS += ../src/tls/bignum.o
904CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
905CFLAGS += -DLTM_FAST
906endif
907CONFIG_INTERNAL_DH_GROUP5=y
908ifdef NEED_FIPS186_2_PRF
909OBJS += ../src/crypto/fips_prf_internal.o
910OBJS += ../src/crypto/sha1-internal.o
911endif
912endif
913
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700914ifeq ($(CONFIG_TLS), none)
915ifdef TLS_FUNCS
916OBJS += ../src/crypto/tls_none.o
917CFLAGS += -DEAP_TLS_NONE
918CONFIG_INTERNAL_AES=y
919CONFIG_INTERNAL_SHA1=y
920CONFIG_INTERNAL_MD5=y
921endif
922OBJS += ../src/crypto/crypto_none.o
923OBJS_p += ../src/crypto/crypto_none.o
924CONFIG_INTERNAL_SHA256=y
925CONFIG_INTERNAL_RC4=y
926endif
927
928ifndef TLS_FUNCS
929OBJS += ../src/crypto/tls_none.o
930ifeq ($(CONFIG_TLS), internal)
931CONFIG_INTERNAL_AES=y
932CONFIG_INTERNAL_SHA1=y
933CONFIG_INTERNAL_MD5=y
934CONFIG_INTERNAL_RC4=y
935endif
936endif
937
938AESOBJS = # none so far
939ifdef CONFIG_INTERNAL_AES
940AESOBJS += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-enc.o
941endif
942
Dmitry Shmidt216983b2015-02-06 10:50:36 -0800943ifneq ($(CONFIG_TLS), openssl)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700944ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700945AESOBJS += ../src/crypto/aes-wrap.o
Dmitry Shmidt216983b2015-02-06 10:50:36 -0800946endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700947endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700948ifdef NEED_AES_EAX
949AESOBJS += ../src/crypto/aes-eax.o
950NEED_AES_CTR=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700951endif
952ifdef NEED_AES_SIV
953AESOBJS += ../src/crypto/aes-siv.o
954NEED_AES_CTR=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700955endif
956ifdef NEED_AES_CTR
957AESOBJS += ../src/crypto/aes-ctr.o
958endif
959ifdef NEED_AES_ENCBLOCK
960AESOBJS += ../src/crypto/aes-encblock.o
961endif
Sunil Ravia04bd252022-05-02 22:54:18 -0700962ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700963ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700964ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700965AESOBJS += ../src/crypto/aes-omac1.o
966endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700967endif
Sunil Ravia04bd252022-05-02 22:54:18 -0700968endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700969ifdef NEED_AES_UNWRAP
Dmitry Shmidt216983b2015-02-06 10:50:36 -0800970ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700971ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700972ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700973NEED_AES_DEC=y
974AESOBJS += ../src/crypto/aes-unwrap.o
975endif
Dmitry Shmidt216983b2015-02-06 10:50:36 -0800976endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700977endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700978endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700979ifdef NEED_AES_CBC
980NEED_AES_DEC=y
Dmitry Shmidt912c6ec2015-03-30 13:16:51 -0700981ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700982ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700983ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700984AESOBJS += ../src/crypto/aes-cbc.o
985endif
Dmitry Shmidt912c6ec2015-03-30 13:16:51 -0700986endif
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800987endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700988endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700989ifdef NEED_AES_DEC
990ifdef CONFIG_INTERNAL_AES
991AESOBJS += ../src/crypto/aes-internal-dec.o
992endif
993endif
994ifdef NEED_AES
995OBJS += $(AESOBJS)
996endif
997
998ifdef NEED_SHA1
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700999ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001000ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001001ifneq ($(CONFIG_TLS), gnutls)
1002ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001003SHA1OBJS += ../src/crypto/sha1.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001004endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001005endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001006endif
1007endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001008SHA1OBJS += ../src/crypto/sha1-prf.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001009ifdef CONFIG_INTERNAL_SHA1
1010SHA1OBJS += ../src/crypto/sha1-internal.o
1011ifdef NEED_FIPS186_2_PRF
1012SHA1OBJS += ../src/crypto/fips_prf_internal.o
1013endif
1014endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001015ifneq ($(CONFIG_TLS), openssl)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001016ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001017SHA1OBJS += ../src/crypto/sha1-pbkdf2.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001018endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001019endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001020ifdef NEED_T_PRF
1021SHA1OBJS += ../src/crypto/sha1-tprf.o
1022endif
1023ifdef NEED_TLS_PRF
1024SHA1OBJS += ../src/crypto/sha1-tlsprf.o
1025endif
1026endif
1027
1028ifdef NEED_SHA1
1029OBJS += $(SHA1OBJS)
1030endif
1031
Dmitry Shmidt216983b2015-02-06 10:50:36 -08001032ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001033ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001034ifneq ($(CONFIG_TLS), gnutls)
1035ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt216983b2015-02-06 10:50:36 -08001036OBJS += ../src/crypto/md5.o
1037endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001038endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001039endif
1040endif
Dmitry Shmidt216983b2015-02-06 10:50:36 -08001041
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001042ifdef NEED_MD5
1043ifdef CONFIG_INTERNAL_MD5
1044OBJS += ../src/crypto/md5-internal.o
1045HOBJS += ../src/crypto/md5-internal.o
1046endif
1047endif
1048
1049ifdef NEED_MD4
1050ifdef CONFIG_INTERNAL_MD4
1051OBJS += ../src/crypto/md4-internal.o
1052endif
1053endif
1054
1055ifdef NEED_DES
Roshan Pius3a1667e2018-07-03 15:17:14 -07001056CFLAGS += -DCONFIG_DES
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001057ifdef CONFIG_INTERNAL_DES
1058OBJS += ../src/crypto/des-internal.o
1059endif
1060endif
1061
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001062ifdef CONFIG_NO_RC4
1063CFLAGS += -DCONFIG_NO_RC4
1064endif
1065
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001066ifdef NEED_RC4
1067ifdef CONFIG_INTERNAL_RC4
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001068ifndef CONFIG_NO_RC4
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001069OBJS += ../src/crypto/rc4.o
1070endif
1071endif
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001072endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001073
Sunil Ravi79e6c4f2025-01-04 00:47:06 +00001074ifdef CONFIG_SAE
1075ifdef NEED_SHA384
1076# Need to add HMAC-SHA384 KDF as well, if SHA384 was enabled.
1077NEED_HMAC_SHA384_KDF=y
1078endif
1079ifdef NEED_SHA512
1080# Need to add HMAC-SHA512 KDF as well, if SHA512 was enabled.
1081NEED_HMAC_SHA512_KDF=y
1082endif
1083endif
1084
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001085CFLAGS += -DCONFIG_SHA256
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001086ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001087ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001088ifneq ($(CONFIG_TLS), gnutls)
1089ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001090OBJS += ../src/crypto/sha256.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001091endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001092endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001093endif
1094endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001095OBJS += ../src/crypto/sha256-prf.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001096ifdef CONFIG_INTERNAL_SHA256
1097OBJS += ../src/crypto/sha256-internal.o
1098endif
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001099ifdef NEED_TLS_PRF_SHA256
1100OBJS += ../src/crypto/sha256-tlsprf.o
1101endif
Hai Shalomc3565922019-10-28 11:58:20 -07001102ifdef NEED_TLS_PRF_SHA384
1103OBJS += ../src/crypto/sha384-tlsprf.o
1104endif
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -08001105ifdef NEED_HMAC_SHA256_KDF
1106OBJS += ../src/crypto/sha256-kdf.o
1107endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001108ifdef NEED_HMAC_SHA384_KDF
1109OBJS += ../src/crypto/sha384-kdf.o
1110endif
1111ifdef NEED_HMAC_SHA512_KDF
1112OBJS += ../src/crypto/sha512-kdf.o
1113endif
Dmitry Shmidt807291d2015-01-27 13:40:23 -08001114ifdef NEED_SHA384
1115CFLAGS += -DCONFIG_SHA384
Dmitry Shmidtebd93af2017-02-21 13:40:44 -08001116ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001117ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001118ifneq ($(CONFIG_TLS), gnutls)
1119ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidtebd93af2017-02-21 13:40:44 -08001120OBJS += ../src/crypto/sha384.o
1121endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001122endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001123endif
1124endif
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001125OBJS += ../src/crypto/sha384-prf.o
Dmitry Shmidt807291d2015-01-27 13:40:23 -08001126endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001127ifdef NEED_SHA512
1128CFLAGS += -DCONFIG_SHA512
1129ifneq ($(CONFIG_TLS), openssl)
1130ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001131ifneq ($(CONFIG_TLS), gnutls)
1132ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001133OBJS += ../src/crypto/sha512.o
1134endif
1135endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001136endif
1137endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001138OBJS += ../src/crypto/sha512-prf.o
1139endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001140
Dmitry Shmidtd7ff03d2015-12-04 14:49:35 -08001141ifdef CONFIG_INTERNAL_SHA384
1142CFLAGS += -DCONFIG_INTERNAL_SHA384
1143OBJS += ../src/crypto/sha384-internal.o
1144endif
1145
1146ifdef CONFIG_INTERNAL_SHA512
1147CFLAGS += -DCONFIG_INTERNAL_SHA512
1148OBJS += ../src/crypto/sha512-internal.o
1149endif
1150
Hai Shalomfdcde762020-04-02 11:19:20 -07001151ifdef NEED_ASN1
1152OBJS += ../src/tls/asn1.o
1153endif
1154
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001155ifdef NEED_DH_GROUPS
1156OBJS += ../src/crypto/dh_groups.o
1157endif
1158ifdef NEED_DH_GROUPS_ALL
1159CFLAGS += -DALL_DH_GROUPS
1160endif
1161ifdef CONFIG_INTERNAL_DH_GROUP5
1162ifdef NEED_DH_GROUPS
1163OBJS += ../src/crypto/dh_group5.o
1164endif
1165endif
1166
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -08001167ifdef NEED_ECC
1168CFLAGS += -DCONFIG_ECC
1169endif
1170
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001171ifdef CONFIG_NO_RANDOM_POOL
1172CFLAGS += -DCONFIG_NO_RANDOM_POOL
1173else
Hai Shalom74f70d42019-02-11 14:42:39 -08001174ifdef CONFIG_GETRANDOM
1175CFLAGS += -DCONFIG_GETRANDOM
1176endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001177OBJS += ../src/crypto/random.o
1178HOBJS += ../src/crypto/random.o
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001179HOBJS += ../src/utils/eloop.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001180HOBJS += $(SHA1OBJS)
Dmitry Shmidtdda10c22015-03-24 16:05:01 -07001181ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001182ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001183ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001184HOBJS += ../src/crypto/md5.o
1185endif
Dmitry Shmidtdda10c22015-03-24 16:05:01 -07001186endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001187endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001188endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001189
1190ifdef CONFIG_RADIUS_SERVER
1191CFLAGS += -DRADIUS_SERVER
1192OBJS += ../src/radius/radius_server.o
1193endif
1194
1195ifdef CONFIG_IPV6
1196CFLAGS += -DCONFIG_IPV6
1197endif
1198
1199ifdef CONFIG_DRIVER_RADIUS_ACL
1200CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL
1201endif
1202
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001203ifdef NEED_BASE64
1204OBJS += ../src/utils/base64.o
1205endif
1206
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001207ifdef NEED_JSON
1208OBJS += ../src/utils/json.o
1209CFLAGS += -DCONFIG_JSON
1210endif
1211
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001212ifdef NEED_AP_MLME
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001213OBJS += ../src/ap/wmm.o
1214OBJS += ../src/ap/ap_list.o
Sunil Ravi38ad1ed2023-01-17 23:58:31 +00001215OBJS += ../src/ap/comeback_token.o
1216OBJS += ../src/pasn/pasn_responder.o
Sunil Ravi99c035e2024-07-12 01:42:03 +00001217OBJS += ../src/pasn/pasn_common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001218OBJS += ../src/ap/ieee802_11.o
1219OBJS += ../src/ap/hw_features.o
Dmitry Shmidt051af732013-10-22 13:52:46 -07001220OBJS += ../src/ap/dfs.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001221CFLAGS += -DNEED_AP_MLME
1222endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001223OBJS += ../src/ap/ieee802_11_ht.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001224
Dmitry Shmidt04949592012-07-19 12:16:46 -07001225ifdef CONFIG_IEEE80211AC
1226OBJS += ../src/ap/ieee802_11_vht.o
1227endif
1228
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001229ifdef CONFIG_P2P_MANAGER
1230CFLAGS += -DCONFIG_P2P_MANAGER
1231OBJS += ../src/ap/p2p_hostapd.o
1232endif
1233
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001234ifdef CONFIG_HS20
1235CFLAGS += -DCONFIG_HS20
1236OBJS += ../src/ap/hs20.o
1237CONFIG_INTERWORKING=y
1238endif
1239
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001240ifdef CONFIG_INTERWORKING
1241CFLAGS += -DCONFIG_INTERWORKING
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001242NEED_GAS=y
1243endif
1244
1245ifdef NEED_GAS
Dmitry Shmidt04949592012-07-19 12:16:46 -07001246OBJS += ../src/common/gas.o
1247OBJS += ../src/ap/gas_serv.o
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001248endif
1249
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -08001250ifdef CONFIG_PROXYARP
1251CFLAGS += -DCONFIG_PROXYARP
1252OBJS += ../src/ap/x_snoop.o
1253OBJS += ../src/ap/dhcp_snoop.o
1254ifdef CONFIG_IPV6
1255OBJS += ../src/ap/ndisc_snoop.o
1256endif
1257endif
1258
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001259OBJS += ../src/drivers/driver_common.o
1260
1261ifdef CONFIG_WPA_CLI_EDIT
1262OBJS_c += ../src/utils/edit.o
1263else
1264OBJS_c += ../src/utils/edit_simple.o
1265endif
1266
Dmitry Shmidt391c59f2013-09-03 12:16:28 -07001267ifdef CONFIG_ACS
1268CFLAGS += -DCONFIG_ACS
1269OBJS += ../src/ap/acs.o
1270LIBS += -lm
1271endif
1272
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001273ifdef CONFIG_NO_STDOUT_DEBUG
1274CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
1275endif
1276
Paul Stewart092955c2017-02-06 09:13:09 -08001277ifdef CONFIG_DEBUG_SYSLOG
1278CFLAGS += -DCONFIG_DEBUG_SYSLOG
1279endif
1280
Dmitry Shmidtcce06662013-11-04 18:44:24 -08001281ifdef CONFIG_DEBUG_LINUX_TRACING
1282CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING
1283endif
1284
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001285ifdef CONFIG_DEBUG_FILE
1286CFLAGS += -DCONFIG_DEBUG_FILE
1287endif
1288
Dmitry Shmidt4530cfd2012-09-09 15:20:40 -07001289ifdef CONFIG_SQLITE
1290CFLAGS += -DCONFIG_SQLITE
1291LIBS += -lsqlite3
1292LIBS_h += -lsqlite3
1293endif
1294
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001295ifdef CONFIG_FST
1296CFLAGS += -DCONFIG_FST
1297OBJS += ../src/fst/fst.o
1298OBJS += ../src/fst/fst_group.o
1299OBJS += ../src/fst/fst_iface.o
1300OBJS += ../src/fst/fst_session.o
1301OBJS += ../src/fst/fst_ctrl_aux.o
1302ifdef CONFIG_FST_TEST
1303CFLAGS += -DCONFIG_FST_TEST
1304endif
1305ifndef CONFIG_NO_CTRL_IFACE
1306OBJS += ../src/fst/fst_ctrl_iface.o
1307endif
1308endif
1309
Hai Shalomfdcde762020-04-02 11:19:20 -07001310ifdef CONFIG_WEP
1311CFLAGS += -DCONFIG_WEP
1312endif
1313
Hai Shalomb755a2a2020-04-23 21:49:02 -07001314ifdef CONFIG_NO_TKIP
1315CFLAGS += -DCONFIG_NO_TKIP
1316endif
1317
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -08001318$(DESTDIR)$(BINDIR)/%: %
1319 install -D $(<) $(@)
1320
1321install: $(addprefix $(DESTDIR)$(BINDIR)/,$(ALL))
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001322
Hai Shalom899fcc72020-10-19 14:38:18 -07001323_OBJS_VAR := OBJS
1324include ../src/objs.mk
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001325
Hai Shalom899fcc72020-10-19 14:38:18 -07001326hostapd: $(OBJS)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001327 $(Q)$(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS)
1328 @$(E) " LD " $@
1329
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001330ifdef CONFIG_WPA_TRACE
1331OBJS_c += ../src/utils/trace.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001332endif
Hai Shalom899fcc72020-10-19 14:38:18 -07001333
1334_OBJS_VAR := OBJS_c
1335include ../src/objs.mk
1336
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001337hostapd_cli: $(OBJS_c)
1338 $(Q)$(CC) $(LDFLAGS) -o hostapd_cli $(OBJS_c) $(LIBS_c)
1339 @$(E) " LD " $@
1340
Dmitry Shmidt216983b2015-02-06 10:50:36 -08001341NOBJS = nt_password_hash.o ../src/crypto/ms_funcs.o $(SHA1OBJS)
Dmitry Shmidtff787d52015-01-12 13:01:47 -08001342NOBJS += ../src/utils/common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001343ifdef NEED_RC4
1344ifdef CONFIG_INTERNAL_RC4
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001345ifndef CONFIG_NO_RC4
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001346NOBJS += ../src/crypto/rc4.o
1347endif
1348endif
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001349endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001350ifdef CONFIG_INTERNAL_MD5
1351NOBJS += ../src/crypto/md5-internal.o
1352endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001353NOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
1354NOBJS += ../src/utils/os_$(CONFIG_OS).o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001355NOBJS += ../src/utils/wpa_debug.o
1356NOBJS += ../src/utils/wpabuf.o
1357ifdef CONFIG_WPA_TRACE
1358NOBJS += ../src/utils/trace.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001359endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001360
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001361HOBJS += 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
1362HOBJS += ../src/crypto/aes-encblock.o
1363ifdef CONFIG_INTERNAL_AES
1364HOBJS += ../src/crypto/aes-internal.o
1365HOBJS += ../src/crypto/aes-internal-enc.o
1366endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001367ifeq ($(CONFIG_TLS), linux)
1368HOBJS += ../src/crypto/crypto_linux.o
1369endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001370
Hai Shalom899fcc72020-10-19 14:38:18 -07001371SOBJS += sae_pk_gen.o
1372SOBJS += ../src/utils/common.o
1373SOBJS += ../src/utils/os_$(CONFIG_OS).o
1374SOBJS += ../src/utils/base64.o
1375SOBJS += ../src/utils/wpa_debug.o
1376SOBJS += ../src/utils/wpabuf.o
1377ifdef CONFIG_WPA_TRACE
1378SOBJS += ../src/utils/trace.o
1379endif
1380SOBJS += ../src/common/ieee802_11_common.o
1381SOBJS += ../src/common/sae.o
1382SOBJS += ../src/common/sae_pk.o
1383SOBJS += ../src/common/dragonfly.o
1384SOBJS += $(AESOBJS)
Sunil Ravi79e6c4f2025-01-04 00:47:06 +00001385SOBJS += ../src/crypto/sha384.o
1386SOBJS += ../src/crypto/sha512.o
Hai Shalom899fcc72020-10-19 14:38:18 -07001387SOBJS += ../src/crypto/sha256-prf.o
1388SOBJS += ../src/crypto/sha384-prf.o
1389SOBJS += ../src/crypto/sha512-prf.o
1390SOBJS += ../src/crypto/dh_groups.o
1391SOBJS += ../src/crypto/sha256-kdf.o
1392SOBJS += ../src/crypto/sha384-kdf.o
1393SOBJS += ../src/crypto/sha512-kdf.o
Sunil Ravi79e6c4f2025-01-04 00:47:06 +00001394SOBJS += ../src/common/wpa_common.o
1395SOBJS += ../src/crypto/random.o
1396SOBJS += ../src/crypto/sha1-prf.o
1397SOBJS += ../src/utils/eloop.o
Hai Shalom899fcc72020-10-19 14:38:18 -07001398
1399_OBJS_VAR := NOBJS
1400include ../src/objs.mk
1401_OBJS_VAR := HOBJS
1402include ../src/objs.mk
1403_OBJS_VAR := SOBJS
1404include ../src/objs.mk
1405
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001406nt_password_hash: $(NOBJS)
1407 $(Q)$(CC) $(LDFLAGS) -o nt_password_hash $(NOBJS) $(LIBS_n)
1408 @$(E) " LD " $@
1409
1410hlr_auc_gw: $(HOBJS)
1411 $(Q)$(CC) $(LDFLAGS) -o hlr_auc_gw $(HOBJS) $(LIBS_h)
1412 @$(E) " LD " $@
1413
Hai Shalom899fcc72020-10-19 14:38:18 -07001414sae_pk_gen: $(SOBJS)
1415 $(Q)$(CC) $(LDFLAGS) -o sae_pk_gen $(SOBJS) $(LIBS_s)
1416 @$(E) " LD " $@
1417
1418.PHONY: lcov-html
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -08001419lcov-html:
Hai Shalom899fcc72020-10-19 14:38:18 -07001420 lcov -c -d $(BUILDDIR) > lcov.info
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -08001421 genhtml lcov.info --output-directory lcov-html
1422
Hai Shalom899fcc72020-10-19 14:38:18 -07001423clean: common-clean
1424 rm -f core *~ nt_password_hash hlr_auc_gw
1425 rm -f sae_pk_gen
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -08001426 rm -f lcov.info
1427 rm -rf lcov-html