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