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