1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2006-2021 OpenWrt.org
5 include $(TOPDIR
)/rules.mk
10 PKG_SOURCE_URL
:=https
://w1.fi
/hostap.git
12 PKG_SOURCE_DATE
:=2025-08-26
13 PKG_SOURCE_VERSION
:=ca266cc24d8705eb1a2a0857ad326e48b1408b20
14 PKG_MIRROR_HASH
:=59ac677093f524ff98588abd9f33805a336a6e929d6814222f0d784c854f2343
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_hostapd \
25 CONFIG_PACKAGE_hostapd-basic \
26 CONFIG_PACKAGE_hostapd-mini \
27 CONFIG_WPA_RFKILL_SUPPORT \
28 CONFIG_DRIVER_11AC_SUPPORT \
29 CONFIG_DRIVER_11AX_SUPPORT \
30 CONFIG_DRIVER_11BE_SUPPORT \
33 PKG_BUILD_FLAGS
:=gc-sections lto
35 EAPOL_TEST_PROVIDERS
:=eapol-test eapol-test-openssl eapol-test-wolfssl
37 SUPPLICANT_PROVIDERS
:=
41 $(if
$(findstring wpad
,$(BUILD_VARIANT
)),wpad
, \
42 $(if
$(findstring supplicant
,$(BUILD_VARIANT
)),supplicant
, \
46 LOCAL_AND_LIB_VARIANT
=$(patsubst hostapd-
%,%,\
48 $(patsubst supplicant-
%,%,\
52 LOCAL_VARIANT
=$(patsubst %-internal
,%,\
53 $(patsubst %-openssl
,%,\
54 $(patsubst %-wolfssl
,%,\
55 $(patsubst %-mbedtls
,%,\
56 $(LOCAL_AND_LIB_VARIANT
)\
60 $(if
$(findstring openssl
,$(LOCAL_AND_LIB_VARIANT
)),openssl
,\
61 $(if
$(findstring wolfssl
,$(LOCAL_AND_LIB_VARIANT
)),wolfssl
,\
62 $(if
$(findstring mbedtls
,$(LOCAL_AND_LIB_VARIANT
)),mbedtls
,\
66 CONFIG_VARIANT
:=$(LOCAL_VARIANT
)
67 ifeq ($(LOCAL_VARIANT
),mesh
)
71 include $(INCLUDE_DIR
)/package.mk
73 TARGET_LDFLAGS_C
:=$(TARGET_LDFLAGS
)
75 STAMP_CONFIGURED
:=$(STAMP_CONFIGURED
)_
$(CONFIG_WPA_MSG_MIN_PRIORITY
)
77 ifneq ($(CONFIG_DRIVER_11AC_SUPPORT
),)
78 HOSTAPD_IEEE80211AC
:=y
81 ifneq ($(CONFIG_DRIVER_11AX_SUPPORT
),)
82 HOSTAPD_IEEE80211AX
:=y
85 ifneq ($(LOCAL_VARIANT
),mini
)
86 ifneq ($(CONFIG_DRIVER_11BE_SUPPORT
),)
87 HOSTAPD_IEEE80211BE
:=y
92 CORE_DEPENDS
= +ucode
+libucode \
93 +ucode-mod-fs
+ucode-mod-nl80211
+ucode-mod-rtnl
+ucode-mod-ubus
+ucode-mod-uloop \
94 +libubus
+libblobmsg-json \
96 OPENSSL_DEPENDS
= +PACKAGE_
$(1):libopenssl
+PACKAGE_
$(1):libopenssl-legacy
99 CONFIG_ACS
=y CONFIG_DRIVER_NL80211
=y \
100 CONFIG_IEEE80211AC
=$(HOSTAPD_IEEE80211AC
) \
101 CONFIG_IEEE80211AX
=$(HOSTAPD_IEEE80211AX
) \
102 CONFIG_IEEE80211BE
=$(HOSTAPD_IEEE80211BE
) \
103 CONFIG_MBO
=$(CONFIG_WPA_MBO_SUPPORT
) \
104 CONFIG_UCODE
=y CONFIG_APUP
=y \
105 $(if
$(HOSTAPD_IEEE80211BE
),CONFIG_OCV
=y
)
108 ifeq ($(SSL_VARIANT
),openssl
)
109 DRIVER_MAKEOPTS
+= CONFIG_TLS
=openssl CONFIG_SAE
=y
110 TARGET_LDFLAGS
+= -lcrypto
-lssl
112 ifeq ($(LOCAL_VARIANT
),basic
)
113 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
115 ifeq ($(LOCAL_VARIANT
),mesh
)
116 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y
118 ifeq ($(LOCAL_VARIANT
),full
)
119 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_EAP_PWD
=y CONFIG_DPP
=y CONFIG_DPP2
=y
123 ifeq ($(SSL_VARIANT
),wolfssl
)
124 DRIVER_MAKEOPTS
+= CONFIG_TLS
=wolfssl CONFIG_SAE
=y
125 TARGET_LDFLAGS
+= -lwolfssl
127 ifeq ($(LOCAL_VARIANT
),basic
)
128 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
130 ifeq ($(LOCAL_VARIANT
),mesh
)
131 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
133 ifeq ($(LOCAL_VARIANT
),full
)
134 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1 CONFIG_EAP_PWD
=y
138 ifeq ($(SSL_VARIANT
),mbedtls
)
139 DRIVER_MAKEOPTS
+= CONFIG_TLS
=mbedtls CONFIG_SAE
=y
140 TARGET_LDFLAGS
+= -lmbedcrypto
-lmbedx509
-lmbedtls
142 ifeq ($(LOCAL_VARIANT
),basic
)
143 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
145 ifeq ($(LOCAL_VARIANT
),mesh
)
146 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
148 ifeq ($(LOCAL_VARIANT
),full
)
149 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1 CONFIG_EAP_PWD
=y CONFIG_DPP
=y CONFIG_DPP2
=y
153 ifneq ($(LOCAL_TYPE
),hostapd
)
154 ifdef CONFIG_WPA_RFKILL_SUPPORT
155 DRIVER_MAKEOPTS
+= NEED_RFKILL
=y
159 DRV_DEPENDS
:=+libnl-tiny
162 define Package
/hostapd
/Default
166 TITLE
:=IEEE
802.1x Authenticator
167 URL
:=https
://w1.fi
/hostapd
/
168 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
169 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-r
$(PKG_RELEASE
))
170 USERID
:=network
=101:network
=101
172 CONFLICTS
:=$(HOSTAPD_PROVIDERS
)
173 HOSTAPD_PROVIDERS
+=$(1)
176 define Package
/hostapd
177 $(call Package
/hostapd
/Default
,$(1))
178 TITLE
+= (built-in full
)
179 VARIANT
:=full-internal
182 define Package
/hostapd
/description
183 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
187 define Package
/hostapd-openssl
188 $(call Package
/hostapd
/Default
,$(1))
189 TITLE
+= (OpenSSL full
)
190 VARIANT
:=full-openssl
191 DEPENDS
+=$(OPENSSL_DEPENDS
)
194 Package
/hostapd-openssl
/description
= $(Package
/hostapd
/description
)
196 define Package
/hostapd-wolfssl
197 $(call Package
/hostapd
/Default
,$(1))
198 TITLE
+= (wolfSSL full
)
199 VARIANT
:=full-wolfssl
200 DEPENDS
+=+PACKAGE_hostapd-wolfssl
:libwolfssl
203 Package
/hostapd-wolfssl
/description
= $(Package
/hostapd
/description
)
205 define Package
/hostapd-mbedtls
206 $(call Package
/hostapd
/Default
,$(1))
207 TITLE
+= (mbedTLS full
)
208 VARIANT
:=full-mbedtls
209 DEPENDS
+=+PACKAGE_hostapd-mbedtls
:libmbedtls
212 Package
/hostapd-mbedtls
/description
= $(Package
/hostapd
/description
)
214 define Package
/hostapd-basic
215 $(call Package
/hostapd
/Default
,$(1))
216 TITLE
+= (WPA-PSK
, 11r
, 11w
)
220 define Package
/hostapd-basic
/description
221 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
224 define Package
/hostapd-basic-openssl
225 $(call Package
/hostapd
/Default
,$(1))
226 TITLE
+= (WPA-PSK
, 11r and
11w
)
227 VARIANT
:=basic-openssl
228 DEPENDS
+=+PACKAGE_hostapd-basic-openssl
:libopenssl
231 define Package
/hostapd-basic-openssl
/description
232 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
235 define Package
/hostapd-basic-wolfssl
236 $(call Package
/hostapd
/Default
,$(1))
237 TITLE
+= (WPA-PSK
, 11r and
11w
)
238 VARIANT
:=basic-wolfssl
239 DEPENDS
+=+PACKAGE_hostapd-basic-wolfssl
:libwolfssl
242 define Package
/hostapd-basic-wolfssl
/description
243 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
246 define Package
/hostapd-basic-mbedtls
247 $(call Package
/hostapd
/Default
,$(1))
248 TITLE
+= (WPA-PSK
, 11r and
11w
)
249 VARIANT
:=basic-mbedtls
250 DEPENDS
+=+PACKAGE_hostapd-basic-mbedtls
:libmbedtls
254 define Package
/hostapd-basic-mbedtls
/description
255 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
258 define Package
/hostapd-mini
259 $(call Package
/hostapd
/Default
,$(1))
260 TITLE
+= (WPA-PSK only
)
264 define Package
/hostapd-mini
/description
265 This package contains a minimal IEEE
802.1x
/WPA Authenticator
(WPA-PSK only
).
269 define Package
/wpad
/Default
273 TITLE
:=IEEE
802.1x Auth
/Supplicant
274 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
275 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-r
$(PKG_RELEASE
))
276 USERID
:=network
=101:network
=101
278 PROVIDES
:=hostapd wpa-supplicant
279 CONFLICTS
:=$(HOSTAPD_PROVIDERS
) $(SUPPLICANT_PROVIDERS
)
280 HOSTAPD_PROVIDERS
+=$(1)
281 SUPPLICANT_PROVIDERS
+=$(1)
285 $(call Package
/wpad
/Default
,$(1))
286 TITLE
+= (built-in full
)
287 VARIANT
:=wpad-full-internal
290 define Package
/wpad
/description
291 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
292 Authenticator and Supplicant
295 define Package
/wpad-openssl
296 $(call Package
/wpad
/Default
,$(1))
297 TITLE
+= (OpenSSL full
)
298 VARIANT
:=wpad-full-openssl
299 DEPENDS
+=$(OPENSSL_DEPENDS
)
302 Package
/wpad-openssl
/description
= $(Package
/wpad
/description
)
304 define Package
/wpad-wolfssl
305 $(call Package
/wpad
/Default
,$(1))
306 TITLE
+= (wolfSSL full
)
307 VARIANT
:=wpad-full-wolfssl
308 DEPENDS
+=+PACKAGE_wpad-wolfssl
:libwolfssl
311 Package
/wpad-wolfssl
/description
= $(Package
/wpad
/description
)
313 define Package
/wpad-mbedtls
314 $(call Package
/wpad
/Default
,$(1))
315 TITLE
+= (mbedTLS full
)
316 VARIANT
:=wpad-full-mbedtls
317 DEPENDS
+=+PACKAGE_wpad-mbedtls
:libmbedtls
320 Package
/wpad-mbedtls
/description
= $(Package
/wpad
/description
)
322 define Package
/wpad-basic
323 $(call Package
/wpad
/Default
,$(1))
324 TITLE
+= (WPA-PSK
, 11r
, 11w
)
328 define Package
/wpad-basic
/description
329 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, 802.11r and
802.11w support.
332 define Package
/wpad-basic-openssl
333 $(call Package
/wpad
/Default
,$(1))
334 TITLE
+= (OpenSSL
, 11r
, 11w
)
335 VARIANT
:=wpad-basic-openssl
336 DEPENDS
+=$(OPENSSL_DEPENDS
)
339 define Package
/wpad-basic-openssl
/description
340 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
343 define Package
/wpad-basic-wolfssl
344 $(call Package
/wpad
/Default
,$(1))
345 TITLE
+= (wolfSSL
, 11r
, 11w
)
346 VARIANT
:=wpad-basic-wolfssl
347 DEPENDS
+=+PACKAGE_wpad-basic-wolfssl
:libwolfssl
350 define Package
/wpad-basic-wolfssl
/description
351 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
354 define Package
/wpad-basic-mbedtls
355 $(call Package
/wpad
/Default
,$(1))
356 TITLE
+= (mbedTLS
, 11r
, 11w
)
357 VARIANT
:=wpad-basic-mbedtls
358 DEPENDS
+=+PACKAGE_wpad-basic-mbedtls
:libmbedtls
361 define Package
/wpad-basic-mbedtls
/description
362 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
365 define Package
/wpad-mini
366 $(call Package
/wpad
/Default
,$(1))
367 TITLE
+= (WPA-PSK only
)
371 define Package
/wpad-mini
/description
372 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(WPA-PSK only
).
375 define Package
/wpad-mesh
376 $(call Package
/wpad
/Default
,$(1))
377 DEPENDS
+=@
(!TARGET_uml||BROKEN
)
378 PROVIDES
+=wpa-supplicant-mesh wpad-mesh
381 define Package
/wpad-mesh
/description
382 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(with
802.11s mesh and SAE support
).
385 define Package
/wpad-mesh-openssl
386 $(call Package
/wpad-mesh
,$(1))
387 TITLE
+= (OpenSSL
, 11s
, SAE
)
388 DEPENDS
+=$(OPENSSL_DEPENDS
)
389 VARIANT
:=wpad-mesh-openssl
392 Package
/wpad-mesh-openssl
/description
= $(Package
/wpad-mesh
/description
)
394 define Package
/wpad-mesh-wolfssl
395 $(call Package
/wpad-mesh
,$(1))
396 TITLE
+= (wolfSSL
, 11s
, SAE
)
397 DEPENDS
+=+PACKAGE_wpad-mesh-wolfssl
:libwolfssl
398 VARIANT
:=wpad-mesh-wolfssl
401 Package
/wpad-mesh-wolfssl
/description
= $(Package
/wpad-mesh
/description
)
403 define Package
/wpad-mesh-mbedtls
404 $(call Package
/wpad-mesh
,$(1))
405 TITLE
+= (mbedTLS
, 11s
, SAE
)
406 DEPENDS
+=+PACKAGE_wpad-mesh-mbedtls
:libmbedtls
407 VARIANT
:=wpad-mesh-mbedtls
410 Package
/wpad-mesh-mbedtls
/description
= $(Package
/wpad-mesh
/description
)
413 define Package
/wpa-supplicant
/Default
417 TITLE
:=WPA Supplicant
418 URL
:=https
://w1.fi
/wpa_supplicant
/
419 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
420 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-r
$(PKG_RELEASE
))
421 USERID
:=network
=101:network
=101
422 PROVIDES
:=wpa-supplicant
423 CONFLICTS
:=$(SUPPLICANT_PROVIDERS
)
424 SUPPLICANT_PROVIDERS
+=$(1)
427 define Package
/wpa-supplicant
428 $(call Package
/wpa-supplicant
/Default
,$(1))
429 TITLE
+= (built-in full
)
430 VARIANT
:=supplicant-full-internal
433 define Package
/wpa-supplicant-openssl
434 $(call Package
/wpa-supplicant
/Default
,$(1))
435 TITLE
+= (OpenSSL full
)
436 VARIANT
:=supplicant-full-openssl
437 DEPENDS
+=$(OPENSSL_DEPENDS
)
440 define Package
/wpa-supplicant-wolfssl
441 $(call Package
/wpa-supplicant
/Default
,$(1))
442 TITLE
+= (wolfSSL full
)
443 VARIANT
:=supplicant-full-wolfssl
444 DEPENDS
+=+PACKAGE_wpa-supplicant-wolfssl
:libwolfssl
447 define Package
/wpa-supplicant-mbedtls
448 $(call Package
/wpa-supplicant
/Default
,$(1))
449 TITLE
+= (mbedTLS full
)
450 VARIANT
:=supplicant-full-mbedtls
451 DEPENDS
+=+PACKAGE_wpa-supplicant-mbedtls
:libmbedtls
454 define Package
/wpa-supplicant
/config
455 source
"$(SOURCE)/Config.in"
458 define Package
/wpa-supplicant-p2p
459 $(call Package
/wpa-supplicant
/Default
,$(1))
460 TITLE
+= (Wi-Fi P2P support
)
461 VARIANT
:=supplicant-p2p-internal
464 define Package
/wpa-supplicant-mesh
/Default
465 $(call Package
/wpa-supplicant
/Default
,$(1))
466 DEPENDS
+=@
(!TARGET_uml||BROKEN
)
467 PROVIDES
+=wpa-supplicant-mesh
470 define Package
/wpa-supplicant-mesh-openssl
471 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
472 TITLE
+= (OpenSSL
, 11s
, SAE
)
473 VARIANT
:=supplicant-mesh-openssl
474 DEPENDS
+=$(OPENSSL_DEPENDS
)
477 define Package
/wpa-supplicant-mesh-wolfssl
478 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
479 TITLE
+= (wolfSSL
, 11s
, SAE
)
480 VARIANT
:=supplicant-mesh-wolfssl
481 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-wolfssl
:libwolfssl
484 define Package
/wpa-supplicant-mesh-mbedtls
485 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
486 TITLE
+= (mbedTLS
, 11s
, SAE
)
487 VARIANT
:=supplicant-mesh-mbedtls
488 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-mbedtls
:libmbedtls
491 define Package
/wpa-supplicant-basic
492 $(call Package
/wpa-supplicant
/Default
,$(1))
494 VARIANT
:=supplicant-basic
497 define Package
/wpa-supplicant-mini
498 $(call Package
/wpa-supplicant
/Default
,$(1))
500 VARIANT
:=supplicant-mini
504 define Package
/hostapd-common
505 TITLE
:=hostapd
/wpa_supplicant common support files
511 define Package
/hostapd-utils
515 TITLE
:=IEEE
802.1x Authenticator
(utils
)
516 URL
:=https
://w1.fi
/hostapd
/
517 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(HOSTAPD_PROVIDERS
),PACKAGE_
$(pkg
)))
521 define Package
/hostapd-utils
/description
522 This package contains a command line utility to control the
523 IEEE
802.1x
/WPA
/EAP
/RADIUS Authenticator.
526 define Package
/wpa-cli
530 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(SUPPLICANT_PROVIDERS
),PACKAGE_
$(pkg
)))
531 TITLE
:=WPA Supplicant command line control utility
535 define Package
/eapol-test
/Default
536 TITLE
:=802.1x auth
test utility
540 DEPENDS
:=$(DRV_DEPENDS
) $(CORE_DEPENDS
)
543 define Package
/eapol-test
544 $(call Package
/eapol-test
/Default
,$(1))
545 TITLE
+= (built-in full
)
546 VARIANT
:=supplicant-full-internal
549 define Package
/eapol-test-openssl
550 $(call Package
/eapol-test
/Default
,$(1))
551 TITLE
+= (OpenSSL full
)
552 VARIANT
:=supplicant-full-openssl
553 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(EAPOL_TEST_PROVIDERS
))
554 DEPENDS
+=$(OPENSSL_DEPENDS
)
558 define Package
/eapol-test-wolfssl
559 $(call Package
/eapol-test
/Default
,$(1))
560 TITLE
+= (wolfSSL full
)
561 VARIANT
:=supplicant-full-wolfssl
562 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-wolfssl
,$(EAPOL_TEST_PROVIDERS
)))
563 DEPENDS
+=+PACKAGE_eapol-test-wolfssl
:libwolfssl
567 define Package
/eapol-test-mbedtls
568 $(call Package
/eapol-test
/Default
,$(1))
569 TITLE
+= (mbedTLS full
)
570 VARIANT
:=supplicant-full-mbedtls
571 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-mbedtls
,$(EAPOL_TEST_PROVIDERS
)))
572 DEPENDS
+=+PACKAGE_eapol-test-mbedtls
:libmbedtls
577 ifneq ($(wildcard $(PKG_BUILD_DIR
)/.config_
*),$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
)))
578 define Build
/Configure
/rebuild
579 $(FIND
) $(PKG_BUILD_DIR
) -name \
*.o
-or
-name \
*.a |
$(XARGS
) rm -f
580 rm -f
$(PKG_BUILD_DIR
)/hostapd
/hostapd
581 rm -f
$(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
582 rm -f
$(PKG_BUILD_DIR
)/.config_
*
583 touch
$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
))
587 define Build
/Configure
588 $(Build
/Configure
/rebuild
)
589 $(if
$(wildcard .
/files
/hostapd-
$(CONFIG_VARIANT
).config
), \
590 $(CP
) .
/files
/hostapd-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/hostapd
/.config \
592 $(if
$(wildcard .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
), \
593 $(CP
) .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/wpa_supplicant
/.config
598 -I
$(STAGING_DIR
)/usr
/include/libnl-tiny \
599 -I
$(PKG_BUILD_DIR
)/src
/crypto \
603 $(if
$(CONFIG_WPA_MSG_MIN_PRIORITY
),-DCONFIG_MSG_MIN_PRIORITY
=$(CONFIG_WPA_MSG_MIN_PRIORITY
))
605 TARGET_LDFLAGS
+= -lubox
-lubus
-lblobmsg_json
-lucode
-lm
-lnl-tiny
-ludebug
607 ifdef CONFIG_WPA_ENABLE_WEP
608 DRIVER_MAKEOPTS
+= CONFIG_WEP
=y
612 CFLAGS
="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
613 $(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
)/$(1) \
614 $(TARGET_CONFIGURE_OPTS
) \
616 LIBS
="$(TARGET_LDFLAGS)" \
617 LIBS_c
="$(TARGET_LDFLAGS_C)" \
618 AR
="$(TARGET_CROSS)gcc-ar" \
620 $(if
$(findstring s
,$(OPENWRT_VERBOSE
)),V
=1) \
624 define Build
/Compile
/wpad
626 $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \
627 $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
628 sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
629 ` > $(PKG_BUILD_DIR
)/.
cflags
630 sed
-i
's/"/\\"/g' $(PKG_BUILD_DIR
)/.
cflags
631 +$(call Build
/RunMake
,hostapd
, \
632 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
634 hostapd_cli hostapd_multi.a \
636 +$(call Build
/RunMake
,wpa_supplicant
, \
637 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
639 wpa_cli wpa_supplicant_multi.a \
641 +export MAKEFLAGS
="$(MAKE_JOBSERVER)"; $(TARGET_CC
) -o
$(PKG_BUILD_DIR
)/wpad \
643 .
/files
/multicall.c \
644 $(PKG_BUILD_DIR
)/hostapd
/hostapd_multi.a \
645 $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant_multi.a \
649 define Build
/Compile
/hostapd
650 +$(call Build
/RunMake
,hostapd
, \
651 hostapd hostapd_cli \
655 define Build
/Compile
/supplicant
656 +$(call Build
/RunMake
,wpa_supplicant
, \
657 wpa_cli wpa_supplicant \
661 define Build
/Compile
/supplicant-full-internal
662 +$(call Build
/RunMake
,wpa_supplicant
, \
667 define Build
/Compile
/supplicant-full-openssl
668 +$(call Build
/RunMake
,wpa_supplicant
, \
673 define Build
/Compile
/supplicant-full-wolfssl
674 +$(call Build
/RunMake
,wpa_supplicant
, \
679 define Build
/Compile
/supplicant-full-mbedtls
680 +$(call Build
/RunMake
,wpa_supplicant
, \
686 $(Build
/Compile
/$(LOCAL_TYPE
))
687 $(Build
/Compile
/$(BUILD_VARIANT
))
690 define Install
/hostapd
/full
691 $(INSTALL_DIR
) $(1)/etc
/init.d
$(1)/etc
/config
$(1)/etc
/radius
692 ln
-sf hostapd
$(1)/usr
/sbin
/hostapd-radius
693 $(INSTALL_BIN
) .
/files
/radius.init
$(1)/etc
/init.d
/radius
694 $(INSTALL_DATA
) .
/files
/radius.config
$(1)/etc
/config
/radius
695 $(INSTALL_DATA
) .
/files
/radius.clients
$(1)/etc
/radius
/clients
696 $(INSTALL_DATA
) .
/files
/radius.users
$(1)/etc
/radius
/users
699 define Package
/hostapd-full
/conffiles
704 ifeq ($(CONFIG_VARIANT
),full
)
705 Package
/wpad-mesh-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
706 Package
/wpad-mesh-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
707 Package
/wpad-mesh-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
708 Package
/wpad
/conffiles
= $(Package
/hostapd-full
/conffiles
)
709 Package
/wpad-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
710 Package
/wpad-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
711 Package
/wpad-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
712 Package
/hostapd
/conffiles
= $(Package
/hostapd-full
/conffiles
)
713 Package
/hostapd-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
714 Package
/hostapd-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
715 Package
/hostapd-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
718 define Install
/hostapd
719 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
720 $(INSTALL_DATA
) .
/files
/hostapd.uc
$(1)/usr
/share
/hostap
/
721 $(if
$(findstring full
,$(CONFIG_VARIANT
)),$(Install
/hostapd
/full
))
724 define Install
/supplicant
725 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
726 $(INSTALL_DATA
) .
/files
/wpa_supplicant.uc
$(1)/usr
/share
/hostap
/
729 define Package
/hostapd-common
/install
731 $(1)/etc
/capabilities \
732 $(1)/etc
/hotplug.d
/ieee80211 \
733 $(1)/etc
/init.d
$(1)/lib
/netifd \
734 $(1)/usr
/share
/acl.d \
735 $(1)/usr
/share
/hostap
736 $(INSTALL_BIN
) .
/files
/dhcp-get-server.sh
$(1)/lib
/netifd
/dhcp-get-server.sh
737 $(INSTALL_BIN
) .
/files
/wpad.init
$(1)/etc
/init.d
/wpad
738 $(INSTALL_DATA
) .
/files
/wpad_acl.json
$(1)/usr
/share
/acl.d
739 $(INSTALL_DATA
) .
/files
/wpad.json
$(1)/etc
/capabilities
742 define Package
/hostapd
/install
743 $(call Install
/hostapd
,$(1))
744 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd
$(1)/usr
/sbin
/
746 Package
/hostapd-basic
/install = $(Package
/hostapd
/install)
747 Package
/hostapd-basic-openssl
/install = $(Package
/hostapd
/install)
748 Package
/hostapd-basic-wolfssl
/install = $(Package
/hostapd
/install)
749 Package
/hostapd-basic-mbedtls
/install = $(Package
/hostapd
/install)
750 Package
/hostapd-mini
/install = $(Package
/hostapd
/install)
751 Package
/hostapd-openssl
/install = $(Package
/hostapd
/install)
752 Package
/hostapd-wolfssl
/install = $(Package
/hostapd
/install)
753 Package
/hostapd-mbedtls
/install = $(Package
/hostapd
/install)
755 ifneq ($(LOCAL_TYPE
),supplicant
)
756 define Package
/hostapd-utils
/install
757 $(INSTALL_DIR
) $(1)/usr
/sbin
758 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd_cli
$(1)/usr
/sbin
/
762 define Package
/wpad
/install
763 $(call Install
/hostapd
,$(1))
764 $(call Install
/supplicant
,$(1))
765 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpad
$(1)/usr
/sbin
/
766 $(LN
) wpad
$(1)/usr
/sbin
/hostapd
767 $(LN
) wpad
$(1)/usr
/sbin
/wpa_supplicant
769 Package
/wpad-basic
/install = $(Package
/wpad
/install)
770 Package
/wpad-basic-openssl
/install = $(Package
/wpad
/install)
771 Package
/wpad-basic-wolfssl
/install = $(Package
/wpad
/install)
772 Package
/wpad-basic-mbedtls
/install = $(Package
/wpad
/install)
773 Package
/wpad-mini
/install = $(Package
/wpad
/install)
774 Package
/wpad-openssl
/install = $(Package
/wpad
/install)
775 Package
/wpad-wolfssl
/install = $(Package
/wpad
/install)
776 Package
/wpad-mbedtls
/install = $(Package
/wpad
/install)
777 Package
/wpad-mesh-openssl
/install = $(Package
/wpad
/install)
778 Package
/wpad-mesh-wolfssl
/install = $(Package
/wpad
/install)
779 Package
/wpad-mesh-mbedtls
/install = $(Package
/wpad
/install)
781 define Package
/wpa-supplicant
/install
782 $(call Install
/supplicant
,$(1))
783 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
$(1)/usr
/sbin
/
785 Package
/wpa-supplicant-basic
/install = $(Package
/wpa-supplicant
/install)
786 Package
/wpa-supplicant-mini
/install = $(Package
/wpa-supplicant
/install)
787 Package
/wpa-supplicant-p2p
/install = $(Package
/wpa-supplicant
/install)
788 Package
/wpa-supplicant-openssl
/install = $(Package
/wpa-supplicant
/install)
789 Package
/wpa-supplicant-wolfssl
/install = $(Package
/wpa-supplicant
/install)
790 Package
/wpa-supplicant-mbedtls
/install = $(Package
/wpa-supplicant
/install)
791 Package
/wpa-supplicant-mesh-openssl
/install = $(Package
/wpa-supplicant
/install)
792 Package
/wpa-supplicant-mesh-wolfssl
/install = $(Package
/wpa-supplicant
/install)
793 Package
/wpa-supplicant-mesh-mbedtls
/install = $(Package
/wpa-supplicant
/install)
795 ifneq ($(LOCAL_TYPE
),hostapd
)
796 define Package
/wpa-cli
/install
797 $(INSTALL_DIR
) $(1)/usr
/sbin
798 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_cli
$(1)/usr
/sbin
/
802 ifeq ($(BUILD_VARIANT
),supplicant-full-internal
)
803 define Package
/eapol-test
/install
804 $(INSTALL_DIR
) $(1)/usr
/sbin
805 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
809 ifeq ($(BUILD_VARIANT
),supplicant-full-openssl
)
810 define Package
/eapol-test-openssl
/install
811 $(INSTALL_DIR
) $(1)/usr
/sbin
812 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
816 ifeq ($(BUILD_VARIANT
),supplicant-full-wolfssl
)
817 define Package
/eapol-test-wolfssl
/install
818 $(INSTALL_DIR
) $(1)/usr
/sbin
819 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
823 ifeq ($(BUILD_VARIANT
),supplicant-full-mbedtls
)
824 define Package
/eapol-test-mbedtls
/install
825 $(INSTALL_DIR
) $(1)/usr
/sbin
826 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
830 # Build hostapd-common before its dependents, to avoid
831 # spurious rebuilds when building multiple variants.
832 $(eval
$(call BuildPackage
,hostapd-common
))
833 $(eval
$(call BuildPackage
,hostapd
))
834 $(eval
$(call BuildPackage
,hostapd-basic
))
835 $(eval
$(call BuildPackage
,hostapd-basic-openssl
))
836 $(eval
$(call BuildPackage
,hostapd-basic-wolfssl
))
837 $(eval
$(call BuildPackage
,hostapd-basic-mbedtls
))
838 $(eval
$(call BuildPackage
,hostapd-mini
))
839 $(eval
$(call BuildPackage
,hostapd-openssl
))
840 $(eval
$(call BuildPackage
,hostapd-wolfssl
))
841 $(eval
$(call BuildPackage
,hostapd-mbedtls
))
842 $(eval
$(call BuildPackage
,wpad
))
843 $(eval
$(call BuildPackage
,wpad-mesh-openssl
))
844 $(eval
$(call BuildPackage
,wpad-mesh-wolfssl
))
845 $(eval
$(call BuildPackage
,wpad-mesh-mbedtls
))
846 $(eval
$(call BuildPackage
,wpad-basic
))
847 $(eval
$(call BuildPackage
,wpad-basic-openssl
))
848 $(eval
$(call BuildPackage
,wpad-basic-wolfssl
))
849 $(eval
$(call BuildPackage
,wpad-basic-mbedtls
))
850 $(eval
$(call BuildPackage
,wpad-mini
))
851 $(eval
$(call BuildPackage
,wpad-openssl
))
852 $(eval
$(call BuildPackage
,wpad-wolfssl
))
853 $(eval
$(call BuildPackage
,wpad-mbedtls
))
854 $(eval
$(call BuildPackage
,wpa-supplicant
))
855 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-openssl
))
856 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-wolfssl
))
857 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-mbedtls
))
858 $(eval
$(call BuildPackage
,wpa-supplicant-basic
))
859 $(eval
$(call BuildPackage
,wpa-supplicant-mini
))
860 $(eval
$(call BuildPackage
,wpa-supplicant-p2p
))
861 $(eval
$(call BuildPackage
,wpa-supplicant-openssl
))
862 $(eval
$(call BuildPackage
,wpa-supplicant-wolfssl
))
863 $(eval
$(call BuildPackage
,wpa-supplicant-mbedtls
))
864 $(eval
$(call BuildPackage
,wpa-cli
))
865 $(eval
$(call BuildPackage
,hostapd-utils
))
866 $(eval
$(call BuildPackage
,eapol-test
))
867 $(eval
$(call BuildPackage
,eapol-test-openssl
))
868 $(eval
$(call BuildPackage
,eapol-test-wolfssl
))
869 $(eval
$(call BuildPackage
,eapol-test-mbedtls
))