blob: ce7d2153b0e6464f3994e264bba382c832ae5c09 [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
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080087
Dmitry Shmidt7f2c7532016-08-15 09:48:12 -070088OBJS_c = hostapd_cli.o
89OBJS_c += ../src/common/wpa_ctrl.o
90OBJS_c += ../src/utils/os_$(CONFIG_OS).o
91OBJS_c += ../src/common/cli.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070092
93NEED_RC4=y
94NEED_AES=y
95NEED_MD5=y
96NEED_SHA1=y
97
98OBJS += ../src/drivers/drivers.o
99CFLAGS += -DHOSTAPD
100
Dmitry Shmidtaca489e2016-09-28 15:44:14 -0700101ifdef CONFIG_TAXONOMY
102CFLAGS += -DCONFIG_TAXONOMY
103OBJS += ../src/ap/taxonomy.o
104endif
105
Dmitry Shmidt7f93d6f2014-02-21 11:22:49 -0800106ifdef CONFIG_MODULE_TESTS
107CFLAGS += -DCONFIG_MODULE_TESTS
108OBJS += hapd_module_tests.o
109endif
110
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700111ifdef CONFIG_WPA_TRACE
112CFLAGS += -DWPA_TRACE
113OBJS += ../src/utils/trace.o
114HOBJS += ../src/utils/trace.o
115LDFLAGS += -rdynamic
116CFLAGS += -funwind-tables
117ifdef CONFIG_WPA_TRACE_BFD
Dmitry Shmidtec58b162014-02-19 12:44:18 -0800118CFLAGS += -DPACKAGE="hostapd" -DWPA_TRACE_BFD
Dmitry Shmidt13ca8d82014-02-20 10:18:40 -0800119LIBS += -lbfd -ldl -liberty -lz
120LIBS_c += -lbfd -ldl -liberty -lz
121LIBS_h += -lbfd -ldl -liberty -lz
Hai Shalomc3565922019-10-28 11:58:20 -0700122LIBS_n += -lbfd -ldl -liberty -lz
Hai Shalom899fcc72020-10-19 14:38:18 -0700123LIBS_s += -lbfd -ldl -liberty -lz
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700124endif
125endif
126
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800127ifndef CONFIG_ELOOP
128CONFIG_ELOOP=eloop
129endif
130OBJS += ../src/utils/$(CONFIG_ELOOP).o
131OBJS_c += ../src/utils/$(CONFIG_ELOOP).o
Dmitry Shmidtfa3fc4a2013-11-21 13:34:38 -0800132
133ifeq ($(CONFIG_ELOOP), eloop)
134# Using glibc < 2.17 requires -lrt for clock_gettime()
135LIBS += -lrt
136LIBS_c += -lrt
137LIBS_h += -lrt
Dmitry Shmidtbd14a572014-02-18 10:33:49 -0800138LIBS_n += -lrt
Dmitry Shmidtfa3fc4a2013-11-21 13:34:38 -0800139endif
140
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800141ifdef CONFIG_ELOOP_POLL
142CFLAGS += -DCONFIG_ELOOP_POLL
143endif
144
145ifdef CONFIG_ELOOP_EPOLL
146CFLAGS += -DCONFIG_ELOOP_EPOLL
147endif
148
Dmitry Shmidtb97e4282016-02-08 10:16:07 -0800149ifdef CONFIG_ELOOP_KQUEUE
150CFLAGS += -DCONFIG_ELOOP_KQUEUE
151endif
152
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700153OBJS += ../src/utils/common.o
Dmitry Shmidta3dc3092015-06-23 11:21:28 -0700154OBJS_c += ../src/utils/common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700155OBJS += ../src/utils/wpa_debug.o
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800156OBJS_c += ../src/utils/wpa_debug.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700157OBJS += ../src/utils/wpabuf.o
158OBJS += ../src/utils/os_$(CONFIG_OS).o
159OBJS += ../src/utils/ip_addr.o
Hai Shalomfdcde762020-04-02 11:19:20 -0700160OBJS += ../src/utils/crc32.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700161
162OBJS += ../src/common/ieee802_11_common.o
163OBJS += ../src/common/wpa_common.o
Dmitry Shmidtff787d52015-01-12 13:01:47 -0800164OBJS += ../src/common/hw_features_common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700165
166OBJS += ../src/eapol_auth/eapol_auth_sm.o
167
168
Dmitry Shmidt01904cf2013-12-05 11:08:35 -0800169ifdef CONFIG_CODE_COVERAGE
170CFLAGS += -O0 -fprofile-arcs -ftest-coverage
171LIBS += -lgcov
172LIBS_c += -lgcov
173LIBS_h += -lgcov
174LIBS_n += -lgcov
175endif
176
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700177ifndef CONFIG_NO_DUMP_STATE
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -0800178# define HOSTAPD_DUMP_STATE to include support for dumping internal state
179# through control interface commands (undefine it, if you want to save in
180# binary size)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700181CFLAGS += -DHOSTAPD_DUMP_STATE
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700182OBJS += ../src/eapol_auth/eapol_auth_dump.o
183endif
184
185ifdef CONFIG_NO_RADIUS
186CFLAGS += -DCONFIG_NO_RADIUS
187CONFIG_NO_ACCOUNTING=y
188else
189OBJS += ../src/radius/radius.o
190OBJS += ../src/radius/radius_client.o
Dmitry Shmidt04949592012-07-19 12:16:46 -0700191OBJS += ../src/radius/radius_das.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700192endif
193
194ifdef CONFIG_NO_ACCOUNTING
195CFLAGS += -DCONFIG_NO_ACCOUNTING
196else
197OBJS += ../src/ap/accounting.o
198endif
199
200ifdef CONFIG_NO_VLAN
201CFLAGS += -DCONFIG_NO_VLAN
202else
203OBJS += ../src/ap/vlan_init.o
Dmitry Shmidte4663042016-04-04 10:07:49 -0700204OBJS += ../src/ap/vlan_ifconfig.o
Dmitry Shmidt57c2d392016-02-23 13:40:19 -0800205OBJS += ../src/ap/vlan.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700206ifdef CONFIG_FULL_DYNAMIC_VLAN
Dmitry Shmidte4663042016-04-04 10:07:49 -0700207# Define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
208# and VLAN interfaces for the VLAN feature.
209CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
210OBJS += ../src/ap/vlan_full.o
211ifdef CONFIG_VLAN_NETLINK
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700212OBJS += ../src/ap/vlan_util.o
Dmitry Shmidte4663042016-04-04 10:07:49 -0700213else
214OBJS += ../src/ap/vlan_ioctl.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700215endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700216endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700217endif
218
219ifdef CONFIG_NO_CTRL_IFACE
220CFLAGS += -DCONFIG_NO_CTRL_IFACE
221else
Dmitry Shmidt31a29cc2016-03-09 15:58:17 -0800222ifeq ($(CONFIG_CTRL_IFACE), udp)
223CFLAGS += -DCONFIG_CTRL_IFACE_UDP
224else
225ifeq ($(CONFIG_CTRL_IFACE), udp6)
226CFLAGS += -DCONFIG_CTRL_IFACE_UDP
227CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6
228else
229ifeq ($(CONFIG_CTRL_IFACE), udp-remote)
230CFLAGS += -DCONFIG_CTRL_IFACE_UDP
231CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE
232else
233ifeq ($(CONFIG_CTRL_IFACE), udp6-remote)
234CFLAGS += -DCONFIG_CTRL_IFACE_UDP
235CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE
236CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6
237else
238CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
239endif
240endif
241endif
242endif
243OBJS += ../src/common/ctrl_iface_common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700244OBJS += ctrl_iface.o
245OBJS += ../src/ap/ctrl_iface_ap.o
246endif
247
Dmitry Shmidt31a29cc2016-03-09 15:58:17 -0800248ifndef CONFIG_NO_CTRL_IFACE
249CFLAGS += -DCONFIG_CTRL_IFACE
250endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700251
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700252ifdef CONFIG_RSN_PREAUTH
253CFLAGS += -DCONFIG_RSN_PREAUTH
254CONFIG_L2_PACKET=y
255endif
256
Dmitry Shmidtf21452a2014-02-26 10:55:25 -0800257ifdef CONFIG_HS20
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -0800258CONFIG_PROXYARP=y
259endif
260
261ifdef CONFIG_PROXYARP
262CONFIG_L2_PACKET=y
263endif
264
265ifdef CONFIG_SUITEB
266CFLAGS += -DCONFIG_SUITEB
Dmitry Shmidtf21452a2014-02-26 10:55:25 -0800267endif
268
Dmitry Shmidt807291d2015-01-27 13:40:23 -0800269ifdef CONFIG_SUITEB192
270CFLAGS += -DCONFIG_SUITEB192
271NEED_SHA384=y
272endif
273
Hai Shalom74f70d42019-02-11 14:42:39 -0800274ifdef CONFIG_OCV
275CFLAGS += -DCONFIG_OCV
276OBJS += ../src/common/ocv.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700277endif
278
279ifdef CONFIG_IEEE80211R
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800280CFLAGS += -DCONFIG_IEEE80211R -DCONFIG_IEEE80211R_AP
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700281OBJS += ../src/ap/wpa_auth_ft.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700282NEED_AES_UNWRAP=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700283NEED_AES_SIV=y
284NEED_ETH_P_OUI=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700285NEED_HMAC_SHA256_KDF=y
286endif
287
288ifdef NEED_ETH_P_OUI
289CFLAGS += -DCONFIG_ETH_P_OUI
290OBJS += ../src/ap/eth_p_oui.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700291endif
292
Dmitry Shmidtd5e49232012-12-03 15:08:10 -0800293ifdef CONFIG_SAE
294CFLAGS += -DCONFIG_SAE
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800295OBJS += ../src/common/sae.o
Hai Shalom899fcc72020-10-19 14:38:18 -0700296ifdef CONFIG_SAE_PK
297CFLAGS += -DCONFIG_SAE_PK
298OBJS += ../src/common/sae_pk.o
299endif
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800300NEED_ECC=y
301NEED_DH_GROUPS=y
Hai Shalomb755a2a2020-04-23 21:49:02 -0700302NEED_HMAC_SHA256_KDF=y
Dmitry Shmidt912c6ec2015-03-30 13:16:51 -0700303NEED_AP_MLME=y
Hai Shalom81f62d82019-07-22 12:10:00 -0700304NEED_DRAGONFLY=y
Dmitry Shmidtd5e49232012-12-03 15:08:10 -0800305endif
306
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700307ifdef CONFIG_OWE
308CFLAGS += -DCONFIG_OWE
309NEED_ECC=y
310NEED_HMAC_SHA256_KDF=y
311NEED_HMAC_SHA384_KDF=y
312NEED_HMAC_SHA512_KDF=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700313NEED_SHA384=y
314NEED_SHA512=y
315endif
316
Jimmy Chencaaac072019-09-16 16:36:06 +0800317ifdef CONFIG_WAPI_INTERFACE
318L_CFLAGS += -DCONFIG_WAPI_INTERFACE
319endif
320
Hai Shalom81f62d82019-07-22 12:10:00 -0700321ifdef CONFIG_AIRTIME_POLICY
322CFLAGS += -DCONFIG_AIRTIME_POLICY
323OBJS += ../src/ap/airtime_policy.o
324endif
325
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800326ifdef CONFIG_FILS
327CFLAGS += -DCONFIG_FILS
Dmitry Shmidtebd93af2017-02-21 13:40:44 -0800328OBJS += ../src/ap/fils_hlp.o
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800329NEED_SHA384=y
330NEED_AES_SIV=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700331ifdef CONFIG_FILS_SK_PFS
332CFLAGS += -DCONFIG_FILS_SK_PFS
333NEED_ECC=y
334endif
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800335endif
336
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -0800337ifdef CONFIG_WNM
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700338CFLAGS += -DCONFIG_WNM -DCONFIG_WNM_AP
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700339OBJS += ../src/ap/wnm_ap.o
340endif
341
Dmitry Shmidt04949592012-07-19 12:16:46 -0700342ifdef CONFIG_IEEE80211AC
343CFLAGS += -DCONFIG_IEEE80211AC
344endif
345
Dmitry Shmidtebd93af2017-02-21 13:40:44 -0800346ifdef CONFIG_IEEE80211AX
347CFLAGS += -DCONFIG_IEEE80211AX
348OBJS += ../src/ap/ieee802_11_he.o
349endif
350
Dmitry Shmidt57c2d392016-02-23 13:40:19 -0800351ifdef CONFIG_MBO
352CFLAGS += -DCONFIG_MBO
353OBJS += ../src/ap/mbo_ap.o
354endif
355
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700356include ../src/drivers/drivers.mak
357OBJS += $(DRV_AP_OBJS)
358CFLAGS += $(DRV_AP_CFLAGS)
359LDFLAGS += $(DRV_AP_LDFLAGS)
360LIBS += $(DRV_AP_LIBS)
361
362ifdef CONFIG_L2_PACKET
363ifdef CONFIG_DNET_PCAP
364ifdef CONFIG_L2_FREEBSD
365LIBS += -lpcap
366OBJS += ../src/l2_packet/l2_packet_freebsd.o
367else
368LIBS += -ldnet -lpcap
369OBJS += ../src/l2_packet/l2_packet_pcap.o
370endif
371else
372OBJS += ../src/l2_packet/l2_packet_linux.o
373endif
374else
375OBJS += ../src/l2_packet/l2_packet_none.o
376endif
377
378
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -0800379ifdef CONFIG_ERP
380CFLAGS += -DCONFIG_ERP
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -0800381NEED_HMAC_SHA256_KDF=y
382endif
383
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700384ifdef CONFIG_EAP_MD5
385CFLAGS += -DEAP_SERVER_MD5
386OBJS += ../src/eap_server/eap_server_md5.o
387CHAP=y
388endif
389
390ifdef CONFIG_EAP_TLS
391CFLAGS += -DEAP_SERVER_TLS
392OBJS += ../src/eap_server/eap_server_tls.o
393TLS_FUNCS=y
394endif
395
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700396ifdef CONFIG_EAP_UNAUTH_TLS
397CFLAGS += -DEAP_SERVER_UNAUTH_TLS
398ifndef CONFIG_EAP_TLS
399OBJS += ../src/eap_server/eap_server_tls.o
400TLS_FUNCS=y
401endif
402endif
403
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700404ifdef CONFIG_EAP_PEAP
405CFLAGS += -DEAP_SERVER_PEAP
406OBJS += ../src/eap_server/eap_server_peap.o
407OBJS += ../src/eap_common/eap_peap_common.o
408TLS_FUNCS=y
409CONFIG_EAP_MSCHAPV2=y
410endif
411
412ifdef CONFIG_EAP_TTLS
413CFLAGS += -DEAP_SERVER_TTLS
414OBJS += ../src/eap_server/eap_server_ttls.o
415TLS_FUNCS=y
416CHAP=y
417endif
418
419ifdef CONFIG_EAP_MSCHAPV2
420CFLAGS += -DEAP_SERVER_MSCHAPV2
421OBJS += ../src/eap_server/eap_server_mschapv2.o
422MS_FUNCS=y
423endif
424
425ifdef CONFIG_EAP_GTC
426CFLAGS += -DEAP_SERVER_GTC
427OBJS += ../src/eap_server/eap_server_gtc.o
428endif
429
430ifdef CONFIG_EAP_SIM
431CFLAGS += -DEAP_SERVER_SIM
432OBJS += ../src/eap_server/eap_server_sim.o
433CONFIG_EAP_SIM_COMMON=y
434NEED_AES_CBC=y
435endif
436
437ifdef CONFIG_EAP_AKA
438CFLAGS += -DEAP_SERVER_AKA
439OBJS += ../src/eap_server/eap_server_aka.o
440CONFIG_EAP_SIM_COMMON=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700441NEED_AES_CBC=y
442endif
443
444ifdef CONFIG_EAP_AKA_PRIME
445CFLAGS += -DEAP_SERVER_AKA_PRIME
446endif
447
448ifdef CONFIG_EAP_SIM_COMMON
449OBJS += ../src/eap_common/eap_sim_common.o
450# Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
Hai Shalom899fcc72020-10-19 14:38:18 -0700451# replaced with another file implementing the interface specified in
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700452# eap_sim_db.h.
453OBJS += ../src/eap_server/eap_sim_db.o
454NEED_FIPS186_2_PRF=y
455endif
456
457ifdef CONFIG_EAP_PAX
458CFLAGS += -DEAP_SERVER_PAX
459OBJS += ../src/eap_server/eap_server_pax.o ../src/eap_common/eap_pax_common.o
460endif
461
462ifdef CONFIG_EAP_PSK
463CFLAGS += -DEAP_SERVER_PSK
464OBJS += ../src/eap_server/eap_server_psk.o ../src/eap_common/eap_psk_common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700465NEED_AES_ENCBLOCK=y
466NEED_AES_EAX=y
467endif
468
469ifdef CONFIG_EAP_SAKE
470CFLAGS += -DEAP_SERVER_SAKE
471OBJS += ../src/eap_server/eap_server_sake.o ../src/eap_common/eap_sake_common.o
472endif
473
474ifdef CONFIG_EAP_GPSK
475CFLAGS += -DEAP_SERVER_GPSK
476OBJS += ../src/eap_server/eap_server_gpsk.o ../src/eap_common/eap_gpsk_common.o
477ifdef CONFIG_EAP_GPSK_SHA256
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -0800478CFLAGS += -DEAP_GPSK_SHA256
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700479endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700480endif
481
482ifdef CONFIG_EAP_PWD
483CFLAGS += -DEAP_SERVER_PWD
484OBJS += ../src/eap_server/eap_server_pwd.o ../src/eap_common/eap_pwd_common.o
Roshan Pius3a1667e2018-07-03 15:17:14 -0700485NEED_ECC=y
Hai Shalom81f62d82019-07-22 12:10:00 -0700486NEED_DRAGONFLY=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700487endif
488
Dmitry Shmidt34af3062013-07-11 10:46:32 -0700489ifdef CONFIG_EAP_EKE
490CFLAGS += -DEAP_SERVER_EKE
491OBJS += ../src/eap_server/eap_server_eke.o ../src/eap_common/eap_eke_common.o
492NEED_DH_GROUPS=y
493NEED_DH_GROUPS_ALL=y
494endif
495
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700496ifdef CONFIG_EAP_VENDOR_TEST
497CFLAGS += -DEAP_SERVER_VENDOR_TEST
498OBJS += ../src/eap_server/eap_server_vendor_test.o
499endif
500
501ifdef CONFIG_EAP_FAST
502CFLAGS += -DEAP_SERVER_FAST
503OBJS += ../src/eap_server/eap_server_fast.o
504OBJS += ../src/eap_common/eap_fast_common.o
505TLS_FUNCS=y
506NEED_T_PRF=y
507NEED_AES_UNWRAP=y
508endif
509
Hai Shalom81f62d82019-07-22 12:10:00 -0700510ifdef CONFIG_EAP_TEAP
511CFLAGS += -DEAP_SERVER_TEAP
512OBJS += ../src/eap_server/eap_server_teap.o
513OBJS += ../src/eap_common/eap_teap_common.o
514TLS_FUNCS=y
515NEED_T_PRF=y
516NEED_SHA384=y
Hai Shalomc3565922019-10-28 11:58:20 -0700517NEED_TLS_PRF_SHA256=y
518NEED_TLS_PRF_SHA384=y
Hai Shalom81f62d82019-07-22 12:10:00 -0700519NEED_AES_UNWRAP=y
520endif
521
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700522ifdef CONFIG_WPS
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700523CFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC
524OBJS += ../src/utils/uuid.o
525OBJS += ../src/ap/wps_hostapd.o
526OBJS += ../src/eap_server/eap_server_wsc.o ../src/eap_common/eap_wsc_common.o
527OBJS += ../src/wps/wps.o
528OBJS += ../src/wps/wps_common.o
529OBJS += ../src/wps/wps_attr_parse.o
530OBJS += ../src/wps/wps_attr_build.o
531OBJS += ../src/wps/wps_attr_process.o
532OBJS += ../src/wps/wps_dev_attr.o
533OBJS += ../src/wps/wps_enrollee.o
534OBJS += ../src/wps/wps_registrar.o
535NEED_DH_GROUPS=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700536NEED_BASE64=y
537NEED_AES_CBC=y
538NEED_MODEXP=y
539CONFIG_EAP=y
540
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700541ifdef CONFIG_WPS_NFC
542CFLAGS += -DCONFIG_WPS_NFC
543OBJS += ../src/wps/ndef.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700544NEED_WPS_OOB=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700545endif
546
547ifdef NEED_WPS_OOB
548CFLAGS += -DCONFIG_WPS_OOB
549endif
550
551ifdef CONFIG_WPS_UPNP
552CFLAGS += -DCONFIG_WPS_UPNP
553OBJS += ../src/wps/wps_upnp.o
554OBJS += ../src/wps/wps_upnp_ssdp.o
555OBJS += ../src/wps/wps_upnp_web.o
556OBJS += ../src/wps/wps_upnp_event.o
557OBJS += ../src/wps/wps_upnp_ap.o
558OBJS += ../src/wps/upnp_xml.o
559OBJS += ../src/wps/httpread.o
560OBJS += ../src/wps/http_client.o
561OBJS += ../src/wps/http_server.o
562endif
563
564ifdef CONFIG_WPS_STRICT
565CFLAGS += -DCONFIG_WPS_STRICT
566OBJS += ../src/wps/wps_validate.o
567endif
568
569ifdef CONFIG_WPS_TESTING
570CFLAGS += -DCONFIG_WPS_TESTING
571endif
572
573endif
574
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700575ifdef CONFIG_DPP
576CFLAGS += -DCONFIG_DPP
577OBJS += ../src/common/dpp.o
Hai Shalom4fbc08f2020-05-18 12:37:00 -0700578OBJS += ../src/common/dpp_auth.o
579OBJS += ../src/common/dpp_backup.o
580OBJS += ../src/common/dpp_crypto.o
581OBJS += ../src/common/dpp_pkex.o
582OBJS += ../src/common/dpp_reconfig.o
583OBJS += ../src/common/dpp_tcp.o
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700584OBJS += ../src/ap/dpp_hostapd.o
585OBJS += ../src/ap/gas_query_ap.o
586NEED_AES_SIV=y
587NEED_HMAC_SHA256_KDF=y
588NEED_HMAC_SHA384_KDF=y
589NEED_HMAC_SHA512_KDF=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700590NEED_SHA384=y
591NEED_SHA512=y
Hai Shalomc3565922019-10-28 11:58:20 -0700592NEED_ECC=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700593NEED_JSON=y
594NEED_GAS=y
595NEED_BASE64=y
Hai Shalomfdcde762020-04-02 11:19:20 -0700596NEED_ASN1=y
Hai Shalom021b0b52019-04-10 11:17:58 -0700597ifdef CONFIG_DPP2
598CFLAGS += -DCONFIG_DPP2
599endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700600endif
601
Hai Shalom60840252021-02-19 19:02:11 -0800602ifdef CONFIG_PASN
603CFLAGS += -DCONFIG_PASN
604CFLAGS += -DCONFIG_PTKSA_CACHE
605NEED_HMAC_SHA256_KDF=y
606NEED_HMAC_SHA384_KDF=y
607NEED_SHA256=y
608NEED_SHA384=y
609OBJS += ../src/common/ptksa_cache.o
610endif
611
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700612ifdef CONFIG_EAP_IKEV2
613CFLAGS += -DEAP_SERVER_IKEV2
614OBJS += ../src/eap_server/eap_server_ikev2.o ../src/eap_server/ikev2.o
615OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o
616NEED_DH_GROUPS=y
617NEED_DH_GROUPS_ALL=y
618NEED_MODEXP=y
619NEED_CIPHER=y
620endif
621
622ifdef CONFIG_EAP_TNC
623CFLAGS += -DEAP_SERVER_TNC
624OBJS += ../src/eap_server/eap_server_tnc.o
625OBJS += ../src/eap_server/tncs.o
626NEED_BASE64=y
627ifndef CONFIG_DRIVER_BSD
628LIBS += -ldl
629endif
630endif
631
Hai Shalom81f62d82019-07-22 12:10:00 -0700632ifdef CONFIG_MACSEC
633CFLAGS += -DCONFIG_MACSEC
634OBJS += ../src/ap/wpa_auth_kay.o
635OBJS += ../src/pae/ieee802_1x_cp.o
636OBJS += ../src/pae/ieee802_1x_kay.o
637OBJS += ../src/pae/ieee802_1x_key.o
638OBJS += ../src/pae/ieee802_1x_secy_ops.o
639endif
640
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700641# Basic EAP functionality is needed for EAPOL
642OBJS += eap_register.o
643OBJS += ../src/eap_server/eap_server.o
644OBJS += ../src/eap_common/eap_common.o
645OBJS += ../src/eap_server/eap_server_methods.o
646OBJS += ../src/eap_server/eap_server_identity.o
647CFLAGS += -DEAP_SERVER_IDENTITY
648
649ifdef CONFIG_EAP
650CFLAGS += -DEAP_SERVER
651endif
652
653ifdef CONFIG_PKCS12
654CFLAGS += -DPKCS12_FUNCS
655endif
656
Hai Shalom81f62d82019-07-22 12:10:00 -0700657ifdef NEED_DRAGONFLY
658OBJS += ../src/common/dragonfly.o
659endif
660
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700661ifdef MS_FUNCS
662OBJS += ../src/crypto/ms_funcs.o
663NEED_DES=y
664NEED_MD4=y
665endif
666
667ifdef CHAP
668OBJS += ../src/eap_common/chap.o
669endif
670
671ifdef TLS_FUNCS
672NEED_DES=y
673# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
674CFLAGS += -DEAP_TLS_FUNCS
675OBJS += ../src/eap_server/eap_server_tls_common.o
676NEED_TLS_PRF=y
677endif
678
679ifndef CONFIG_TLS
680CONFIG_TLS=openssl
681endif
682
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800683ifdef CONFIG_TLSV11
684CFLAGS += -DCONFIG_TLSV11
685endif
686
687ifdef CONFIG_TLSV12
688CFLAGS += -DCONFIG_TLSV12
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800689endif
690
Roshan Pius3a1667e2018-07-03 15:17:14 -0700691ifeq ($(CONFIG_TLS), wolfssl)
692CONFIG_CRYPTO=wolfssl
693ifdef TLS_FUNCS
694OBJS += ../src/crypto/tls_wolfssl.o
695LIBS += -lwolfssl -lm
696endif
697OBJS += ../src/crypto/crypto_wolfssl.o
698HOBJS += ../src/crypto/crypto_wolfssl.o
699ifdef NEED_FIPS186_2_PRF
700OBJS += ../src/crypto/fips_prf_wolfssl.o
701endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700702NEED_TLS_PRF_SHA256=y
703LIBS += -lwolfssl -lm
704LIBS_h += -lwolfssl -lm
705ifdef CONFIG_TLS_ADD_DL
706LIBS += -ldl
707LIBS_h += -ldl
708endif
709endif
710
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700711ifeq ($(CONFIG_TLS), openssl)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700712CONFIG_CRYPTO=openssl
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700713ifdef TLS_FUNCS
714OBJS += ../src/crypto/tls_openssl.o
Dmitry Shmidtd7ff03d2015-12-04 14:49:35 -0800715OBJS += ../src/crypto/tls_openssl_ocsp.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700716LIBS += -lssl
717endif
718OBJS += ../src/crypto/crypto_openssl.o
719HOBJS += ../src/crypto/crypto_openssl.o
Hai Shalom899fcc72020-10-19 14:38:18 -0700720SOBJS += ../src/crypto/crypto_openssl.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700721ifdef NEED_FIPS186_2_PRF
722OBJS += ../src/crypto/fips_prf_openssl.o
723endif
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800724NEED_TLS_PRF_SHA256=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700725LIBS += -lcrypto
726LIBS_h += -lcrypto
Roshan Pius3a1667e2018-07-03 15:17:14 -0700727LIBS_n += -lcrypto
Hai Shalom899fcc72020-10-19 14:38:18 -0700728LIBS_s += -lcrypto
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800729ifdef CONFIG_TLS_ADD_DL
730LIBS += -ldl
731LIBS_h += -ldl
Hai Shalom899fcc72020-10-19 14:38:18 -0700732LIBS_s += -ldl
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800733endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700734ifndef CONFIG_TLS_DEFAULT_CIPHERS
735CONFIG_TLS_DEFAULT_CIPHERS = "DEFAULT:!EXP:!LOW"
736endif
737CFLAGS += -DTLS_DEFAULT_CIPHERS=\"$(CONFIG_TLS_DEFAULT_CIPHERS)\"
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700738endif
739
740ifeq ($(CONFIG_TLS), gnutls)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700741ifndef CONFIG_CRYPTO
742# default to libgcrypt
743CONFIG_CRYPTO=gnutls
744endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700745ifdef TLS_FUNCS
746OBJS += ../src/crypto/tls_gnutls.o
747LIBS += -lgnutls -lgpg-error
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700748endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700749OBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
750HOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700751ifdef NEED_FIPS186_2_PRF
Dmitry Shmidt98660862014-03-11 17:26:21 -0700752OBJS += ../src/crypto/fips_prf_internal.o
753SHA1OBJS += ../src/crypto/sha1-internal.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700754endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700755ifeq ($(CONFIG_CRYPTO), gnutls)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700756LIBS += -lgcrypt
757LIBS_h += -lgcrypt
Roshan Pius3a1667e2018-07-03 15:17:14 -0700758LIBS_n += -lgcrypt
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700759CONFIG_INTERNAL_RC4=y
760CONFIG_INTERNAL_DH_GROUP5=y
761endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700762ifeq ($(CONFIG_CRYPTO), nettle)
763LIBS += -lnettle -lgmp
764LIBS_p += -lnettle -lgmp
765CONFIG_INTERNAL_RC4=y
766CONFIG_INTERNAL_DH_GROUP5=y
767endif
768endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700769
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700770ifeq ($(CONFIG_TLS), internal)
771ifndef CONFIG_CRYPTO
772CONFIG_CRYPTO=internal
773endif
774ifdef TLS_FUNCS
775OBJS += ../src/crypto/crypto_internal-rsa.o
776OBJS += ../src/crypto/tls_internal.o
777OBJS += ../src/tls/tlsv1_common.o
778OBJS += ../src/tls/tlsv1_record.o
779OBJS += ../src/tls/tlsv1_cred.o
780OBJS += ../src/tls/tlsv1_server.o
781OBJS += ../src/tls/tlsv1_server_write.o
782OBJS += ../src/tls/tlsv1_server_read.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700783OBJS += ../src/tls/rsa.o
784OBJS += ../src/tls/x509v3.o
785OBJS += ../src/tls/pkcs1.o
786OBJS += ../src/tls/pkcs5.o
787OBJS += ../src/tls/pkcs8.o
Hai Shalomfdcde762020-04-02 11:19:20 -0700788NEED_ASN1=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700789NEED_BASE64=y
790NEED_TLS_PRF=y
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800791ifdef CONFIG_TLSV12
792NEED_TLS_PRF_SHA256=y
793endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700794NEED_MODEXP=y
795NEED_CIPHER=y
796CFLAGS += -DCONFIG_TLS_INTERNAL
797CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
798endif
799ifdef NEED_CIPHER
800NEED_DES=y
801OBJS += ../src/crypto/crypto_internal-cipher.o
802endif
803ifdef NEED_MODEXP
804OBJS += ../src/crypto/crypto_internal-modexp.o
805OBJS += ../src/tls/bignum.o
806endif
807ifeq ($(CONFIG_CRYPTO), libtomcrypt)
808OBJS += ../src/crypto/crypto_libtomcrypt.o
809LIBS += -ltomcrypt -ltfm
810LIBS_h += -ltomcrypt -ltfm
811CONFIG_INTERNAL_SHA256=y
812CONFIG_INTERNAL_RC4=y
813CONFIG_INTERNAL_DH_GROUP5=y
814endif
815ifeq ($(CONFIG_CRYPTO), internal)
816OBJS += ../src/crypto/crypto_internal.o
817NEED_AES_DEC=y
818CFLAGS += -DCONFIG_CRYPTO_INTERNAL
819ifdef CONFIG_INTERNAL_LIBTOMMATH
820CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
821ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
822CFLAGS += -DLTM_FAST
823endif
824else
825LIBS += -ltommath
826LIBS_h += -ltommath
827endif
828CONFIG_INTERNAL_AES=y
829CONFIG_INTERNAL_DES=y
830CONFIG_INTERNAL_SHA1=y
831CONFIG_INTERNAL_MD4=y
832CONFIG_INTERNAL_MD5=y
833CONFIG_INTERNAL_SHA256=y
Dmitry Shmidtd7ff03d2015-12-04 14:49:35 -0800834CONFIG_INTERNAL_SHA384=y
835CONFIG_INTERNAL_SHA512=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700836CONFIG_INTERNAL_RC4=y
837CONFIG_INTERNAL_DH_GROUP5=y
838endif
839ifeq ($(CONFIG_CRYPTO), cryptoapi)
840OBJS += ../src/crypto/crypto_cryptoapi.o
841OBJS_p += ../src/crypto/crypto_cryptoapi.o
842CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
843CONFIG_INTERNAL_SHA256=y
844CONFIG_INTERNAL_RC4=y
845endif
846endif
847
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700848ifeq ($(CONFIG_TLS), linux)
849OBJS += ../src/crypto/crypto_linux.o
850ifdef TLS_FUNCS
851OBJS += ../src/crypto/crypto_internal-rsa.o
852OBJS += ../src/crypto/tls_internal.o
853OBJS += ../src/tls/tlsv1_common.o
854OBJS += ../src/tls/tlsv1_record.o
855OBJS += ../src/tls/tlsv1_cred.o
856OBJS += ../src/tls/tlsv1_server.o
857OBJS += ../src/tls/tlsv1_server_write.o
858OBJS += ../src/tls/tlsv1_server_read.o
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700859OBJS += ../src/tls/rsa.o
860OBJS += ../src/tls/x509v3.o
861OBJS += ../src/tls/pkcs1.o
862OBJS += ../src/tls/pkcs5.o
863OBJS += ../src/tls/pkcs8.o
Hai Shalomfdcde762020-04-02 11:19:20 -0700864NEED_ASN1=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700865NEED_BASE64=y
866NEED_TLS_PRF=y
867ifdef CONFIG_TLSV12
868NEED_TLS_PRF_SHA256=y
869endif
870NEED_MODEXP=y
871NEED_CIPHER=y
872CFLAGS += -DCONFIG_TLS_INTERNAL
873CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
874endif
875ifdef NEED_MODEXP
876OBJS += ../src/crypto/crypto_internal-modexp.o
877OBJS += ../src/tls/bignum.o
878CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
879CFLAGS += -DLTM_FAST
880endif
881CONFIG_INTERNAL_DH_GROUP5=y
882ifdef NEED_FIPS186_2_PRF
883OBJS += ../src/crypto/fips_prf_internal.o
884OBJS += ../src/crypto/sha1-internal.o
885endif
886endif
887
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700888ifeq ($(CONFIG_TLS), none)
889ifdef TLS_FUNCS
890OBJS += ../src/crypto/tls_none.o
891CFLAGS += -DEAP_TLS_NONE
892CONFIG_INTERNAL_AES=y
893CONFIG_INTERNAL_SHA1=y
894CONFIG_INTERNAL_MD5=y
895endif
896OBJS += ../src/crypto/crypto_none.o
897OBJS_p += ../src/crypto/crypto_none.o
898CONFIG_INTERNAL_SHA256=y
899CONFIG_INTERNAL_RC4=y
900endif
901
902ifndef TLS_FUNCS
903OBJS += ../src/crypto/tls_none.o
904ifeq ($(CONFIG_TLS), internal)
905CONFIG_INTERNAL_AES=y
906CONFIG_INTERNAL_SHA1=y
907CONFIG_INTERNAL_MD5=y
908CONFIG_INTERNAL_RC4=y
909endif
910endif
911
912AESOBJS = # none so far
913ifdef CONFIG_INTERNAL_AES
914AESOBJS += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-enc.o
915endif
916
Dmitry Shmidt216983b2015-02-06 10:50:36 -0800917ifneq ($(CONFIG_TLS), openssl)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700918ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700919AESOBJS += ../src/crypto/aes-wrap.o
Dmitry Shmidt216983b2015-02-06 10:50:36 -0800920endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700921endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700922ifdef NEED_AES_EAX
923AESOBJS += ../src/crypto/aes-eax.o
924NEED_AES_CTR=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700925endif
926ifdef NEED_AES_SIV
927AESOBJS += ../src/crypto/aes-siv.o
928NEED_AES_CTR=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700929endif
930ifdef NEED_AES_CTR
931AESOBJS += ../src/crypto/aes-ctr.o
932endif
933ifdef NEED_AES_ENCBLOCK
934AESOBJS += ../src/crypto/aes-encblock.o
935endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700936ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700937ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700938AESOBJS += ../src/crypto/aes-omac1.o
939endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700940endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700941ifdef NEED_AES_UNWRAP
Dmitry Shmidt216983b2015-02-06 10:50:36 -0800942ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700943ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700944ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700945NEED_AES_DEC=y
946AESOBJS += ../src/crypto/aes-unwrap.o
947endif
Dmitry Shmidt216983b2015-02-06 10:50:36 -0800948endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700949endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700950endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700951ifdef NEED_AES_CBC
952NEED_AES_DEC=y
Dmitry Shmidt912c6ec2015-03-30 13:16:51 -0700953ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700954ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700955ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700956AESOBJS += ../src/crypto/aes-cbc.o
957endif
Dmitry Shmidt912c6ec2015-03-30 13:16:51 -0700958endif
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800959endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700960endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700961ifdef NEED_AES_DEC
962ifdef CONFIG_INTERNAL_AES
963AESOBJS += ../src/crypto/aes-internal-dec.o
964endif
965endif
966ifdef NEED_AES
967OBJS += $(AESOBJS)
968endif
969
970ifdef NEED_SHA1
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700971ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700972ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700973ifneq ($(CONFIG_TLS), gnutls)
974ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700975SHA1OBJS += ../src/crypto/sha1.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700976endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700977endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700978endif
979endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700980SHA1OBJS += ../src/crypto/sha1-prf.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700981ifdef CONFIG_INTERNAL_SHA1
982SHA1OBJS += ../src/crypto/sha1-internal.o
983ifdef NEED_FIPS186_2_PRF
984SHA1OBJS += ../src/crypto/fips_prf_internal.o
985endif
986endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700987ifneq ($(CONFIG_TLS), openssl)
Roshan Pius3a1667e2018-07-03 15:17:14 -0700988ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700989SHA1OBJS += ../src/crypto/sha1-pbkdf2.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700990endif
Roshan Pius3a1667e2018-07-03 15:17:14 -0700991endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700992ifdef NEED_T_PRF
993SHA1OBJS += ../src/crypto/sha1-tprf.o
994endif
995ifdef NEED_TLS_PRF
996SHA1OBJS += ../src/crypto/sha1-tlsprf.o
997endif
998endif
999
1000ifdef NEED_SHA1
1001OBJS += $(SHA1OBJS)
1002endif
1003
Dmitry Shmidt216983b2015-02-06 10:50:36 -08001004ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001005ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001006ifneq ($(CONFIG_TLS), gnutls)
1007ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt216983b2015-02-06 10:50:36 -08001008OBJS += ../src/crypto/md5.o
1009endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001010endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001011endif
1012endif
Dmitry Shmidt216983b2015-02-06 10:50:36 -08001013
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001014ifdef NEED_MD5
1015ifdef CONFIG_INTERNAL_MD5
1016OBJS += ../src/crypto/md5-internal.o
1017HOBJS += ../src/crypto/md5-internal.o
1018endif
1019endif
1020
1021ifdef NEED_MD4
1022ifdef CONFIG_INTERNAL_MD4
1023OBJS += ../src/crypto/md4-internal.o
1024endif
1025endif
1026
1027ifdef NEED_DES
Roshan Pius3a1667e2018-07-03 15:17:14 -07001028CFLAGS += -DCONFIG_DES
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001029ifdef CONFIG_INTERNAL_DES
1030OBJS += ../src/crypto/des-internal.o
1031endif
1032endif
1033
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001034ifdef CONFIG_NO_RC4
1035CFLAGS += -DCONFIG_NO_RC4
1036endif
1037
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001038ifdef NEED_RC4
1039ifdef CONFIG_INTERNAL_RC4
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001040ifndef CONFIG_NO_RC4
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001041OBJS += ../src/crypto/rc4.o
1042endif
1043endif
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001044endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001045
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001046CFLAGS += -DCONFIG_SHA256
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001047ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001048ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001049ifneq ($(CONFIG_TLS), gnutls)
1050ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001051OBJS += ../src/crypto/sha256.o
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001052endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001053endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001054endif
1055endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001056OBJS += ../src/crypto/sha256-prf.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001057ifdef CONFIG_INTERNAL_SHA256
1058OBJS += ../src/crypto/sha256-internal.o
1059endif
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001060ifdef NEED_TLS_PRF_SHA256
1061OBJS += ../src/crypto/sha256-tlsprf.o
1062endif
Hai Shalomc3565922019-10-28 11:58:20 -07001063ifdef NEED_TLS_PRF_SHA384
1064OBJS += ../src/crypto/sha384-tlsprf.o
1065endif
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -08001066ifdef NEED_HMAC_SHA256_KDF
1067OBJS += ../src/crypto/sha256-kdf.o
1068endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001069ifdef NEED_HMAC_SHA384_KDF
1070OBJS += ../src/crypto/sha384-kdf.o
1071endif
1072ifdef NEED_HMAC_SHA512_KDF
1073OBJS += ../src/crypto/sha512-kdf.o
1074endif
Dmitry Shmidt807291d2015-01-27 13:40:23 -08001075ifdef NEED_SHA384
1076CFLAGS += -DCONFIG_SHA384
Dmitry Shmidtebd93af2017-02-21 13:40:44 -08001077ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001078ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001079ifneq ($(CONFIG_TLS), gnutls)
1080ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidtebd93af2017-02-21 13:40:44 -08001081OBJS += ../src/crypto/sha384.o
1082endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001083endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001084endif
1085endif
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001086OBJS += ../src/crypto/sha384-prf.o
Dmitry Shmidt807291d2015-01-27 13:40:23 -08001087endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001088ifdef NEED_SHA512
1089CFLAGS += -DCONFIG_SHA512
1090ifneq ($(CONFIG_TLS), openssl)
1091ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001092ifneq ($(CONFIG_TLS), gnutls)
1093ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001094OBJS += ../src/crypto/sha512.o
1095endif
1096endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001097endif
1098endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001099OBJS += ../src/crypto/sha512-prf.o
1100endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001101
Dmitry Shmidtd7ff03d2015-12-04 14:49:35 -08001102ifdef CONFIG_INTERNAL_SHA384
1103CFLAGS += -DCONFIG_INTERNAL_SHA384
1104OBJS += ../src/crypto/sha384-internal.o
1105endif
1106
1107ifdef CONFIG_INTERNAL_SHA512
1108CFLAGS += -DCONFIG_INTERNAL_SHA512
1109OBJS += ../src/crypto/sha512-internal.o
1110endif
1111
Hai Shalomfdcde762020-04-02 11:19:20 -07001112ifdef NEED_ASN1
1113OBJS += ../src/tls/asn1.o
1114endif
1115
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001116ifdef NEED_DH_GROUPS
1117OBJS += ../src/crypto/dh_groups.o
1118endif
1119ifdef NEED_DH_GROUPS_ALL
1120CFLAGS += -DALL_DH_GROUPS
1121endif
1122ifdef CONFIG_INTERNAL_DH_GROUP5
1123ifdef NEED_DH_GROUPS
1124OBJS += ../src/crypto/dh_group5.o
1125endif
1126endif
1127
Dmitry Shmidta54fa5f2013-01-15 13:53:35 -08001128ifdef NEED_ECC
1129CFLAGS += -DCONFIG_ECC
1130endif
1131
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001132ifdef CONFIG_NO_RANDOM_POOL
1133CFLAGS += -DCONFIG_NO_RANDOM_POOL
1134else
Hai Shalom74f70d42019-02-11 14:42:39 -08001135ifdef CONFIG_GETRANDOM
1136CFLAGS += -DCONFIG_GETRANDOM
1137endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001138OBJS += ../src/crypto/random.o
1139HOBJS += ../src/crypto/random.o
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001140HOBJS += ../src/utils/eloop.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001141HOBJS += $(SHA1OBJS)
Dmitry Shmidtdda10c22015-03-24 16:05:01 -07001142ifneq ($(CONFIG_TLS), openssl)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001143ifneq ($(CONFIG_TLS), linux)
Roshan Pius3a1667e2018-07-03 15:17:14 -07001144ifneq ($(CONFIG_TLS), wolfssl)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001145HOBJS += ../src/crypto/md5.o
1146endif
Dmitry Shmidtdda10c22015-03-24 16:05:01 -07001147endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001148endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001149endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001150
1151ifdef CONFIG_RADIUS_SERVER
1152CFLAGS += -DRADIUS_SERVER
1153OBJS += ../src/radius/radius_server.o
1154endif
1155
1156ifdef CONFIG_IPV6
1157CFLAGS += -DCONFIG_IPV6
1158endif
1159
1160ifdef CONFIG_DRIVER_RADIUS_ACL
1161CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL
1162endif
1163
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001164ifdef NEED_BASE64
1165OBJS += ../src/utils/base64.o
1166endif
1167
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001168ifdef NEED_JSON
1169OBJS += ../src/utils/json.o
1170CFLAGS += -DCONFIG_JSON
1171endif
1172
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001173ifdef NEED_AP_MLME
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001174OBJS += ../src/ap/wmm.o
1175OBJS += ../src/ap/ap_list.o
1176OBJS += ../src/ap/ieee802_11.o
1177OBJS += ../src/ap/hw_features.o
Dmitry Shmidt051af732013-10-22 13:52:46 -07001178OBJS += ../src/ap/dfs.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001179CFLAGS += -DNEED_AP_MLME
1180endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001181OBJS += ../src/ap/ieee802_11_ht.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001182
Dmitry Shmidt04949592012-07-19 12:16:46 -07001183ifdef CONFIG_IEEE80211AC
1184OBJS += ../src/ap/ieee802_11_vht.o
1185endif
1186
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001187ifdef CONFIG_P2P_MANAGER
1188CFLAGS += -DCONFIG_P2P_MANAGER
1189OBJS += ../src/ap/p2p_hostapd.o
1190endif
1191
Dmitry Shmidt61d9df32012-08-29 16:22:06 -07001192ifdef CONFIG_HS20
1193CFLAGS += -DCONFIG_HS20
1194OBJS += ../src/ap/hs20.o
1195CONFIG_INTERWORKING=y
1196endif
1197
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001198ifdef CONFIG_INTERWORKING
1199CFLAGS += -DCONFIG_INTERWORKING
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001200NEED_GAS=y
1201endif
1202
1203ifdef NEED_GAS
Dmitry Shmidt04949592012-07-19 12:16:46 -07001204OBJS += ../src/common/gas.o
1205OBJS += ../src/ap/gas_serv.o
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001206endif
1207
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -08001208ifdef CONFIG_PROXYARP
1209CFLAGS += -DCONFIG_PROXYARP
1210OBJS += ../src/ap/x_snoop.o
1211OBJS += ../src/ap/dhcp_snoop.o
1212ifdef CONFIG_IPV6
1213OBJS += ../src/ap/ndisc_snoop.o
1214endif
1215endif
1216
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08001217OBJS += ../src/drivers/driver_common.o
1218
1219ifdef CONFIG_WPA_CLI_EDIT
1220OBJS_c += ../src/utils/edit.o
1221else
1222OBJS_c += ../src/utils/edit_simple.o
1223endif
1224
Dmitry Shmidt391c59f2013-09-03 12:16:28 -07001225ifdef CONFIG_ACS
1226CFLAGS += -DCONFIG_ACS
1227OBJS += ../src/ap/acs.o
1228LIBS += -lm
1229endif
1230
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001231ifdef CONFIG_NO_STDOUT_DEBUG
1232CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
1233endif
1234
Paul Stewart092955c2017-02-06 09:13:09 -08001235ifdef CONFIG_DEBUG_SYSLOG
1236CFLAGS += -DCONFIG_DEBUG_SYSLOG
1237endif
1238
Dmitry Shmidtcce06662013-11-04 18:44:24 -08001239ifdef CONFIG_DEBUG_LINUX_TRACING
1240CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING
1241endif
1242
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001243ifdef CONFIG_DEBUG_FILE
1244CFLAGS += -DCONFIG_DEBUG_FILE
1245endif
1246
Dmitry Shmidt4530cfd2012-09-09 15:20:40 -07001247ifdef CONFIG_SQLITE
1248CFLAGS += -DCONFIG_SQLITE
1249LIBS += -lsqlite3
1250LIBS_h += -lsqlite3
1251endif
1252
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001253ifdef CONFIG_FST
1254CFLAGS += -DCONFIG_FST
1255OBJS += ../src/fst/fst.o
1256OBJS += ../src/fst/fst_group.o
1257OBJS += ../src/fst/fst_iface.o
1258OBJS += ../src/fst/fst_session.o
1259OBJS += ../src/fst/fst_ctrl_aux.o
1260ifdef CONFIG_FST_TEST
1261CFLAGS += -DCONFIG_FST_TEST
1262endif
1263ifndef CONFIG_NO_CTRL_IFACE
1264OBJS += ../src/fst/fst_ctrl_iface.o
1265endif
1266endif
1267
Hai Shalomfdcde762020-04-02 11:19:20 -07001268ifdef CONFIG_WEP
1269CFLAGS += -DCONFIG_WEP
1270endif
1271
Hai Shalomb755a2a2020-04-23 21:49:02 -07001272ifdef CONFIG_NO_TKIP
1273CFLAGS += -DCONFIG_NO_TKIP
1274endif
1275
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -08001276$(DESTDIR)$(BINDIR)/%: %
1277 install -D $(<) $(@)
1278
1279install: $(addprefix $(DESTDIR)$(BINDIR)/,$(ALL))
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001280
Hai Shalom899fcc72020-10-19 14:38:18 -07001281_OBJS_VAR := OBJS
1282include ../src/objs.mk
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001283
Hai Shalom899fcc72020-10-19 14:38:18 -07001284hostapd: $(OBJS)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001285 $(Q)$(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS)
1286 @$(E) " LD " $@
1287
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001288ifdef CONFIG_WPA_TRACE
1289OBJS_c += ../src/utils/trace.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001290endif
Hai Shalom899fcc72020-10-19 14:38:18 -07001291
1292_OBJS_VAR := OBJS_c
1293include ../src/objs.mk
1294
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001295hostapd_cli: $(OBJS_c)
1296 $(Q)$(CC) $(LDFLAGS) -o hostapd_cli $(OBJS_c) $(LIBS_c)
1297 @$(E) " LD " $@
1298
Dmitry Shmidt216983b2015-02-06 10:50:36 -08001299NOBJS = nt_password_hash.o ../src/crypto/ms_funcs.o $(SHA1OBJS)
Dmitry Shmidtff787d52015-01-12 13:01:47 -08001300NOBJS += ../src/utils/common.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001301ifdef NEED_RC4
1302ifdef CONFIG_INTERNAL_RC4
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001303ifndef CONFIG_NO_RC4
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001304NOBJS += ../src/crypto/rc4.o
1305endif
1306endif
Dmitry Shmidtd80a4012015-11-05 16:35:40 -08001307endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001308ifdef CONFIG_INTERNAL_MD5
1309NOBJS += ../src/crypto/md5-internal.o
1310endif
Roshan Pius3a1667e2018-07-03 15:17:14 -07001311NOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
1312NOBJS += ../src/utils/os_$(CONFIG_OS).o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001313NOBJS += ../src/utils/wpa_debug.o
1314NOBJS += ../src/utils/wpabuf.o
1315ifdef CONFIG_WPA_TRACE
1316NOBJS += ../src/utils/trace.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001317endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001318
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001319HOBJS += 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
1320HOBJS += ../src/crypto/aes-encblock.o
1321ifdef CONFIG_INTERNAL_AES
1322HOBJS += ../src/crypto/aes-internal.o
1323HOBJS += ../src/crypto/aes-internal-enc.o
1324endif
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001325ifeq ($(CONFIG_TLS), linux)
1326HOBJS += ../src/crypto/crypto_linux.o
1327endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001328
Hai Shalom899fcc72020-10-19 14:38:18 -07001329SOBJS += sae_pk_gen.o
1330SOBJS += ../src/utils/common.o
1331SOBJS += ../src/utils/os_$(CONFIG_OS).o
1332SOBJS += ../src/utils/base64.o
1333SOBJS += ../src/utils/wpa_debug.o
1334SOBJS += ../src/utils/wpabuf.o
1335ifdef CONFIG_WPA_TRACE
1336SOBJS += ../src/utils/trace.o
1337endif
1338SOBJS += ../src/common/ieee802_11_common.o
1339SOBJS += ../src/common/sae.o
1340SOBJS += ../src/common/sae_pk.o
1341SOBJS += ../src/common/dragonfly.o
1342SOBJS += $(AESOBJS)
1343SOBJS += ../src/crypto/sha256-prf.o
1344SOBJS += ../src/crypto/sha384-prf.o
1345SOBJS += ../src/crypto/sha512-prf.o
1346SOBJS += ../src/crypto/dh_groups.o
1347SOBJS += ../src/crypto/sha256-kdf.o
1348SOBJS += ../src/crypto/sha384-kdf.o
1349SOBJS += ../src/crypto/sha512-kdf.o
1350
1351_OBJS_VAR := NOBJS
1352include ../src/objs.mk
1353_OBJS_VAR := HOBJS
1354include ../src/objs.mk
1355_OBJS_VAR := SOBJS
1356include ../src/objs.mk
1357
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001358nt_password_hash: $(NOBJS)
1359 $(Q)$(CC) $(LDFLAGS) -o nt_password_hash $(NOBJS) $(LIBS_n)
1360 @$(E) " LD " $@
1361
1362hlr_auc_gw: $(HOBJS)
1363 $(Q)$(CC) $(LDFLAGS) -o hlr_auc_gw $(HOBJS) $(LIBS_h)
1364 @$(E) " LD " $@
1365
Hai Shalom899fcc72020-10-19 14:38:18 -07001366sae_pk_gen: $(SOBJS)
1367 $(Q)$(CC) $(LDFLAGS) -o sae_pk_gen $(SOBJS) $(LIBS_s)
1368 @$(E) " LD " $@
1369
1370.PHONY: lcov-html
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -08001371lcov-html:
Hai Shalom899fcc72020-10-19 14:38:18 -07001372 lcov -c -d $(BUILDDIR) > lcov.info
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -08001373 genhtml lcov.info --output-directory lcov-html
1374
Hai Shalom899fcc72020-10-19 14:38:18 -07001375clean: common-clean
1376 rm -f core *~ nt_password_hash hlr_auc_gw
1377 rm -f sae_pk_gen
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -08001378 rm -f lcov.info
1379 rm -rf lcov-html