1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2006-2021 OpenWrt.org
5 include $(TOPDIR
)/rules.mk
10 PKG_SOURCE_URL
:=http
://w1.fi
/hostap.git
12 PKG_SOURCE_DATE
:=2023-06-22
13 PKG_SOURCE_VERSION
:=599d00be9de2846c6ea18c1487d8329522ade22b
14 PKG_MIRROR_HASH
:=828810c558ea181e45ed0c8b940f5c41e55775e2979a15aed8cf0ab17dd7723c
16 PKG_MAINTAINER
:=Felix Fietkau
<nbd@nbd.name
>
17 PKG_LICENSE
:=BSD-3-Clause
18 PKG_CPE_ID
:=cpe
:/a
:w1.fi
:hostapd
21 PKG_ASLR_PIE_REGULAR
:=1
23 PKG_CONFIG_DEPENDS
:= \
24 CONFIG_PACKAGE_kmod-ath9k \
25 CONFIG_PACKAGE_kmod-cfg80211 \
26 CONFIG_PACKAGE_hostapd \
27 CONFIG_PACKAGE_hostapd-basic \
28 CONFIG_PACKAGE_hostapd-mini \
29 CONFIG_WPA_RFKILL_SUPPORT \
30 CONFIG_DRIVER_11AC_SUPPORT \
31 CONFIG_DRIVER_11AX_SUPPORT \
34 PKG_BUILD_FLAGS
:=gc-sections lto
36 EAPOL_TEST_PROVIDERS
:=eapol-test eapol-test-openssl eapol-test-wolfssl
38 SUPPLICANT_PROVIDERS
:=
42 $(if
$(findstring wpad
,$(BUILD_VARIANT
)),wpad
, \
43 $(if
$(findstring supplicant
,$(BUILD_VARIANT
)),supplicant
, \
47 LOCAL_AND_LIB_VARIANT
=$(patsubst hostapd-
%,%,\
49 $(patsubst supplicant-
%,%,\
53 LOCAL_VARIANT
=$(patsubst %-internal
,%,\
54 $(patsubst %-openssl
,%,\
55 $(patsubst %-wolfssl
,%,\
56 $(patsubst %-mbedtls
,%,\
57 $(LOCAL_AND_LIB_VARIANT
)\
61 $(if
$(findstring openssl
,$(LOCAL_AND_LIB_VARIANT
)),openssl
,\
62 $(if
$(findstring wolfssl
,$(LOCAL_AND_LIB_VARIANT
)),wolfssl
,\
63 $(if
$(findstring mbedtls
,$(LOCAL_AND_LIB_VARIANT
)),mbedtls
,\
67 CONFIG_VARIANT
:=$(LOCAL_VARIANT
)
68 ifeq ($(LOCAL_VARIANT
),mesh
)
72 include $(INCLUDE_DIR
)/package.mk
74 STAMP_CONFIGURED
:=$(STAMP_CONFIGURED
)_
$(CONFIG_WPA_MSG_MIN_PRIORITY
)
76 ifneq ($(CONFIG_DRIVER_11AC_SUPPORT
),)
77 HOSTAPD_IEEE80211AC
:=y
80 ifneq ($(CONFIG_DRIVER_11AX_SUPPORT
),)
81 HOSTAPD_IEEE80211AX
:=y
84 CORE_DEPENDS
= +ucode
+libubus
+libucode
+ucode-mod-fs
+ucode-mod-nl80211
+ucode-mod-rtnl
+ucode-mod-ubus
+ucode-mod-uloop
+libblobmsg-json
87 CONFIG_ACS
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
88 CONFIG_DRIVER_NL80211
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
89 CONFIG_IEEE80211AC
=$(HOSTAPD_IEEE80211AC
) \
90 CONFIG_IEEE80211AX
=$(HOSTAPD_IEEE80211AX
) \
91 CONFIG_MBO
=$(CONFIG_WPA_MBO_SUPPORT
) \
94 ifeq ($(SSL_VARIANT
),openssl
)
95 DRIVER_MAKEOPTS
+= CONFIG_TLS
=openssl CONFIG_SAE
=y
96 TARGET_LDFLAGS
+= -lcrypto
-lssl
98 ifeq ($(LOCAL_VARIANT
),basic
)
99 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
101 ifeq ($(LOCAL_VARIANT
),mesh
)
102 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y
104 ifeq ($(LOCAL_VARIANT
),full
)
105 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y
109 ifeq ($(SSL_VARIANT
),wolfssl
)
110 DRIVER_MAKEOPTS
+= CONFIG_TLS
=wolfssl CONFIG_SAE
=y
111 TARGET_LDFLAGS
+= -lwolfssl
113 ifeq ($(LOCAL_VARIANT
),basic
)
114 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
116 ifeq ($(LOCAL_VARIANT
),mesh
)
117 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
119 ifeq ($(LOCAL_VARIANT
),full
)
120 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
124 ifeq ($(SSL_VARIANT
),mbedtls
)
125 DRIVER_MAKEOPTS
+= CONFIG_TLS
=mbedtls CONFIG_SAE
=y
126 TARGET_LDFLAGS
+= -lmbedcrypto
-lmbedx509
-lmbedtls
128 ifeq ($(LOCAL_VARIANT
),basic
)
129 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
131 ifeq ($(LOCAL_VARIANT
),mesh
)
132 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
134 ifeq ($(LOCAL_VARIANT
),full
)
135 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
139 ifneq ($(LOCAL_TYPE
),hostapd
)
140 ifdef CONFIG_WPA_RFKILL_SUPPORT
141 DRIVER_MAKEOPTS
+= NEED_RFKILL
=y
145 DRV_DEPENDS
:=+PACKAGE_kmod-cfg80211
:libnl-tiny
148 define Package
/hostapd
/Default
152 TITLE
:=IEEE
802.1x Authenticator
153 URL
:=http
://hostap.epitest.fi
/
154 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
155 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
156 USERID
:=network
=101:network
=101
158 CONFLICTS
:=$(HOSTAPD_PROVIDERS
)
159 HOSTAPD_PROVIDERS
+=$(1)
162 define Package
/hostapd
163 $(call Package
/hostapd
/Default
,$(1))
164 TITLE
+= (built-in full
)
165 VARIANT
:=full-internal
168 define Package
/hostapd
/description
169 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
173 define Package
/hostapd-openssl
174 $(call Package
/hostapd
/Default
,$(1))
175 TITLE
+= (OpenSSL full
)
176 VARIANT
:=full-openssl
177 DEPENDS
+=+PACKAGE_hostapd-openssl
:libopenssl
180 Package
/hostapd-openssl
/description
= $(Package
/hostapd
/description
)
182 define Package
/hostapd-wolfssl
183 $(call Package
/hostapd
/Default
,$(1))
184 TITLE
+= (wolfSSL full
)
185 VARIANT
:=full-wolfssl
186 DEPENDS
+=+PACKAGE_hostapd-wolfssl
:libwolfssl
189 Package
/hostapd-wolfssl
/description
= $(Package
/hostapd
/description
)
191 define Package
/hostapd-mbedtls
192 $(call Package
/hostapd
/Default
,$(1))
193 TITLE
+= (mbedTLS full
)
194 VARIANT
:=full-mbedtls
195 DEPENDS
+=+PACKAGE_hostapd-mbedtls
:libmbedtls
198 Package
/hostapd-mbedtls
/description
= $(Package
/hostapd
/description
)
200 define Package
/hostapd-basic
201 $(call Package
/hostapd
/Default
,$(1))
202 TITLE
+= (WPA-PSK
, 11r
, 11w
)
206 define Package
/hostapd-basic
/description
207 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
210 define Package
/hostapd-basic-openssl
211 $(call Package
/hostapd
/Default
,$(1))
212 TITLE
+= (WPA-PSK
, 11r and
11w
)
213 VARIANT
:=basic-openssl
214 DEPENDS
+=+PACKAGE_hostapd-basic-openssl
:libopenssl
217 define Package
/hostapd-basic-openssl
/description
218 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
221 define Package
/hostapd-basic-wolfssl
222 $(call Package
/hostapd
/Default
,$(1))
223 TITLE
+= (WPA-PSK
, 11r and
11w
)
224 VARIANT
:=basic-wolfssl
225 DEPENDS
+=+PACKAGE_hostapd-basic-wolfssl
:libwolfssl
228 define Package
/hostapd-basic-wolfssl
/description
229 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
232 define Package
/hostapd-basic-mbedtls
233 $(call Package
/hostapd
/Default
,$(1))
234 TITLE
+= (WPA-PSK
, 11r and
11w
)
235 VARIANT
:=basic-mbedtls
236 DEPENDS
+=+PACKAGE_hostapd-basic-mbedtls
:libmbedtls
239 define Package
/hostapd-basic-mbedtls
/description
240 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
243 define Package
/hostapd-mini
244 $(call Package
/hostapd
/Default
,$(1))
245 TITLE
+= (WPA-PSK only
)
249 define Package
/hostapd-mini
/description
250 This package contains a minimal IEEE
802.1x
/WPA Authenticator
(WPA-PSK only
).
254 define Package
/wpad
/Default
258 TITLE
:=IEEE
802.1x Auth
/Supplicant
259 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
260 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
261 USERID
:=network
=101:network
=101
262 URL
:=http
://hostap.epitest.fi
/
263 PROVIDES
:=hostapd wpa-supplicant
264 CONFLICTS
:=$(HOSTAPD_PROVIDERS
) $(SUPPLICANT_PROVIDERS
)
265 HOSTAPD_PROVIDERS
+=$(1)
266 SUPPLICANT_PROVIDERS
+=$(1)
270 $(call Package
/wpad
/Default
,$(1))
271 TITLE
+= (built-in full
)
272 VARIANT
:=wpad-full-internal
275 define Package
/wpad
/description
276 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
277 Authenticator and Supplicant
280 define Package
/wpad-openssl
281 $(call Package
/wpad
/Default
,$(1))
282 TITLE
+= (OpenSSL full
)
283 VARIANT
:=wpad-full-openssl
284 DEPENDS
+=+PACKAGE_wpad-openssl
:libopenssl
287 Package
/wpad-openssl
/description
= $(Package
/wpad
/description
)
289 define Package
/wpad-wolfssl
290 $(call Package
/wpad
/Default
,$(1))
291 TITLE
+= (wolfSSL full
)
292 VARIANT
:=wpad-full-wolfssl
293 DEPENDS
+=+PACKAGE_wpad-wolfssl
:libwolfssl
296 Package
/wpad-wolfssl
/description
= $(Package
/wpad
/description
)
298 define Package
/wpad-mbedtls
299 $(call Package
/wpad
/Default
,$(1))
300 TITLE
+= (mbedTLS full
)
301 VARIANT
:=wpad-full-mbedtls
302 DEPENDS
+=+PACKAGE_wpad-mbedtls
:libmbedtls
305 Package
/wpad-mbedtls
/description
= $(Package
/wpad
/description
)
307 define Package
/wpad-basic
308 $(call Package
/wpad
/Default
,$(1))
309 TITLE
+= (WPA-PSK
, 11r
, 11w
)
313 define Package
/wpad-basic
/description
314 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, 802.11r and
802.11w support.
317 define Package
/wpad-basic-openssl
318 $(call Package
/wpad
/Default
,$(1))
319 TITLE
+= (OpenSSL
, 11r
, 11w
)
320 VARIANT
:=wpad-basic-openssl
321 DEPENDS
+=+PACKAGE_wpad-basic-openssl
:libopenssl
324 define Package
/wpad-basic-openssl
/description
325 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
328 define Package
/wpad-basic-wolfssl
329 $(call Package
/wpad
/Default
,$(1))
330 TITLE
+= (wolfSSL
, 11r
, 11w
)
331 VARIANT
:=wpad-basic-wolfssl
332 DEPENDS
+=+PACKAGE_wpad-basic-wolfssl
:libwolfssl
335 define Package
/wpad-basic-wolfssl
/description
336 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
339 define Package
/wpad-basic-mbedtls
340 $(call Package
/wpad
/Default
,$(1))
341 TITLE
+= (mbedTLS
, 11r
, 11w
)
342 VARIANT
:=wpad-basic-mbedtls
343 DEPENDS
+=+PACKAGE_wpad-basic-mbedtls
:libmbedtls
346 define Package
/wpad-basic-mbedtls
/description
347 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
350 define Package
/wpad-mini
351 $(call Package
/wpad
/Default
,$(1))
352 TITLE
+= (WPA-PSK only
)
356 define Package
/wpad-mini
/description
357 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(WPA-PSK only
).
360 define Package
/wpad-mesh
361 $(call Package
/wpad
/Default
,$(1))
362 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
363 PROVIDES
+=wpa-supplicant-mesh wpad-mesh
366 define Package
/wpad-mesh
/description
367 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(with
802.11s mesh and SAE support
).
370 define Package
/wpad-mesh-openssl
371 $(call Package
/wpad-mesh
,$(1))
372 TITLE
+= (OpenSSL
, 11s
, SAE
)
373 DEPENDS
+=+PACKAGE_wpad-mesh-openssl
:libopenssl
374 VARIANT
:=wpad-mesh-openssl
377 Package
/wpad-mesh-openssl
/description
= $(Package
/wpad-mesh
/description
)
379 define Package
/wpad-mesh-wolfssl
380 $(call Package
/wpad-mesh
,$(1))
381 TITLE
+= (wolfSSL
, 11s
, SAE
)
382 DEPENDS
+=+PACKAGE_wpad-mesh-wolfssl
:libwolfssl
383 VARIANT
:=wpad-mesh-wolfssl
386 Package
/wpad-mesh-wolfssl
/description
= $(Package
/wpad-mesh
/description
)
388 define Package
/wpad-mesh-mbedtls
389 $(call Package
/wpad-mesh
,$(1))
390 TITLE
+= (mbedTLS
, 11s
, SAE
)
391 DEPENDS
+=+PACKAGE_wpad-mesh-mbedtls
:libmbedtls
392 VARIANT
:=wpad-mesh-mbedtls
395 Package
/wpad-mesh-mbedtls
/description
= $(Package
/wpad-mesh
/description
)
398 define Package
/wpa-supplicant
/Default
402 TITLE
:=WPA Supplicant
403 URL
:=http
://hostap.epitest.fi
/wpa_supplicant
/
404 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
405 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
406 USERID
:=network
=101:network
=101
407 PROVIDES
:=wpa-supplicant
408 CONFLICTS
:=$(SUPPLICANT_PROVIDERS
)
409 SUPPLICANT_PROVIDERS
+=$(1)
412 define Package
/wpa-supplicant
413 $(call Package
/wpa-supplicant
/Default
,$(1))
414 TITLE
+= (built-in full
)
415 VARIANT
:=supplicant-full-internal
418 define Package
/wpa-supplicant-openssl
419 $(call Package
/wpa-supplicant
/Default
,$(1))
420 TITLE
+= (OpenSSL full
)
421 VARIANT
:=supplicant-full-openssl
422 DEPENDS
+=+PACKAGE_wpa-supplicant-openssl
:libopenssl
425 define Package
/wpa-supplicant-wolfssl
426 $(call Package
/wpa-supplicant
/Default
,$(1))
427 TITLE
+= (wolfSSL full
)
428 VARIANT
:=supplicant-full-wolfssl
429 DEPENDS
+=+PACKAGE_wpa-supplicant-wolfssl
:libwolfssl
432 define Package
/wpa-supplicant-mbedtls
433 $(call Package
/wpa-supplicant
/Default
,$(1))
434 TITLE
+= (mbedTLS full
)
435 VARIANT
:=supplicant-full-mbedtls
436 DEPENDS
+=+PACKAGE_wpa-supplicant-mbedtls
:libmbedtls
439 define Package
/wpa-supplicant
/config
440 source
"$(SOURCE)/Config.in"
443 define Package
/wpa-supplicant-p2p
444 $(call Package
/wpa-supplicant
/Default
,$(1))
445 TITLE
+= (Wi-Fi P2P support
)
446 DEPENDS
+=@PACKAGE_kmod-cfg80211
447 VARIANT
:=supplicant-p2p-internal
450 define Package
/wpa-supplicant-mesh
/Default
451 $(call Package
/wpa-supplicant
/Default
,$(1))
452 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
453 PROVIDES
+=wpa-supplicant-mesh
456 define Package
/wpa-supplicant-mesh-openssl
457 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
458 TITLE
+= (OpenSSL
, 11s
, SAE
)
459 VARIANT
:=supplicant-mesh-openssl
460 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-openssl
:libopenssl
463 define Package
/wpa-supplicant-mesh-wolfssl
464 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
465 TITLE
+= (wolfSSL
, 11s
, SAE
)
466 VARIANT
:=supplicant-mesh-wolfssl
467 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-wolfssl
:libwolfssl
470 define Package
/wpa-supplicant-mesh-mbedtls
471 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
472 TITLE
+= (mbedTLS
, 11s
, SAE
)
473 VARIANT
:=supplicant-mesh-mbedtls
474 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-mbedtls
:libmbedtls
477 define Package
/wpa-supplicant-basic
478 $(call Package
/wpa-supplicant
/Default
,$(1))
480 VARIANT
:=supplicant-basic
483 define Package
/wpa-supplicant-mini
484 $(call Package
/wpa-supplicant
/Default
,$(1))
486 VARIANT
:=supplicant-mini
490 define Package
/hostapd-common
491 TITLE
:=hostapd
/wpa_supplicant common support files
497 define Package
/hostapd-utils
501 TITLE
:=IEEE
802.1x Authenticator
(utils
)
502 URL
:=http
://hostap.epitest.fi
/
503 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(HOSTAPD_PROVIDERS
),PACKAGE_
$(pkg
)))
507 define Package
/hostapd-utils
/description
508 This package contains a command line utility to control the
509 IEEE
802.1x
/WPA
/EAP
/RADIUS Authenticator.
512 define Package
/wpa-cli
516 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(SUPPLICANT_PROVIDERS
),PACKAGE_
$(pkg
)))
517 TITLE
:=WPA Supplicant command line control utility
521 define Package
/eapol-test
/Default
522 TITLE
:=802.1x auth
test utility
526 DEPENDS
:=$(DRV_DEPENDS
) $(CORE_DEPENDS
)
529 define Package
/eapol-test
530 $(call Package
/eapol-test
/Default
,$(1))
531 TITLE
+= (built-in full
)
532 VARIANT
:=supplicant-full-internal
535 define Package
/eapol-test-openssl
536 $(call Package
/eapol-test
/Default
,$(1))
537 TITLE
+= (OpenSSL full
)
538 VARIANT
:=supplicant-full-openssl
539 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(EAPOL_TEST_PROVIDERS
))
540 DEPENDS
+=+PACKAGE_eapol-test-openssl
:libopenssl
544 define Package
/eapol-test-wolfssl
545 $(call Package
/eapol-test
/Default
,$(1))
546 TITLE
+= (wolfSSL full
)
547 VARIANT
:=supplicant-full-wolfssl
548 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-wolfssl
,$(EAPOL_TEST_PROVIDERS
)))
549 DEPENDS
+=+PACKAGE_eapol-test-wolfssl
:libwolfssl
553 define Package
/eapol-test-mbedtls
554 $(call Package
/eapol-test
/Default
,$(1))
555 TITLE
+= (mbedTLS full
)
556 VARIANT
:=supplicant-full-mbedtls
557 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-mbedtls
,$(EAPOL_TEST_PROVIDERS
)))
558 DEPENDS
+=+PACKAGE_eapol-test-mbedtls
:libmbedtls
563 ifneq ($(wildcard $(PKG_BUILD_DIR
)/.config_
*),$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
)))
564 define Build
/Configure
/rebuild
565 $(FIND
) $(PKG_BUILD_DIR
) -name \
*.o
-or
-name \
*.a |
$(XARGS
) rm -f
566 rm -f
$(PKG_BUILD_DIR
)/hostapd
/hostapd
567 rm -f
$(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
568 rm -f
$(PKG_BUILD_DIR
)/.config_
*
569 touch
$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
))
573 define Build
/Configure
574 $(Build
/Configure
/rebuild
)
575 $(if
$(wildcard .
/files
/hostapd-
$(CONFIG_VARIANT
).config
), \
576 $(CP
) .
/files
/hostapd-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/hostapd
/.config \
578 $(if
$(wildcard .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
), \
579 $(CP
) .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/wpa_supplicant
/.config
584 -I
$(STAGING_DIR
)/usr
/include/libnl-tiny \
585 -I
$(PKG_BUILD_DIR
)/src
/crypto \
589 $(if
$(CONFIG_WPA_MSG_MIN_PRIORITY
),-DCONFIG_MSG_MIN_PRIORITY
=$(CONFIG_WPA_MSG_MIN_PRIORITY
))
591 TARGET_LDFLAGS
+= -lubox
-lubus
-lblobmsg_json
-lucode
593 ifdef CONFIG_PACKAGE_kmod-cfg80211
594 TARGET_LDFLAGS
+= -lm
-lnl-tiny
597 ifdef CONFIG_WPA_ENABLE_WEP
598 DRIVER_MAKEOPTS
+= CONFIG_WEP
=y
602 CFLAGS
="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
603 $(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
)/$(1) \
604 $(TARGET_CONFIGURE_OPTS
) \
606 LIBS
="$(TARGET_LDFLAGS)" \
607 LIBS_c
="$(TARGET_LDFLAGS_C)" \
608 AR
="$(TARGET_CROSS)gcc-ar" \
610 $(if
$(findstring s
,$(OPENWRT_VERBOSE
)),V
=1) \
614 define Build
/Compile
/wpad
616 $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \
617 $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
618 sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
619 ` > $(PKG_BUILD_DIR
)/.
cflags
620 sed
-i
's/"/\\"/g' $(PKG_BUILD_DIR
)/.
cflags
621 +$(call Build
/RunMake
,hostapd
, \
622 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
624 hostapd_cli hostapd_multi.a \
626 +$(call Build
/RunMake
,wpa_supplicant
, \
627 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
629 wpa_cli wpa_supplicant_multi.a \
631 +export MAKEFLAGS
="$(MAKE_JOBSERVER)"; $(TARGET_CC
) -o
$(PKG_BUILD_DIR
)/wpad \
633 .
/files
/multicall.c \
634 $(PKG_BUILD_DIR
)/hostapd
/hostapd_multi.a \
635 $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant_multi.a \
639 define Build
/Compile
/hostapd
640 +$(call Build
/RunMake
,hostapd
, \
641 hostapd hostapd_cli \
645 define Build
/Compile
/supplicant
646 +$(call Build
/RunMake
,wpa_supplicant
, \
647 wpa_cli wpa_supplicant \
651 define Build
/Compile
/supplicant-full-internal
652 +$(call Build
/RunMake
,wpa_supplicant
, \
657 define Build
/Compile
/supplicant-full-openssl
658 +$(call Build
/RunMake
,wpa_supplicant
, \
663 define Build
/Compile
/supplicant-full-wolfssl
664 +$(call Build
/RunMake
,wpa_supplicant
, \
669 define Build
/Compile
/supplicant-full-mbedtls
670 +$(call Build
/RunMake
,wpa_supplicant
, \
676 $(Build
/Compile
/$(LOCAL_TYPE
))
677 $(Build
/Compile
/$(BUILD_VARIANT
))
680 define Install
/hostapd
/full
681 $(INSTALL_DIR
) $(1)/etc
/init.d
$(1)/etc
/config
$(1)/etc
/radius
682 ln
-sf hostapd
$(1)/usr
/sbin
/hostapd-radius
683 $(INSTALL_BIN
) .
/files
/radius.init
$(1)/etc
/init.d
/radius
684 $(INSTALL_DATA
) .
/files
/radius.config
$(1)/etc
/config
/radius
685 $(INSTALL_DATA
) .
/files
/radius.clients
$(1)/etc
/radius
/clients
686 $(INSTALL_DATA
) .
/files
/radius.users
$(1)/etc
/radius
/users
689 define Package
/hostapd-full
/conffiles
694 ifeq ($(CONFIG_VARIANT
),full
)
695 Package
/wpad-mesh-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
696 Package
/wpad-mesh-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
697 Package
/wpad-mesh-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
698 Package
/wpad
/conffiles
= $(Package
/hostapd-full
/conffiles
)
699 Package
/wpad-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
700 Package
/wpad-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
701 Package
/wpad-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
702 Package
/hostapd
/conffiles
= $(Package
/hostapd-full
/conffiles
)
703 Package
/hostapd-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
704 Package
/hostapd-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
705 Package
/hostapd-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
708 define Install
/hostapd
709 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
710 $(INSTALL_DATA
) .
/files
/hostapd.uc
$(1)/usr
/share
/hostap
/
711 $(if
$(findstring full
,$(CONFIG_VARIANT
)),$(Install
/hostapd
/full
))
714 define Install
/supplicant
715 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
716 $(INSTALL_DATA
) .
/files
/wpa_supplicant.uc
$(1)/usr
/share
/hostap
/
719 define Package
/hostapd-common
/install
720 $(INSTALL_DIR
) $(1)/etc
/capabilities
$(1)/etc
/rc.button
$(1)/etc
/hotplug.d
/ieee80211
$(1)/etc
/init.d
$(1)/lib
/netifd
$(1)/usr
/share
/acl.d
$(1)/usr
/share
/hostap
721 $(INSTALL_BIN
) .
/files
/dhcp-get-server.sh
$(1)/lib
/netifd
/dhcp-get-server.sh
722 $(INSTALL_DATA
) .
/files
/hostapd.sh
$(1)/lib
/netifd
/hostapd.sh
723 $(INSTALL_BIN
) .
/files
/wpad.init
$(1)/etc
/init.d
/wpad
724 $(INSTALL_BIN
) .
/files
/wps-hotplug.sh
$(1)/etc
/rc.button
/wps
725 $(INSTALL_DATA
) .
/files
/wpad_acl.json
$(1)/usr
/share
/acl.d
726 $(INSTALL_DATA
) .
/files
/wpad.json
$(1)/etc
/capabilities
727 $(INSTALL_DATA
) .
/files
/common.uc
$(1)/usr
/share
/hostap
/
728 $(INSTALL_DATA
) .
/files
/wdev.uc
$(1)/usr
/share
/hostap
/
731 define Package
/hostapd
/install
732 $(call Install
/hostapd
,$(1))
733 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd
$(1)/usr
/sbin
/
735 Package
/hostapd-basic
/install = $(Package
/hostapd
/install)
736 Package
/hostapd-basic-openssl
/install = $(Package
/hostapd
/install)
737 Package
/hostapd-basic-wolfssl
/install = $(Package
/hostapd
/install)
738 Package
/hostapd-basic-mbedtls
/install = $(Package
/hostapd
/install)
739 Package
/hostapd-mini
/install = $(Package
/hostapd
/install)
740 Package
/hostapd-openssl
/install = $(Package
/hostapd
/install)
741 Package
/hostapd-wolfssl
/install = $(Package
/hostapd
/install)
742 Package
/hostapd-mbedtls
/install = $(Package
/hostapd
/install)
744 ifneq ($(LOCAL_TYPE
),supplicant
)
745 define Package
/hostapd-utils
/install
746 $(INSTALL_DIR
) $(1)/usr
/sbin
747 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd_cli
$(1)/usr
/sbin
/
751 define Package
/wpad
/install
752 $(call Install
/hostapd
,$(1))
753 $(call Install
/supplicant
,$(1))
754 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpad
$(1)/usr
/sbin
/
755 $(LN
) wpad
$(1)/usr
/sbin
/hostapd
756 $(LN
) wpad
$(1)/usr
/sbin
/wpa_supplicant
758 Package
/wpad-basic
/install = $(Package
/wpad
/install)
759 Package
/wpad-basic-openssl
/install = $(Package
/wpad
/install)
760 Package
/wpad-basic-wolfssl
/install = $(Package
/wpad
/install)
761 Package
/wpad-basic-mbedtls
/install = $(Package
/wpad
/install)
762 Package
/wpad-mini
/install = $(Package
/wpad
/install)
763 Package
/wpad-openssl
/install = $(Package
/wpad
/install)
764 Package
/wpad-wolfssl
/install = $(Package
/wpad
/install)
765 Package
/wpad-mbedtls
/install = $(Package
/wpad
/install)
766 Package
/wpad-mesh-openssl
/install = $(Package
/wpad
/install)
767 Package
/wpad-mesh-wolfssl
/install = $(Package
/wpad
/install)
768 Package
/wpad-mesh-mbedtls
/install = $(Package
/wpad
/install)
770 define Package
/wpa-supplicant
/install
771 $(call Install
/supplicant
,$(1))
772 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
$(1)/usr
/sbin
/
774 Package
/wpa-supplicant-basic
/install = $(Package
/wpa-supplicant
/install)
775 Package
/wpa-supplicant-mini
/install = $(Package
/wpa-supplicant
/install)
776 Package
/wpa-supplicant-p2p
/install = $(Package
/wpa-supplicant
/install)
777 Package
/wpa-supplicant-openssl
/install = $(Package
/wpa-supplicant
/install)
778 Package
/wpa-supplicant-wolfssl
/install = $(Package
/wpa-supplicant
/install)
779 Package
/wpa-supplicant-mbedtls
/install = $(Package
/wpa-supplicant
/install)
780 Package
/wpa-supplicant-mesh-openssl
/install = $(Package
/wpa-supplicant
/install)
781 Package
/wpa-supplicant-mesh-wolfssl
/install = $(Package
/wpa-supplicant
/install)
782 Package
/wpa-supplicant-mesh-mbedtls
/install = $(Package
/wpa-supplicant
/install)
784 ifneq ($(LOCAL_TYPE
),hostapd
)
785 define Package
/wpa-cli
/install
786 $(INSTALL_DIR
) $(1)/usr
/sbin
787 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_cli
$(1)/usr
/sbin
/
791 ifeq ($(BUILD_VARIANT
),supplicant-full-internal
)
792 define Package
/eapol-test
/install
793 $(INSTALL_DIR
) $(1)/usr
/sbin
794 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
798 ifeq ($(BUILD_VARIANT
),supplicant-full-openssl
)
799 define Package
/eapol-test-openssl
/install
800 $(INSTALL_DIR
) $(1)/usr
/sbin
801 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
805 ifeq ($(BUILD_VARIANT
),supplicant-full-wolfssl
)
806 define Package
/eapol-test-wolfssl
/install
807 $(INSTALL_DIR
) $(1)/usr
/sbin
808 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
812 ifeq ($(BUILD_VARIANT
),supplicant-full-mbedtls
)
813 define Package
/eapol-test-mbedtls
/install
814 $(INSTALL_DIR
) $(1)/usr
/sbin
815 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
819 # Build hostapd-common before its dependents, to avoid
820 # spurious rebuilds when building multiple variants.
821 $(eval
$(call BuildPackage
,hostapd-common
))
822 $(eval
$(call BuildPackage
,hostapd
))
823 $(eval
$(call BuildPackage
,hostapd-basic
))
824 $(eval
$(call BuildPackage
,hostapd-basic-openssl
))
825 $(eval
$(call BuildPackage
,hostapd-basic-wolfssl
))
826 $(eval
$(call BuildPackage
,hostapd-basic-mbedtls
))
827 $(eval
$(call BuildPackage
,hostapd-mini
))
828 $(eval
$(call BuildPackage
,hostapd-openssl
))
829 $(eval
$(call BuildPackage
,hostapd-wolfssl
))
830 $(eval
$(call BuildPackage
,hostapd-mbedtls
))
831 $(eval
$(call BuildPackage
,wpad
))
832 $(eval
$(call BuildPackage
,wpad-mesh-openssl
))
833 $(eval
$(call BuildPackage
,wpad-mesh-wolfssl
))
834 $(eval
$(call BuildPackage
,wpad-mesh-mbedtls
))
835 $(eval
$(call BuildPackage
,wpad-basic
))
836 $(eval
$(call BuildPackage
,wpad-basic-openssl
))
837 $(eval
$(call BuildPackage
,wpad-basic-wolfssl
))
838 $(eval
$(call BuildPackage
,wpad-basic-mbedtls
))
839 $(eval
$(call BuildPackage
,wpad-mini
))
840 $(eval
$(call BuildPackage
,wpad-openssl
))
841 $(eval
$(call BuildPackage
,wpad-wolfssl
))
842 $(eval
$(call BuildPackage
,wpad-mbedtls
))
843 $(eval
$(call BuildPackage
,wpa-supplicant
))
844 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-openssl
))
845 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-wolfssl
))
846 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-mbedtls
))
847 $(eval
$(call BuildPackage
,wpa-supplicant-basic
))
848 $(eval
$(call BuildPackage
,wpa-supplicant-mini
))
849 $(eval
$(call BuildPackage
,wpa-supplicant-p2p
))
850 $(eval
$(call BuildPackage
,wpa-supplicant-openssl
))
851 $(eval
$(call BuildPackage
,wpa-supplicant-wolfssl
))
852 $(eval
$(call BuildPackage
,wpa-supplicant-mbedtls
))
853 $(eval
$(call BuildPackage
,wpa-cli
))
854 $(eval
$(call BuildPackage
,hostapd-utils
))
855 $(eval
$(call BuildPackage
,eapol-test
))
856 $(eval
$(call BuildPackage
,eapol-test-openssl
))
857 $(eval
$(call BuildPackage
,eapol-test-wolfssl
))
858 $(eval
$(call BuildPackage
,eapol-test-mbedtls
))