Android.mk revision 1.1.1.4 1 1.1.1.2 christos # Copyright (C) 2008 The Android Open Source Project
2 1.1.1.2 christos #
3 1.1.1.2 christos # This software may be distributed under the terms of the BSD license.
4 1.1.1.2 christos # See README for more details.
5 1.1.1.2 christos #
6 1.1.1.2 christos
7 1.1 christos LOCAL_PATH := $(call my-dir)
8 1.1 christos
9 1.1 christos WPA_BUILD_HOSTAPD := false
10 1.1.1.2 christos ifneq ($(BOARD_HOSTAPD_DRIVER),)
11 1.1.1.2 christos WPA_BUILD_HOSTAPD := true
12 1.1.1.2 christos CONFIG_DRIVER_$(BOARD_HOSTAPD_DRIVER) := y
13 1.1 christos endif
14 1.1 christos
15 1.1.1.2 christos ifeq ($(WPA_BUILD_HOSTAPD),true)
16 1.1.1.2 christos
17 1.1.1.2 christos include $(LOCAL_PATH)/android.config
18 1.1 christos
19 1.1 christos # To ignore possible wrong network configurations
20 1.1 christos L_CFLAGS = -DWPA_IGNORE_CONFIG_ERRORS
21 1.1 christos
22 1.1.1.2 christos L_CFLAGS += -DVERSION_STR_POSTFIX=\"-$(PLATFORM_VERSION)\"
23 1.1.1.2 christos
24 1.1 christos # Set Android log name
25 1.1 christos L_CFLAGS += -DANDROID_LOG_NAME=\"hostapd\"
26 1.1 christos
27 1.1.1.3 christos # Disable unused parameter warnings
28 1.1.1.3 christos L_CFLAGS += -Wno-unused-parameter
29 1.1.1.3 christos
30 1.1.1.3 christos # Set Android extended P2P functionality
31 1.1.1.3 christos L_CFLAGS += -DANDROID_P2P
32 1.1.1.3 christos ifeq ($(BOARD_HOSTAPD_PRIVATE_LIB),)
33 1.1.1.3 christos L_CFLAGS += -DANDROID_P2P_STUB
34 1.1.1.3 christos endif
35 1.1.1.3 christos
36 1.1.1.3 christos # Use Android specific directory for control interface sockets
37 1.1.1.3 christos L_CFLAGS += -DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/misc/wifi/sockets\"
38 1.1.1.3 christos L_CFLAGS += -DCONFIG_CTRL_IFACE_DIR=\"/data/system/hostapd\"
39 1.1.1.3 christos
40 1.1 christos # To force sizeof(enum) = 4
41 1.1 christos ifeq ($(TARGET_ARCH),arm)
42 1.1 christos L_CFLAGS += -mabi=aapcs-linux
43 1.1 christos endif
44 1.1 christos
45 1.1 christos INCLUDES = $(LOCAL_PATH)
46 1.1 christos INCLUDES += $(LOCAL_PATH)/src
47 1.1 christos INCLUDES += $(LOCAL_PATH)/src/utils
48 1.1 christos INCLUDES += external/openssl/include
49 1.1.1.3 christos INCLUDES += system/security/keystore/include
50 1.1 christos ifdef CONFIG_DRIVER_NL80211
51 1.1.1.3 christos ifneq ($(wildcard external/libnl),)
52 1.1.1.3 christos INCLUDES += external/libnl/include
53 1.1.1.3 christos else
54 1.1 christos INCLUDES += external/libnl-headers
55 1.1 christos endif
56 1.1.1.3 christos endif
57 1.1 christos
58 1.1 christos
59 1.1 christos ifndef CONFIG_OS
60 1.1 christos ifdef CONFIG_NATIVE_WINDOWS
61 1.1 christos CONFIG_OS=win32
62 1.1 christos else
63 1.1 christos CONFIG_OS=unix
64 1.1 christos endif
65 1.1 christos endif
66 1.1 christos
67 1.1 christos ifeq ($(CONFIG_OS), internal)
68 1.1 christos L_CFLAGS += -DOS_NO_C_LIB_DEFINES
69 1.1 christos endif
70 1.1 christos
71 1.1 christos ifdef CONFIG_NATIVE_WINDOWS
72 1.1 christos L_CFLAGS += -DCONFIG_NATIVE_WINDOWS
73 1.1 christos LIBS += -lws2_32
74 1.1 christos endif
75 1.1 christos
76 1.1 christos OBJS = main.c
77 1.1 christos OBJS += config_file.c
78 1.1 christos
79 1.1 christos OBJS += src/ap/hostapd.c
80 1.1 christos OBJS += src/ap/wpa_auth_glue.c
81 1.1 christos OBJS += src/ap/drv_callbacks.c
82 1.1 christos OBJS += src/ap/ap_drv_ops.c
83 1.1 christos OBJS += src/ap/utils.c
84 1.1 christos OBJS += src/ap/authsrv.c
85 1.1 christos OBJS += src/ap/ieee802_1x.c
86 1.1 christos OBJS += src/ap/ap_config.c
87 1.1.1.2 christos OBJS += src/ap/eap_user_db.c
88 1.1 christos OBJS += src/ap/ieee802_11_auth.c
89 1.1 christos OBJS += src/ap/sta_info.c
90 1.1 christos OBJS += src/ap/wpa_auth.c
91 1.1 christos OBJS += src/ap/tkip_countermeasures.c
92 1.1 christos OBJS += src/ap/ap_mlme.c
93 1.1 christos OBJS += src/ap/wpa_auth_ie.c
94 1.1 christos OBJS += src/ap/preauth_auth.c
95 1.1 christos OBJS += src/ap/pmksa_cache_auth.c
96 1.1 christos OBJS += src/ap/ieee802_11_shared.c
97 1.1 christos OBJS += src/ap/beacon.c
98 1.1.1.4 christos OBJS += src/ap/bss_load.c
99 1.1 christos OBJS_d =
100 1.1 christos OBJS_p =
101 1.1 christos LIBS =
102 1.1 christos LIBS_c =
103 1.1 christos HOBJS =
104 1.1 christos LIBS_h =
105 1.1 christos
106 1.1 christos NEED_RC4=y
107 1.1 christos NEED_AES=y
108 1.1 christos NEED_MD5=y
109 1.1 christos NEED_SHA1=y
110 1.1 christos
111 1.1 christos OBJS += src/drivers/drivers.c
112 1.1 christos L_CFLAGS += -DHOSTAPD
113 1.1 christos
114 1.1 christos ifdef CONFIG_WPA_TRACE
115 1.1 christos L_CFLAGS += -DWPA_TRACE
116 1.1 christos OBJS += src/utils/trace.c
117 1.1 christos HOBJS += src/utils/trace.c
118 1.1 christos LDFLAGS += -rdynamic
119 1.1 christos L_CFLAGS += -funwind-tables
120 1.1 christos ifdef CONFIG_WPA_TRACE_BFD
121 1.1 christos L_CFLAGS += -DWPA_TRACE_BFD
122 1.1 christos LIBS += -lbfd
123 1.1 christos LIBS_c += -lbfd
124 1.1 christos LIBS_h += -lbfd
125 1.1 christos endif
126 1.1 christos endif
127 1.1 christos
128 1.1 christos OBJS += src/utils/eloop.c
129 1.1 christos OBJS += src/utils/common.c
130 1.1 christos OBJS += src/utils/wpa_debug.c
131 1.1 christos OBJS += src/utils/wpabuf.c
132 1.1 christos OBJS += src/utils/os_$(CONFIG_OS).c
133 1.1 christos OBJS += src/utils/ip_addr.c
134 1.1 christos
135 1.1 christos OBJS += src/common/ieee802_11_common.c
136 1.1 christos OBJS += src/common/wpa_common.c
137 1.1.1.4 christos OBJS += src/common/hw_features_common.c
138 1.1 christos
139 1.1 christos OBJS += src/eapol_auth/eapol_auth_sm.c
140 1.1 christos
141 1.1 christos
142 1.1 christos ifndef CONFIG_NO_DUMP_STATE
143 1.1.1.3 christos # define HOSTAPD_DUMP_STATE to include support for dumping internal state
144 1.1.1.3 christos # through control interface commands (undefine it, if you want to save in
145 1.1.1.3 christos # binary size)
146 1.1 christos L_CFLAGS += -DHOSTAPD_DUMP_STATE
147 1.1 christos OBJS += src/eapol_auth/eapol_auth_dump.c
148 1.1 christos endif
149 1.1 christos
150 1.1 christos ifdef CONFIG_NO_RADIUS
151 1.1 christos L_CFLAGS += -DCONFIG_NO_RADIUS
152 1.1 christos CONFIG_NO_ACCOUNTING=y
153 1.1 christos else
154 1.1 christos OBJS += src/radius/radius.c
155 1.1 christos OBJS += src/radius/radius_client.c
156 1.1.1.3 christos OBJS += src/radius/radius_das.c
157 1.1 christos endif
158 1.1 christos
159 1.1 christos ifdef CONFIG_NO_ACCOUNTING
160 1.1 christos L_CFLAGS += -DCONFIG_NO_ACCOUNTING
161 1.1 christos else
162 1.1 christos OBJS += src/ap/accounting.c
163 1.1 christos endif
164 1.1 christos
165 1.1 christos ifdef CONFIG_NO_VLAN
166 1.1 christos L_CFLAGS += -DCONFIG_NO_VLAN
167 1.1 christos else
168 1.1 christos OBJS += src/ap/vlan_init.c
169 1.1.1.2 christos ifdef CONFIG_VLAN_NETLINK
170 1.1.1.2 christos ifdef CONFIG_FULL_DYNAMIC_VLAN
171 1.1.1.2 christos OBJS += src/ap/vlan_util.c
172 1.1.1.2 christos endif
173 1.1.1.2 christos L_CFLAGS += -DCONFIG_VLAN_NETLINK
174 1.1.1.2 christos endif
175 1.1 christos endif
176 1.1 christos
177 1.1 christos ifdef CONFIG_NO_CTRL_IFACE
178 1.1 christos L_CFLAGS += -DCONFIG_NO_CTRL_IFACE
179 1.1 christos else
180 1.1 christos OBJS += ctrl_iface.c
181 1.1 christos OBJS += src/ap/ctrl_iface_ap.c
182 1.1 christos endif
183 1.1 christos
184 1.1 christos L_CFLAGS += -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX
185 1.1 christos
186 1.1 christos ifdef CONFIG_IAPP
187 1.1 christos L_CFLAGS += -DCONFIG_IAPP
188 1.1 christos OBJS += src/ap/iapp.c
189 1.1 christos endif
190 1.1 christos
191 1.1 christos ifdef CONFIG_RSN_PREAUTH
192 1.1 christos L_CFLAGS += -DCONFIG_RSN_PREAUTH
193 1.1 christos CONFIG_L2_PACKET=y
194 1.1 christos endif
195 1.1 christos
196 1.1 christos ifdef CONFIG_PEERKEY
197 1.1 christos L_CFLAGS += -DCONFIG_PEERKEY
198 1.1 christos OBJS += src/ap/peerkey_auth.c
199 1.1 christos endif
200 1.1 christos
201 1.1.1.3 christos ifdef CONFIG_HS20
202 1.1.1.3 christos NEED_AES_OMAC1=y
203 1.1.1.4 christos CONFIG_PROXYARP=y
204 1.1.1.4 christos endif
205 1.1.1.4 christos
206 1.1.1.4 christos ifdef CONFIG_PROXYARP
207 1.1.1.4 christos CONFIG_L2_PACKET=y
208 1.1.1.4 christos endif
209 1.1.1.4 christos
210 1.1.1.4 christos ifdef CONFIG_SUITEB
211 1.1.1.4 christos L_CFLAGS += -DCONFIG_SUITEB
212 1.1.1.4 christos NEED_SHA256=y
213 1.1.1.4 christos NEED_AES_OMAC1=y
214 1.1.1.4 christos endif
215 1.1.1.4 christos
216 1.1.1.4 christos ifdef CONFIG_SUITEB192
217 1.1.1.4 christos L_CFLAGS += -DCONFIG_SUITEB192
218 1.1.1.4 christos NEED_SHA384=y
219 1.1.1.3 christos endif
220 1.1.1.3 christos
221 1.1 christos ifdef CONFIG_IEEE80211W
222 1.1 christos L_CFLAGS += -DCONFIG_IEEE80211W
223 1.1 christos NEED_SHA256=y
224 1.1 christos NEED_AES_OMAC1=y
225 1.1 christos endif
226 1.1 christos
227 1.1 christos ifdef CONFIG_IEEE80211R
228 1.1 christos L_CFLAGS += -DCONFIG_IEEE80211R
229 1.1 christos OBJS += src/ap/wpa_auth_ft.c
230 1.1 christos NEED_SHA256=y
231 1.1 christos NEED_AES_OMAC1=y
232 1.1 christos NEED_AES_UNWRAP=y
233 1.1 christos endif
234 1.1 christos
235 1.1.1.2 christos ifdef CONFIG_SAE
236 1.1.1.2 christos L_CFLAGS += -DCONFIG_SAE
237 1.1.1.3 christos OBJS += src/common/sae.c
238 1.1.1.3 christos NEED_ECC=y
239 1.1.1.3 christos NEED_DH_GROUPS=y
240 1.1.1.3 christos endif
241 1.1.1.3 christos
242 1.1.1.3 christos ifdef CONFIG_WNM
243 1.1.1.3 christos L_CFLAGS += -DCONFIG_WNM
244 1.1.1.3 christos OBJS += src/ap/wnm_ap.c
245 1.1.1.2 christos endif
246 1.1.1.2 christos
247 1.1 christos ifdef CONFIG_IEEE80211N
248 1.1 christos L_CFLAGS += -DCONFIG_IEEE80211N
249 1.1 christos endif
250 1.1 christos
251 1.1.1.3 christos ifdef CONFIG_IEEE80211AC
252 1.1.1.3 christos L_CFLAGS += -DCONFIG_IEEE80211AC
253 1.1.1.3 christos endif
254 1.1.1.3 christos
255 1.1 christos include $(LOCAL_PATH)/src/drivers/drivers.mk
256 1.1 christos
257 1.1 christos OBJS += $(DRV_AP_OBJS)
258 1.1 christos L_CFLAGS += $(DRV_AP_CFLAGS)
259 1.1 christos LDFLAGS += $(DRV_AP_LDFLAGS)
260 1.1 christos LIBS += $(DRV_AP_LIBS)
261 1.1 christos
262 1.1 christos ifdef CONFIG_L2_PACKET
263 1.1 christos ifdef CONFIG_DNET_PCAP
264 1.1 christos ifdef CONFIG_L2_FREEBSD
265 1.1 christos LIBS += -lpcap
266 1.1 christos OBJS += src/l2_packet/l2_packet_freebsd.c
267 1.1 christos else
268 1.1 christos LIBS += -ldnet -lpcap
269 1.1 christos OBJS += src/l2_packet/l2_packet_pcap.c
270 1.1 christos endif
271 1.1 christos else
272 1.1 christos OBJS += src/l2_packet/l2_packet_linux.c
273 1.1 christos endif
274 1.1 christos else
275 1.1 christos OBJS += src/l2_packet/l2_packet_none.c
276 1.1 christos endif
277 1.1 christos
278 1.1 christos
279 1.1 christos ifdef CONFIG_EAP_MD5
280 1.1 christos L_CFLAGS += -DEAP_SERVER_MD5
281 1.1 christos OBJS += src/eap_server/eap_server_md5.c
282 1.1 christos CHAP=y
283 1.1 christos endif
284 1.1 christos
285 1.1 christos ifdef CONFIG_EAP_TLS
286 1.1 christos L_CFLAGS += -DEAP_SERVER_TLS
287 1.1 christos OBJS += src/eap_server/eap_server_tls.c
288 1.1 christos TLS_FUNCS=y
289 1.1 christos endif
290 1.1 christos
291 1.1.1.3 christos ifdef CONFIG_EAP_UNAUTH_TLS
292 1.1.1.3 christos L_CFLAGS += -DEAP_SERVER_UNAUTH_TLS
293 1.1.1.3 christos ifndef CONFIG_EAP_TLS
294 1.1.1.3 christos OBJS += src/eap_server/eap_server_tls.c
295 1.1.1.3 christos TLS_FUNCS=y
296 1.1.1.3 christos endif
297 1.1.1.3 christos endif
298 1.1.1.3 christos
299 1.1 christos ifdef CONFIG_EAP_PEAP
300 1.1 christos L_CFLAGS += -DEAP_SERVER_PEAP
301 1.1 christos OBJS += src/eap_server/eap_server_peap.c
302 1.1 christos OBJS += src/eap_common/eap_peap_common.c
303 1.1 christos TLS_FUNCS=y
304 1.1 christos CONFIG_EAP_MSCHAPV2=y
305 1.1 christos endif
306 1.1 christos
307 1.1 christos ifdef CONFIG_EAP_TTLS
308 1.1 christos L_CFLAGS += -DEAP_SERVER_TTLS
309 1.1 christos OBJS += src/eap_server/eap_server_ttls.c
310 1.1 christos TLS_FUNCS=y
311 1.1 christos CHAP=y
312 1.1 christos endif
313 1.1 christos
314 1.1 christos ifdef CONFIG_EAP_MSCHAPV2
315 1.1 christos L_CFLAGS += -DEAP_SERVER_MSCHAPV2
316 1.1 christos OBJS += src/eap_server/eap_server_mschapv2.c
317 1.1 christos MS_FUNCS=y
318 1.1 christos endif
319 1.1 christos
320 1.1 christos ifdef CONFIG_EAP_GTC
321 1.1 christos L_CFLAGS += -DEAP_SERVER_GTC
322 1.1 christos OBJS += src/eap_server/eap_server_gtc.c
323 1.1 christos endif
324 1.1 christos
325 1.1 christos ifdef CONFIG_EAP_SIM
326 1.1 christos L_CFLAGS += -DEAP_SERVER_SIM
327 1.1 christos OBJS += src/eap_server/eap_server_sim.c
328 1.1 christos CONFIG_EAP_SIM_COMMON=y
329 1.1 christos NEED_AES_CBC=y
330 1.1 christos endif
331 1.1 christos
332 1.1 christos ifdef CONFIG_EAP_AKA
333 1.1 christos L_CFLAGS += -DEAP_SERVER_AKA
334 1.1 christos OBJS += src/eap_server/eap_server_aka.c
335 1.1 christos CONFIG_EAP_SIM_COMMON=y
336 1.1 christos NEED_SHA256=y
337 1.1 christos NEED_AES_CBC=y
338 1.1 christos endif
339 1.1 christos
340 1.1 christos ifdef CONFIG_EAP_AKA_PRIME
341 1.1 christos L_CFLAGS += -DEAP_SERVER_AKA_PRIME
342 1.1 christos endif
343 1.1 christos
344 1.1 christos ifdef CONFIG_EAP_SIM_COMMON
345 1.1 christos OBJS += src/eap_common/eap_sim_common.c
346 1.1 christos # Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
347 1.1 christos # replaced with another file implementating the interface specified in
348 1.1 christos # eap_sim_db.h.
349 1.1 christos OBJS += src/eap_server/eap_sim_db.c
350 1.1 christos NEED_FIPS186_2_PRF=y
351 1.1 christos endif
352 1.1 christos
353 1.1 christos ifdef CONFIG_EAP_PAX
354 1.1 christos L_CFLAGS += -DEAP_SERVER_PAX
355 1.1 christos OBJS += src/eap_server/eap_server_pax.c src/eap_common/eap_pax_common.c
356 1.1 christos endif
357 1.1 christos
358 1.1 christos ifdef CONFIG_EAP_PSK
359 1.1 christos L_CFLAGS += -DEAP_SERVER_PSK
360 1.1 christos OBJS += src/eap_server/eap_server_psk.c src/eap_common/eap_psk_common.c
361 1.1 christos NEED_AES_OMAC1=y
362 1.1 christos NEED_AES_ENCBLOCK=y
363 1.1 christos NEED_AES_EAX=y
364 1.1 christos endif
365 1.1 christos
366 1.1 christos ifdef CONFIG_EAP_SAKE
367 1.1 christos L_CFLAGS += -DEAP_SERVER_SAKE
368 1.1 christos OBJS += src/eap_server/eap_server_sake.c src/eap_common/eap_sake_common.c
369 1.1 christos endif
370 1.1 christos
371 1.1 christos ifdef CONFIG_EAP_GPSK
372 1.1 christos L_CFLAGS += -DEAP_SERVER_GPSK
373 1.1 christos OBJS += src/eap_server/eap_server_gpsk.c src/eap_common/eap_gpsk_common.c
374 1.1 christos ifdef CONFIG_EAP_GPSK_SHA256
375 1.1.1.3 christos L_CFLAGS += -DEAP_GPSK_SHA256
376 1.1 christos endif
377 1.1 christos NEED_SHA256=y
378 1.1 christos NEED_AES_OMAC1=y
379 1.1 christos endif
380 1.1 christos
381 1.1 christos ifdef CONFIG_EAP_PWD
382 1.1 christos L_CFLAGS += -DEAP_SERVER_PWD
383 1.1 christos OBJS += src/eap_server/eap_server_pwd.c src/eap_common/eap_pwd_common.c
384 1.1 christos NEED_SHA256=y
385 1.1 christos endif
386 1.1 christos
387 1.1.1.3 christos ifdef CONFIG_EAP_EKE
388 1.1.1.3 christos L_CFLAGS += -DEAP_SERVER_EKE
389 1.1.1.3 christos OBJS += src/eap_server/eap_server_eke.c src/eap_common/eap_eke_common.c
390 1.1.1.3 christos NEED_DH_GROUPS=y
391 1.1.1.3 christos NEED_DH_GROUPS_ALL=y
392 1.1.1.3 christos endif
393 1.1.1.3 christos
394 1.1 christos ifdef CONFIG_EAP_VENDOR_TEST
395 1.1 christos L_CFLAGS += -DEAP_SERVER_VENDOR_TEST
396 1.1 christos OBJS += src/eap_server/eap_server_vendor_test.c
397 1.1 christos endif
398 1.1 christos
399 1.1 christos ifdef CONFIG_EAP_FAST
400 1.1 christos L_CFLAGS += -DEAP_SERVER_FAST
401 1.1 christos OBJS += src/eap_server/eap_server_fast.c
402 1.1 christos OBJS += src/eap_common/eap_fast_common.c
403 1.1 christos TLS_FUNCS=y
404 1.1 christos NEED_T_PRF=y
405 1.1 christos NEED_AES_UNWRAP=y
406 1.1 christos endif
407 1.1 christos
408 1.1 christos ifdef CONFIG_WPS
409 1.1 christos L_CFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC
410 1.1 christos OBJS += src/utils/uuid.c
411 1.1 christos OBJS += src/ap/wps_hostapd.c
412 1.1 christos OBJS += src/eap_server/eap_server_wsc.c src/eap_common/eap_wsc_common.c
413 1.1 christos OBJS += src/wps/wps.c
414 1.1 christos OBJS += src/wps/wps_common.c
415 1.1 christos OBJS += src/wps/wps_attr_parse.c
416 1.1 christos OBJS += src/wps/wps_attr_build.c
417 1.1 christos OBJS += src/wps/wps_attr_process.c
418 1.1 christos OBJS += src/wps/wps_dev_attr.c
419 1.1 christos OBJS += src/wps/wps_enrollee.c
420 1.1 christos OBJS += src/wps/wps_registrar.c
421 1.1 christos NEED_DH_GROUPS=y
422 1.1 christos NEED_SHA256=y
423 1.1 christos NEED_BASE64=y
424 1.1 christos NEED_AES_CBC=y
425 1.1 christos NEED_MODEXP=y
426 1.1 christos CONFIG_EAP=y
427 1.1 christos
428 1.1 christos ifdef CONFIG_WPS_NFC
429 1.1 christos L_CFLAGS += -DCONFIG_WPS_NFC
430 1.1 christos OBJS += src/wps/ndef.c
431 1.1 christos NEED_WPS_OOB=y
432 1.1 christos endif
433 1.1 christos
434 1.1 christos ifdef NEED_WPS_OOB
435 1.1 christos L_CFLAGS += -DCONFIG_WPS_OOB
436 1.1 christos endif
437 1.1 christos
438 1.1 christos ifdef CONFIG_WPS_UPNP
439 1.1 christos L_CFLAGS += -DCONFIG_WPS_UPNP
440 1.1 christos OBJS += src/wps/wps_upnp.c
441 1.1 christos OBJS += src/wps/wps_upnp_ssdp.c
442 1.1 christos OBJS += src/wps/wps_upnp_web.c
443 1.1 christos OBJS += src/wps/wps_upnp_event.c
444 1.1 christos OBJS += src/wps/wps_upnp_ap.c
445 1.1 christos OBJS += src/wps/upnp_xml.c
446 1.1 christos OBJS += src/wps/httpread.c
447 1.1 christos OBJS += src/wps/http_client.c
448 1.1 christos OBJS += src/wps/http_server.c
449 1.1 christos endif
450 1.1 christos
451 1.1 christos ifdef CONFIG_WPS_STRICT
452 1.1 christos L_CFLAGS += -DCONFIG_WPS_STRICT
453 1.1 christos OBJS += src/wps/wps_validate.c
454 1.1 christos endif
455 1.1 christos
456 1.1 christos ifdef CONFIG_WPS_TESTING
457 1.1 christos L_CFLAGS += -DCONFIG_WPS_TESTING
458 1.1 christos endif
459 1.1 christos
460 1.1 christos endif
461 1.1 christos
462 1.1 christos ifdef CONFIG_EAP_IKEV2
463 1.1 christos L_CFLAGS += -DEAP_SERVER_IKEV2
464 1.1 christos OBJS += src/eap_server/eap_server_ikev2.c src/eap_server/ikev2.c
465 1.1 christos OBJS += src/eap_common/eap_ikev2_common.c src/eap_common/ikev2_common.c
466 1.1 christos NEED_DH_GROUPS=y
467 1.1 christos NEED_DH_GROUPS_ALL=y
468 1.1 christos NEED_MODEXP=y
469 1.1 christos NEED_CIPHER=y
470 1.1 christos endif
471 1.1 christos
472 1.1 christos ifdef CONFIG_EAP_TNC
473 1.1 christos L_CFLAGS += -DEAP_SERVER_TNC
474 1.1 christos OBJS += src/eap_server/eap_server_tnc.c
475 1.1 christos OBJS += src/eap_server/tncs.c
476 1.1 christos NEED_BASE64=y
477 1.1 christos ifndef CONFIG_DRIVER_BSD
478 1.1 christos LIBS += -ldl
479 1.1 christos endif
480 1.1 christos endif
481 1.1 christos
482 1.1 christos # Basic EAP functionality is needed for EAPOL
483 1.1 christos OBJS += eap_register.c
484 1.1 christos OBJS += src/eap_server/eap_server.c
485 1.1 christos OBJS += src/eap_common/eap_common.c
486 1.1 christos OBJS += src/eap_server/eap_server_methods.c
487 1.1 christos OBJS += src/eap_server/eap_server_identity.c
488 1.1 christos L_CFLAGS += -DEAP_SERVER_IDENTITY
489 1.1 christos
490 1.1 christos ifdef CONFIG_EAP
491 1.1 christos L_CFLAGS += -DEAP_SERVER
492 1.1 christos endif
493 1.1 christos
494 1.1 christos ifdef CONFIG_PKCS12
495 1.1 christos L_CFLAGS += -DPKCS12_FUNCS
496 1.1 christos endif
497 1.1 christos
498 1.1 christos ifdef MS_FUNCS
499 1.1 christos OBJS += src/crypto/ms_funcs.c
500 1.1 christos NEED_DES=y
501 1.1 christos NEED_MD4=y
502 1.1 christos endif
503 1.1 christos
504 1.1 christos ifdef CHAP
505 1.1 christos OBJS += src/eap_common/chap.c
506 1.1 christos endif
507 1.1 christos
508 1.1 christos ifdef TLS_FUNCS
509 1.1 christos NEED_DES=y
510 1.1 christos # Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
511 1.1 christos L_CFLAGS += -DEAP_TLS_FUNCS
512 1.1 christos OBJS += src/eap_server/eap_server_tls_common.c
513 1.1 christos NEED_TLS_PRF=y
514 1.1 christos endif
515 1.1 christos
516 1.1 christos ifndef CONFIG_TLS
517 1.1 christos CONFIG_TLS=openssl
518 1.1 christos endif
519 1.1 christos
520 1.1.1.3 christos ifdef CONFIG_TLSV11
521 1.1.1.3 christos L_CFLAGS += -DCONFIG_TLSV11
522 1.1.1.3 christos endif
523 1.1.1.3 christos
524 1.1.1.3 christos ifdef CONFIG_TLSV12
525 1.1.1.3 christos L_CFLAGS += -DCONFIG_TLSV12
526 1.1.1.3 christos NEED_SHA256=y
527 1.1.1.3 christos endif
528 1.1.1.3 christos
529 1.1 christos ifeq ($(CONFIG_TLS), openssl)
530 1.1 christos ifdef TLS_FUNCS
531 1.1 christos OBJS += src/crypto/tls_openssl.c
532 1.1 christos LIBS += -lssl
533 1.1 christos endif
534 1.1 christos OBJS += src/crypto/crypto_openssl.c
535 1.1 christos HOBJS += src/crypto/crypto_openssl.c
536 1.1 christos ifdef NEED_FIPS186_2_PRF
537 1.1 christos OBJS += src/crypto/fips_prf_openssl.c
538 1.1 christos endif
539 1.1 christos LIBS += -lcrypto
540 1.1 christos LIBS_h += -lcrypto
541 1.1 christos endif
542 1.1 christos
543 1.1 christos ifeq ($(CONFIG_TLS), gnutls)
544 1.1 christos ifdef TLS_FUNCS
545 1.1 christos OBJS += src/crypto/tls_gnutls.c
546 1.1 christos LIBS += -lgnutls -lgpg-error
547 1.1 christos endif
548 1.1 christos OBJS += src/crypto/crypto_gnutls.c
549 1.1 christos HOBJS += src/crypto/crypto_gnutls.c
550 1.1 christos ifdef NEED_FIPS186_2_PRF
551 1.1.1.3 christos OBJS += src/crypto/fips_prf_internal.c
552 1.1.1.3 christos OBJS += src/crypto/sha1-internal.c
553 1.1 christos endif
554 1.1 christos LIBS += -lgcrypt
555 1.1 christos LIBS_h += -lgcrypt
556 1.1 christos CONFIG_INTERNAL_SHA256=y
557 1.1 christos CONFIG_INTERNAL_RC4=y
558 1.1 christos CONFIG_INTERNAL_DH_GROUP5=y
559 1.1 christos endif
560 1.1 christos
561 1.1 christos ifeq ($(CONFIG_TLS), schannel)
562 1.1 christos ifdef TLS_FUNCS
563 1.1 christos OBJS += src/crypto/tls_schannel.c
564 1.1 christos endif
565 1.1 christos OBJS += src/crypto/crypto_cryptoapi.c
566 1.1 christos OBJS_p += src/crypto/crypto_cryptoapi.c
567 1.1 christos CONFIG_INTERNAL_SHA256=y
568 1.1 christos CONFIG_INTERNAL_RC4=y
569 1.1 christos CONFIG_INTERNAL_DH_GROUP5=y
570 1.1 christos endif
571 1.1 christos
572 1.1 christos ifeq ($(CONFIG_TLS), internal)
573 1.1 christos ifndef CONFIG_CRYPTO
574 1.1 christos CONFIG_CRYPTO=internal
575 1.1 christos endif
576 1.1 christos ifdef TLS_FUNCS
577 1.1 christos OBJS += src/crypto/crypto_internal-rsa.c
578 1.1 christos OBJS += src/crypto/tls_internal.c
579 1.1 christos OBJS += src/tls/tlsv1_common.c
580 1.1 christos OBJS += src/tls/tlsv1_record.c
581 1.1 christos OBJS += src/tls/tlsv1_cred.c
582 1.1 christos OBJS += src/tls/tlsv1_server.c
583 1.1 christos OBJS += src/tls/tlsv1_server_write.c
584 1.1 christos OBJS += src/tls/tlsv1_server_read.c
585 1.1 christos OBJS += src/tls/asn1.c
586 1.1 christos OBJS += src/tls/rsa.c
587 1.1 christos OBJS += src/tls/x509v3.c
588 1.1 christos OBJS += src/tls/pkcs1.c
589 1.1 christos OBJS += src/tls/pkcs5.c
590 1.1 christos OBJS += src/tls/pkcs8.c
591 1.1 christos NEED_SHA256=y
592 1.1 christos NEED_BASE64=y
593 1.1 christos NEED_TLS_PRF=y
594 1.1.1.3 christos ifdef CONFIG_TLSV12
595 1.1.1.3 christos NEED_TLS_PRF_SHA256=y
596 1.1.1.3 christos endif
597 1.1 christos NEED_MODEXP=y
598 1.1 christos NEED_CIPHER=y
599 1.1 christos L_CFLAGS += -DCONFIG_TLS_INTERNAL
600 1.1 christos L_CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
601 1.1 christos endif
602 1.1 christos ifdef NEED_CIPHER
603 1.1 christos NEED_DES=y
604 1.1 christos OBJS += src/crypto/crypto_internal-cipher.c
605 1.1 christos endif
606 1.1 christos ifdef NEED_MODEXP
607 1.1 christos OBJS += src/crypto/crypto_internal-modexp.c
608 1.1 christos OBJS += src/tls/bignum.c
609 1.1 christos endif
610 1.1 christos ifeq ($(CONFIG_CRYPTO), libtomcrypt)
611 1.1 christos OBJS += src/crypto/crypto_libtomcrypt.c
612 1.1 christos LIBS += -ltomcrypt -ltfm
613 1.1 christos LIBS_h += -ltomcrypt -ltfm
614 1.1 christos CONFIG_INTERNAL_SHA256=y
615 1.1 christos CONFIG_INTERNAL_RC4=y
616 1.1 christos CONFIG_INTERNAL_DH_GROUP5=y
617 1.1 christos endif
618 1.1 christos ifeq ($(CONFIG_CRYPTO), internal)
619 1.1 christos OBJS += src/crypto/crypto_internal.c
620 1.1 christos NEED_AES_DEC=y
621 1.1 christos L_CFLAGS += -DCONFIG_CRYPTO_INTERNAL
622 1.1 christos ifdef CONFIG_INTERNAL_LIBTOMMATH
623 1.1 christos L_CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
624 1.1 christos ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
625 1.1 christos L_CFLAGS += -DLTM_FAST
626 1.1 christos endif
627 1.1 christos else
628 1.1 christos LIBS += -ltommath
629 1.1 christos LIBS_h += -ltommath
630 1.1 christos endif
631 1.1 christos CONFIG_INTERNAL_AES=y
632 1.1 christos CONFIG_INTERNAL_DES=y
633 1.1 christos CONFIG_INTERNAL_SHA1=y
634 1.1 christos CONFIG_INTERNAL_MD4=y
635 1.1 christos CONFIG_INTERNAL_MD5=y
636 1.1 christos CONFIG_INTERNAL_SHA256=y
637 1.1 christos CONFIG_INTERNAL_RC4=y
638 1.1 christos CONFIG_INTERNAL_DH_GROUP5=y
639 1.1 christos endif
640 1.1 christos ifeq ($(CONFIG_CRYPTO), cryptoapi)
641 1.1 christos OBJS += src/crypto/crypto_cryptoapi.c
642 1.1 christos OBJS_p += src/crypto/crypto_cryptoapi.c
643 1.1 christos L_CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
644 1.1 christos CONFIG_INTERNAL_SHA256=y
645 1.1 christos CONFIG_INTERNAL_RC4=y
646 1.1 christos endif
647 1.1 christos endif
648 1.1 christos
649 1.1 christos ifeq ($(CONFIG_TLS), none)
650 1.1 christos ifdef TLS_FUNCS
651 1.1 christos OBJS += src/crypto/tls_none.c
652 1.1 christos L_CFLAGS += -DEAP_TLS_NONE
653 1.1 christos CONFIG_INTERNAL_AES=y
654 1.1 christos CONFIG_INTERNAL_SHA1=y
655 1.1 christos CONFIG_INTERNAL_MD5=y
656 1.1 christos endif
657 1.1 christos OBJS += src/crypto/crypto_none.c
658 1.1 christos OBJS_p += src/crypto/crypto_none.c
659 1.1 christos CONFIG_INTERNAL_SHA256=y
660 1.1 christos CONFIG_INTERNAL_RC4=y
661 1.1 christos endif
662 1.1 christos
663 1.1 christos ifndef TLS_FUNCS
664 1.1 christos OBJS += src/crypto/tls_none.c
665 1.1 christos ifeq ($(CONFIG_TLS), internal)
666 1.1 christos CONFIG_INTERNAL_AES=y
667 1.1 christos CONFIG_INTERNAL_SHA1=y
668 1.1 christos CONFIG_INTERNAL_MD5=y
669 1.1 christos CONFIG_INTERNAL_RC4=y
670 1.1 christos endif
671 1.1 christos endif
672 1.1 christos
673 1.1 christos AESOBJS = # none so far
674 1.1 christos ifdef CONFIG_INTERNAL_AES
675 1.1 christos AESOBJS += src/crypto/aes-internal.c src/crypto/aes-internal-enc.c
676 1.1 christos endif
677 1.1 christos
678 1.1.1.4 christos ifneq ($(CONFIG_TLS), openssl)
679 1.1 christos AESOBJS += src/crypto/aes-wrap.c
680 1.1.1.4 christos endif
681 1.1 christos ifdef NEED_AES_EAX
682 1.1 christos AESOBJS += src/crypto/aes-eax.c
683 1.1 christos NEED_AES_CTR=y
684 1.1 christos endif
685 1.1 christos ifdef NEED_AES_CTR
686 1.1 christos AESOBJS += src/crypto/aes-ctr.c
687 1.1 christos endif
688 1.1 christos ifdef NEED_AES_ENCBLOCK
689 1.1 christos AESOBJS += src/crypto/aes-encblock.c
690 1.1 christos endif
691 1.1 christos ifdef NEED_AES_OMAC1
692 1.1 christos AESOBJS += src/crypto/aes-omac1.c
693 1.1 christos endif
694 1.1 christos ifdef NEED_AES_UNWRAP
695 1.1.1.4 christos ifneq ($(CONFIG_TLS), openssl)
696 1.1 christos NEED_AES_DEC=y
697 1.1 christos AESOBJS += src/crypto/aes-unwrap.c
698 1.1 christos endif
699 1.1.1.4 christos endif
700 1.1 christos ifdef NEED_AES_CBC
701 1.1 christos NEED_AES_DEC=y
702 1.1 christos AESOBJS += src/crypto/aes-cbc.c
703 1.1 christos endif
704 1.1 christos ifdef NEED_AES_DEC
705 1.1 christos ifdef CONFIG_INTERNAL_AES
706 1.1 christos AESOBJS += src/crypto/aes-internal-dec.c
707 1.1 christos endif
708 1.1 christos endif
709 1.1 christos ifdef NEED_AES
710 1.1 christos OBJS += $(AESOBJS)
711 1.1 christos endif
712 1.1 christos
713 1.1 christos SHA1OBJS =
714 1.1 christos ifdef NEED_SHA1
715 1.1.1.2 christos ifneq ($(CONFIG_TLS), openssl)
716 1.1 christos SHA1OBJS += src/crypto/sha1.c
717 1.1.1.2 christos endif
718 1.1.1.2 christos SHA1OBJS += src/crypto/sha1-prf.c
719 1.1 christos ifdef CONFIG_INTERNAL_SHA1
720 1.1 christos SHA1OBJS += src/crypto/sha1-internal.c
721 1.1 christos ifdef NEED_FIPS186_2_PRF
722 1.1 christos SHA1OBJS += src/crypto/fips_prf_internal.c
723 1.1 christos endif
724 1.1 christos endif
725 1.1.1.2 christos ifneq ($(CONFIG_TLS), openssl)
726 1.1 christos SHA1OBJS += src/crypto/sha1-pbkdf2.c
727 1.1.1.2 christos endif
728 1.1 christos ifdef NEED_T_PRF
729 1.1 christos SHA1OBJS += src/crypto/sha1-tprf.c
730 1.1 christos endif
731 1.1 christos ifdef NEED_TLS_PRF
732 1.1 christos SHA1OBJS += src/crypto/sha1-tlsprf.c
733 1.1 christos endif
734 1.1 christos endif
735 1.1 christos
736 1.1 christos ifdef NEED_SHA1
737 1.1 christos OBJS += $(SHA1OBJS)
738 1.1 christos endif
739 1.1 christos
740 1.1.1.4 christos ifneq ($(CONFIG_TLS), openssl)
741 1.1.1.4 christos OBJS += src/crypto/md5.c
742 1.1.1.4 christos endif
743 1.1.1.4 christos
744 1.1 christos ifdef NEED_MD5
745 1.1 christos ifdef CONFIG_INTERNAL_MD5
746 1.1 christos OBJS += src/crypto/md5-internal.c
747 1.1 christos HOBJS += src/crypto/md5-internal.c
748 1.1 christos endif
749 1.1 christos endif
750 1.1 christos
751 1.1 christos ifdef NEED_MD4
752 1.1 christos ifdef CONFIG_INTERNAL_MD4
753 1.1 christos OBJS += src/crypto/md4-internal.c
754 1.1 christos endif
755 1.1 christos endif
756 1.1 christos
757 1.1 christos ifdef NEED_DES
758 1.1 christos ifdef CONFIG_INTERNAL_DES
759 1.1 christos OBJS += src/crypto/des-internal.c
760 1.1 christos endif
761 1.1 christos endif
762 1.1 christos
763 1.1 christos ifdef NEED_RC4
764 1.1 christos ifdef CONFIG_INTERNAL_RC4
765 1.1 christos OBJS += src/crypto/rc4.c
766 1.1 christos endif
767 1.1 christos endif
768 1.1 christos
769 1.1 christos ifdef NEED_SHA256
770 1.1.1.2 christos L_CFLAGS += -DCONFIG_SHA256
771 1.1.1.2 christos ifneq ($(CONFIG_TLS), openssl)
772 1.1 christos OBJS += src/crypto/sha256.c
773 1.1.1.2 christos endif
774 1.1.1.2 christos OBJS += src/crypto/sha256-prf.c
775 1.1 christos ifdef CONFIG_INTERNAL_SHA256
776 1.1 christos OBJS += src/crypto/sha256-internal.c
777 1.1 christos endif
778 1.1.1.2 christos ifdef NEED_TLS_PRF_SHA256
779 1.1.1.3 christos OBJS += src/crypto/sha256-tlsprf.c
780 1.1.1.2 christos endif
781 1.1 christos endif
782 1.1.1.4 christos ifdef NEED_SHA384
783 1.1.1.4 christos L_CFLAGS += -DCONFIG_SHA384
784 1.1.1.4 christos endif
785 1.1 christos
786 1.1 christos ifdef NEED_DH_GROUPS
787 1.1 christos OBJS += src/crypto/dh_groups.c
788 1.1 christos endif
789 1.1 christos ifdef NEED_DH_GROUPS_ALL
790 1.1 christos L_CFLAGS += -DALL_DH_GROUPS
791 1.1 christos endif
792 1.1 christos ifdef CONFIG_INTERNAL_DH_GROUP5
793 1.1 christos ifdef NEED_DH_GROUPS
794 1.1 christos OBJS += src/crypto/dh_group5.c
795 1.1 christos endif
796 1.1 christos endif
797 1.1 christos
798 1.1.1.3 christos ifdef NEED_ECC
799 1.1.1.3 christos L_CFLAGS += -DCONFIG_ECC
800 1.1.1.3 christos endif
801 1.1.1.3 christos
802 1.1 christos ifdef CONFIG_NO_RANDOM_POOL
803 1.1 christos L_CFLAGS += -DCONFIG_NO_RANDOM_POOL
804 1.1 christos else
805 1.1 christos OBJS += src/crypto/random.c
806 1.1 christos HOBJS += src/crypto/random.c
807 1.1.1.3 christos HOBJS += src/utils/eloop.c
808 1.1 christos HOBJS += $(SHA1OBJS)
809 1.1 christos HOBJS += src/crypto/md5.c
810 1.1 christos endif
811 1.1 christos
812 1.1 christos ifdef CONFIG_RADIUS_SERVER
813 1.1 christos L_CFLAGS += -DRADIUS_SERVER
814 1.1 christos OBJS += src/radius/radius_server.c
815 1.1 christos endif
816 1.1 christos
817 1.1 christos ifdef CONFIG_IPV6
818 1.1 christos L_CFLAGS += -DCONFIG_IPV6
819 1.1 christos endif
820 1.1 christos
821 1.1 christos ifdef CONFIG_DRIVER_RADIUS_ACL
822 1.1 christos L_CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL
823 1.1 christos endif
824 1.1 christos
825 1.1 christos ifdef CONFIG_FULL_DYNAMIC_VLAN
826 1.1 christos # define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
827 1.1 christos # and vlan interfaces for the vlan feature.
828 1.1 christos L_CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
829 1.1 christos endif
830 1.1 christos
831 1.1 christos ifdef NEED_BASE64
832 1.1 christos OBJS += src/utils/base64.c
833 1.1 christos endif
834 1.1 christos
835 1.1 christos ifdef NEED_AP_MLME
836 1.1 christos OBJS += src/ap/wmm.c
837 1.1 christos OBJS += src/ap/ap_list.c
838 1.1 christos OBJS += src/ap/ieee802_11.c
839 1.1 christos OBJS += src/ap/hw_features.c
840 1.1.1.3 christos OBJS += src/ap/dfs.c
841 1.1 christos L_CFLAGS += -DNEED_AP_MLME
842 1.1 christos endif
843 1.1 christos ifdef CONFIG_IEEE80211N
844 1.1 christos OBJS += src/ap/ieee802_11_ht.c
845 1.1 christos endif
846 1.1 christos
847 1.1.1.3 christos ifdef CONFIG_IEEE80211AC
848 1.1.1.3 christos OBJS += src/ap/ieee802_11_vht.c
849 1.1.1.3 christos endif
850 1.1.1.3 christos
851 1.1 christos ifdef CONFIG_P2P_MANAGER
852 1.1 christos L_CFLAGS += -DCONFIG_P2P_MANAGER
853 1.1 christos OBJS += src/ap/p2p_hostapd.c
854 1.1 christos endif
855 1.1 christos
856 1.1.1.3 christos ifdef CONFIG_HS20
857 1.1.1.3 christos L_CFLAGS += -DCONFIG_HS20
858 1.1.1.3 christos OBJS += src/ap/hs20.c
859 1.1.1.3 christos CONFIG_INTERWORKING=y
860 1.1.1.3 christos endif
861 1.1.1.3 christos
862 1.1.1.3 christos ifdef CONFIG_INTERWORKING
863 1.1.1.3 christos L_CFLAGS += -DCONFIG_INTERWORKING
864 1.1.1.3 christos OBJS += src/common/gas.c
865 1.1.1.3 christos OBJS += src/ap/gas_serv.c
866 1.1.1.3 christos endif
867 1.1.1.3 christos
868 1.1.1.4 christos ifdef CONFIG_PROXYARP
869 1.1.1.4 christos L_CFLAGS += -DCONFIG_PROXYARP
870 1.1.1.4 christos OBJS += src/ap/x_snoop.c
871 1.1.1.4 christos OBJS += src/ap/dhcp_snoop.c
872 1.1.1.4 christos ifdef CONFIG_IPV6
873 1.1.1.4 christos OBJS += src/ap/ndisc_snoop.c
874 1.1.1.4 christos endif
875 1.1.1.4 christos endif
876 1.1.1.4 christos
877 1.1 christos OBJS += src/drivers/driver_common.c
878 1.1 christos
879 1.1.1.3 christos ifdef CONFIG_ACS
880 1.1.1.3 christos L_CFLAGS += -DCONFIG_ACS
881 1.1.1.3 christos OBJS += src/ap/acs.c
882 1.1.1.3 christos LIBS += -lm
883 1.1.1.3 christos endif
884 1.1.1.3 christos
885 1.1 christos ifdef CONFIG_NO_STDOUT_DEBUG
886 1.1 christos L_CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
887 1.1 christos endif
888 1.1 christos
889 1.1.1.3 christos ifdef CONFIG_DEBUG_LINUX_TRACING
890 1.1.1.3 christos L_CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING
891 1.1.1.3 christos endif
892 1.1.1.3 christos
893 1.1 christos ifdef CONFIG_DEBUG_FILE
894 1.1 christos L_CFLAGS += -DCONFIG_DEBUG_FILE
895 1.1 christos endif
896 1.1 christos
897 1.1 christos ifdef CONFIG_ANDROID_LOG
898 1.1 christos L_CFLAGS += -DCONFIG_ANDROID_LOG
899 1.1 christos endif
900 1.1 christos
901 1.1 christos OBJS_c = hostapd_cli.c src/common/wpa_ctrl.c src/utils/os_$(CONFIG_OS).c
902 1.1 christos OBJS_c += src/utils/eloop.c
903 1.1 christos ifdef CONFIG_WPA_TRACE
904 1.1 christos OBJS_c += src/utils/trace.c
905 1.1 christos endif
906 1.1 christos OBJS_c += src/utils/wpa_debug.c
907 1.1 christos ifdef CONFIG_WPA_CLI_EDIT
908 1.1 christos OBJS_c += src/utils/edit.c
909 1.1 christos else
910 1.1 christos OBJS_c += src/utils/edit_simple.c
911 1.1 christos endif
912 1.1 christos
913 1.1 christos ########################
914 1.1 christos
915 1.1 christos include $(CLEAR_VARS)
916 1.1 christos LOCAL_MODULE := hostapd_cli
917 1.1 christos LOCAL_MODULE_TAGS := debug
918 1.1.1.3 christos LOCAL_SHARED_LIBRARIES := libc libcutils liblog
919 1.1 christos LOCAL_CFLAGS := $(L_CFLAGS)
920 1.1 christos LOCAL_SRC_FILES := $(OBJS_c)
921 1.1 christos LOCAL_C_INCLUDES := $(INCLUDES)
922 1.1 christos include $(BUILD_EXECUTABLE)
923 1.1 christos
924 1.1 christos ########################
925 1.1 christos include $(CLEAR_VARS)
926 1.1 christos LOCAL_MODULE := hostapd
927 1.1 christos LOCAL_MODULE_TAGS := optional
928 1.1 christos ifdef CONFIG_DRIVER_CUSTOM
929 1.1 christos LOCAL_STATIC_LIBRARIES := libCustomWifi
930 1.1 christos endif
931 1.1 christos ifneq ($(BOARD_HOSTAPD_PRIVATE_LIB),)
932 1.1 christos LOCAL_STATIC_LIBRARIES += $(BOARD_HOSTAPD_PRIVATE_LIB)
933 1.1 christos endif
934 1.1.1.3 christos LOCAL_SHARED_LIBRARIES := libc libcutils liblog libcrypto libssl
935 1.1 christos ifdef CONFIG_DRIVER_NL80211
936 1.1.1.3 christos ifneq ($(wildcard external/libnl),)
937 1.1.1.3 christos LOCAL_SHARED_LIBRARIES += libnl
938 1.1.1.3 christos else
939 1.1 christos LOCAL_STATIC_LIBRARIES += libnl_2
940 1.1 christos endif
941 1.1.1.3 christos endif
942 1.1 christos LOCAL_CFLAGS := $(L_CFLAGS)
943 1.1 christos LOCAL_SRC_FILES := $(OBJS)
944 1.1 christos LOCAL_C_INCLUDES := $(INCLUDES)
945 1.1 christos include $(BUILD_EXECUTABLE)
946 1.1 christos
947 1.1 christos endif # ifeq ($(WPA_BUILD_HOSTAPD),true)
948