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-09-08
13 PKG_SOURCE_VERSION
:=e5ccbfc69ecf297590341ae8b461edba9d8e964c
14 PKG_MIRROR_HASH
:=fcc6550f46c7f8bbdbf71e63f8f699b9a0878565ad1b90a17855f5ec21283b8f
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 \
32 PKG_BUILD_FLAGS
:=gc-sections lto
34 EAPOL_TEST_PROVIDERS
:=eapol-test eapol-test-openssl eapol-test-wolfssl
36 SUPPLICANT_PROVIDERS
:=
40 $(if
$(findstring wpad
,$(BUILD_VARIANT
)),wpad
, \
41 $(if
$(findstring supplicant
,$(BUILD_VARIANT
)),supplicant
, \
45 LOCAL_AND_LIB_VARIANT
=$(patsubst hostapd-
%,%,\
47 $(patsubst supplicant-
%,%,\
51 LOCAL_VARIANT
=$(patsubst %-internal
,%,\
52 $(patsubst %-openssl
,%,\
53 $(patsubst %-wolfssl
,%,\
54 $(patsubst %-mbedtls
,%,\
55 $(LOCAL_AND_LIB_VARIANT
)\
59 $(if
$(findstring openssl
,$(LOCAL_AND_LIB_VARIANT
)),openssl
,\
60 $(if
$(findstring wolfssl
,$(LOCAL_AND_LIB_VARIANT
)),wolfssl
,\
61 $(if
$(findstring mbedtls
,$(LOCAL_AND_LIB_VARIANT
)),mbedtls
,\
65 CONFIG_VARIANT
:=$(LOCAL_VARIANT
)
66 ifeq ($(LOCAL_VARIANT
),mesh
)
70 include $(INCLUDE_DIR
)/package.mk
72 STAMP_CONFIGURED
:=$(STAMP_CONFIGURED
)_
$(CONFIG_WPA_MSG_MIN_PRIORITY
)
74 ifneq ($(CONFIG_DRIVER_11AC_SUPPORT
),)
75 HOSTAPD_IEEE80211AC
:=y
78 ifneq ($(CONFIG_DRIVER_11AX_SUPPORT
),)
79 HOSTAPD_IEEE80211AX
:=y
82 CORE_DEPENDS
= +ucode
+libubus
+libucode
+ucode-mod-fs
+ucode-mod-nl80211
+ucode-mod-rtnl
+ucode-mod-ubus
+ucode-mod-uloop
+libblobmsg-json
83 OPENSSL_DEPENDS
= +PACKAGE_
$(1):libopenssl
+PACKAGE_
$(1):libopenssl-legacy
86 CONFIG_ACS
=y CONFIG_DRIVER_NL80211
=y \
87 CONFIG_IEEE80211AC
=$(HOSTAPD_IEEE80211AC
) \
88 CONFIG_IEEE80211AX
=$(HOSTAPD_IEEE80211AX
) \
89 CONFIG_MBO
=$(CONFIG_WPA_MBO_SUPPORT
) \
92 ifeq ($(SSL_VARIANT
),openssl
)
93 DRIVER_MAKEOPTS
+= CONFIG_TLS
=openssl CONFIG_SAE
=y
94 TARGET_LDFLAGS
+= -lcrypto
-lssl
96 ifeq ($(LOCAL_VARIANT
),basic
)
97 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
99 ifeq ($(LOCAL_VARIANT
),mesh
)
100 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y
102 ifeq ($(LOCAL_VARIANT
),full
)
103 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y
107 ifeq ($(SSL_VARIANT
),wolfssl
)
108 DRIVER_MAKEOPTS
+= CONFIG_TLS
=wolfssl CONFIG_SAE
=y
109 TARGET_LDFLAGS
+= -lwolfssl
111 ifeq ($(LOCAL_VARIANT
),basic
)
112 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
114 ifeq ($(LOCAL_VARIANT
),mesh
)
115 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
117 ifeq ($(LOCAL_VARIANT
),full
)
118 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
122 ifeq ($(SSL_VARIANT
),mbedtls
)
123 DRIVER_MAKEOPTS
+= CONFIG_TLS
=mbedtls CONFIG_SAE
=y
124 TARGET_LDFLAGS
+= -lmbedcrypto
-lmbedx509
-lmbedtls
126 ifeq ($(LOCAL_VARIANT
),basic
)
127 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
129 ifeq ($(LOCAL_VARIANT
),mesh
)
130 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
132 ifeq ($(LOCAL_VARIANT
),full
)
133 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
137 ifneq ($(LOCAL_TYPE
),hostapd
)
138 ifdef CONFIG_WPA_RFKILL_SUPPORT
139 DRIVER_MAKEOPTS
+= NEED_RFKILL
=y
143 DRV_DEPENDS
:=+libnl-tiny
146 define Package
/hostapd
/Default
150 TITLE
:=IEEE
802.1x Authenticator
151 URL
:=http
://hostap.epitest.fi
/
152 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
153 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
154 USERID
:=network
=101:network
=101
156 CONFLICTS
:=$(HOSTAPD_PROVIDERS
)
157 HOSTAPD_PROVIDERS
+=$(1)
160 define Package
/hostapd
161 $(call Package
/hostapd
/Default
,$(1))
162 TITLE
+= (built-in full
)
163 VARIANT
:=full-internal
166 define Package
/hostapd
/description
167 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
171 define Package
/hostapd-openssl
172 $(call Package
/hostapd
/Default
,$(1))
173 TITLE
+= (OpenSSL full
)
174 VARIANT
:=full-openssl
175 DEPENDS
+=$(OPENSSL_DEPENDS
)
178 Package
/hostapd-openssl
/description
= $(Package
/hostapd
/description
)
180 define Package
/hostapd-wolfssl
181 $(call Package
/hostapd
/Default
,$(1))
182 TITLE
+= (wolfSSL full
)
183 VARIANT
:=full-wolfssl
184 DEPENDS
+=+PACKAGE_hostapd-wolfssl
:libwolfssl
187 Package
/hostapd-wolfssl
/description
= $(Package
/hostapd
/description
)
189 define Package
/hostapd-mbedtls
190 $(call Package
/hostapd
/Default
,$(1))
191 TITLE
+= (mbedTLS full
)
192 VARIANT
:=full-mbedtls
193 DEPENDS
+=+PACKAGE_hostapd-mbedtls
:libmbedtls
196 Package
/hostapd-mbedtls
/description
= $(Package
/hostapd
/description
)
198 define Package
/hostapd-basic
199 $(call Package
/hostapd
/Default
,$(1))
200 TITLE
+= (WPA-PSK
, 11r
, 11w
)
204 define Package
/hostapd-basic
/description
205 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
208 define Package
/hostapd-basic-openssl
209 $(call Package
/hostapd
/Default
,$(1))
210 TITLE
+= (WPA-PSK
, 11r and
11w
)
211 VARIANT
:=basic-openssl
212 DEPENDS
+=+PACKAGE_hostapd-basic-openssl
:libopenssl
215 define Package
/hostapd-basic-openssl
/description
216 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
219 define Package
/hostapd-basic-wolfssl
220 $(call Package
/hostapd
/Default
,$(1))
221 TITLE
+= (WPA-PSK
, 11r and
11w
)
222 VARIANT
:=basic-wolfssl
223 DEPENDS
+=+PACKAGE_hostapd-basic-wolfssl
:libwolfssl
226 define Package
/hostapd-basic-wolfssl
/description
227 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
230 define Package
/hostapd-basic-mbedtls
231 $(call Package
/hostapd
/Default
,$(1))
232 TITLE
+= (WPA-PSK
, 11r and
11w
)
233 VARIANT
:=basic-mbedtls
234 DEPENDS
+=+PACKAGE_hostapd-basic-mbedtls
:libmbedtls
237 define Package
/hostapd-basic-mbedtls
/description
238 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
241 define Package
/hostapd-mini
242 $(call Package
/hostapd
/Default
,$(1))
243 TITLE
+= (WPA-PSK only
)
247 define Package
/hostapd-mini
/description
248 This package contains a minimal IEEE
802.1x
/WPA Authenticator
(WPA-PSK only
).
252 define Package
/wpad
/Default
256 TITLE
:=IEEE
802.1x Auth
/Supplicant
257 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
258 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
259 USERID
:=network
=101:network
=101
260 URL
:=http
://hostap.epitest.fi
/
261 PROVIDES
:=hostapd wpa-supplicant
262 CONFLICTS
:=$(HOSTAPD_PROVIDERS
) $(SUPPLICANT_PROVIDERS
)
263 HOSTAPD_PROVIDERS
+=$(1)
264 SUPPLICANT_PROVIDERS
+=$(1)
268 $(call Package
/wpad
/Default
,$(1))
269 TITLE
+= (built-in full
)
270 VARIANT
:=wpad-full-internal
273 define Package
/wpad
/description
274 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
275 Authenticator and Supplicant
278 define Package
/wpad-openssl
279 $(call Package
/wpad
/Default
,$(1))
280 TITLE
+= (OpenSSL full
)
281 VARIANT
:=wpad-full-openssl
282 DEPENDS
+=$(OPENSSL_DEPENDS
)
285 Package
/wpad-openssl
/description
= $(Package
/wpad
/description
)
287 define Package
/wpad-wolfssl
288 $(call Package
/wpad
/Default
,$(1))
289 TITLE
+= (wolfSSL full
)
290 VARIANT
:=wpad-full-wolfssl
291 DEPENDS
+=+PACKAGE_wpad-wolfssl
:libwolfssl
294 Package
/wpad-wolfssl
/description
= $(Package
/wpad
/description
)
296 define Package
/wpad-mbedtls
297 $(call Package
/wpad
/Default
,$(1))
298 TITLE
+= (mbedTLS full
)
299 VARIANT
:=wpad-full-mbedtls
300 DEPENDS
+=+PACKAGE_wpad-mbedtls
:libmbedtls
303 Package
/wpad-mbedtls
/description
= $(Package
/wpad
/description
)
305 define Package
/wpad-basic
306 $(call Package
/wpad
/Default
,$(1))
307 TITLE
+= (WPA-PSK
, 11r
, 11w
)
311 define Package
/wpad-basic
/description
312 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, 802.11r and
802.11w support.
315 define Package
/wpad-basic-openssl
316 $(call Package
/wpad
/Default
,$(1))
317 TITLE
+= (OpenSSL
, 11r
, 11w
)
318 VARIANT
:=wpad-basic-openssl
319 DEPENDS
+=$(OPENSSL_DEPENDS
)
322 define Package
/wpad-basic-openssl
/description
323 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
326 define Package
/wpad-basic-wolfssl
327 $(call Package
/wpad
/Default
,$(1))
328 TITLE
+= (wolfSSL
, 11r
, 11w
)
329 VARIANT
:=wpad-basic-wolfssl
330 DEPENDS
+=+PACKAGE_wpad-basic-wolfssl
:libwolfssl
333 define Package
/wpad-basic-wolfssl
/description
334 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
337 define Package
/wpad-basic-mbedtls
338 $(call Package
/wpad
/Default
,$(1))
339 TITLE
+= (mbedTLS
, 11r
, 11w
)
340 VARIANT
:=wpad-basic-mbedtls
341 DEPENDS
+=+PACKAGE_wpad-basic-mbedtls
:libmbedtls
344 define Package
/wpad-basic-mbedtls
/description
345 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
348 define Package
/wpad-mini
349 $(call Package
/wpad
/Default
,$(1))
350 TITLE
+= (WPA-PSK only
)
354 define Package
/wpad-mini
/description
355 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(WPA-PSK only
).
358 define Package
/wpad-mesh
359 $(call Package
/wpad
/Default
,$(1))
360 DEPENDS
+=@
(!TARGET_uml||BROKEN
)
361 PROVIDES
+=wpa-supplicant-mesh wpad-mesh
364 define Package
/wpad-mesh
/description
365 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(with
802.11s mesh and SAE support
).
368 define Package
/wpad-mesh-openssl
369 $(call Package
/wpad-mesh
,$(1))
370 TITLE
+= (OpenSSL
, 11s
, SAE
)
371 DEPENDS
+=$(OPENSSL_DEPENDS
)
372 VARIANT
:=wpad-mesh-openssl
375 Package
/wpad-mesh-openssl
/description
= $(Package
/wpad-mesh
/description
)
377 define Package
/wpad-mesh-wolfssl
378 $(call Package
/wpad-mesh
,$(1))
379 TITLE
+= (wolfSSL
, 11s
, SAE
)
380 DEPENDS
+=+PACKAGE_wpad-mesh-wolfssl
:libwolfssl
381 VARIANT
:=wpad-mesh-wolfssl
384 Package
/wpad-mesh-wolfssl
/description
= $(Package
/wpad-mesh
/description
)
386 define Package
/wpad-mesh-mbedtls
387 $(call Package
/wpad-mesh
,$(1))
388 TITLE
+= (mbedTLS
, 11s
, SAE
)
389 DEPENDS
+=+PACKAGE_wpad-mesh-mbedtls
:libmbedtls
390 VARIANT
:=wpad-mesh-mbedtls
393 Package
/wpad-mesh-mbedtls
/description
= $(Package
/wpad-mesh
/description
)
396 define Package
/wpa-supplicant
/Default
400 TITLE
:=WPA Supplicant
401 URL
:=http
://hostap.epitest.fi
/wpa_supplicant
/
402 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
403 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
404 USERID
:=network
=101:network
=101
405 PROVIDES
:=wpa-supplicant
406 CONFLICTS
:=$(SUPPLICANT_PROVIDERS
)
407 SUPPLICANT_PROVIDERS
+=$(1)
410 define Package
/wpa-supplicant
411 $(call Package
/wpa-supplicant
/Default
,$(1))
412 TITLE
+= (built-in full
)
413 VARIANT
:=supplicant-full-internal
416 define Package
/wpa-supplicant-openssl
417 $(call Package
/wpa-supplicant
/Default
,$(1))
418 TITLE
+= (OpenSSL full
)
419 VARIANT
:=supplicant-full-openssl
420 DEPENDS
+=$(OPENSSL_DEPENDS
)
423 define Package
/wpa-supplicant-wolfssl
424 $(call Package
/wpa-supplicant
/Default
,$(1))
425 TITLE
+= (wolfSSL full
)
426 VARIANT
:=supplicant-full-wolfssl
427 DEPENDS
+=+PACKAGE_wpa-supplicant-wolfssl
:libwolfssl
430 define Package
/wpa-supplicant-mbedtls
431 $(call Package
/wpa-supplicant
/Default
,$(1))
432 TITLE
+= (mbedTLS full
)
433 VARIANT
:=supplicant-full-mbedtls
434 DEPENDS
+=+PACKAGE_wpa-supplicant-mbedtls
:libmbedtls
437 define Package
/wpa-supplicant
/config
438 source
"$(SOURCE)/Config.in"
441 define Package
/wpa-supplicant-p2p
442 $(call Package
/wpa-supplicant
/Default
,$(1))
443 TITLE
+= (Wi-Fi P2P support
)
444 VARIANT
:=supplicant-p2p-internal
447 define Package
/wpa-supplicant-mesh
/Default
448 $(call Package
/wpa-supplicant
/Default
,$(1))
449 DEPENDS
+=@
(!TARGET_uml||BROKEN
)
450 PROVIDES
+=wpa-supplicant-mesh
453 define Package
/wpa-supplicant-mesh-openssl
454 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
455 TITLE
+= (OpenSSL
, 11s
, SAE
)
456 VARIANT
:=supplicant-mesh-openssl
457 DEPENDS
+=$(OPENSSL_DEPENDS
)
460 define Package
/wpa-supplicant-mesh-wolfssl
461 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
462 TITLE
+= (wolfSSL
, 11s
, SAE
)
463 VARIANT
:=supplicant-mesh-wolfssl
464 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-wolfssl
:libwolfssl
467 define Package
/wpa-supplicant-mesh-mbedtls
468 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
469 TITLE
+= (mbedTLS
, 11s
, SAE
)
470 VARIANT
:=supplicant-mesh-mbedtls
471 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-mbedtls
:libmbedtls
474 define Package
/wpa-supplicant-basic
475 $(call Package
/wpa-supplicant
/Default
,$(1))
477 VARIANT
:=supplicant-basic
480 define Package
/wpa-supplicant-mini
481 $(call Package
/wpa-supplicant
/Default
,$(1))
483 VARIANT
:=supplicant-mini
487 define Package
/hostapd-common
488 TITLE
:=hostapd
/wpa_supplicant common support files
494 define Package
/hostapd-utils
498 TITLE
:=IEEE
802.1x Authenticator
(utils
)
499 URL
:=http
://hostap.epitest.fi
/
500 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(HOSTAPD_PROVIDERS
),PACKAGE_
$(pkg
)))
504 define Package
/hostapd-utils
/description
505 This package contains a command line utility to control the
506 IEEE
802.1x
/WPA
/EAP
/RADIUS Authenticator.
509 define Package
/wpa-cli
513 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(SUPPLICANT_PROVIDERS
),PACKAGE_
$(pkg
)))
514 TITLE
:=WPA Supplicant command line control utility
518 define Package
/eapol-test
/Default
519 TITLE
:=802.1x auth
test utility
523 DEPENDS
:=$(DRV_DEPENDS
) $(CORE_DEPENDS
)
526 define Package
/eapol-test
527 $(call Package
/eapol-test
/Default
,$(1))
528 TITLE
+= (built-in full
)
529 VARIANT
:=supplicant-full-internal
532 define Package
/eapol-test-openssl
533 $(call Package
/eapol-test
/Default
,$(1))
534 TITLE
+= (OpenSSL full
)
535 VARIANT
:=supplicant-full-openssl
536 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(EAPOL_TEST_PROVIDERS
))
537 DEPENDS
+=$(OPENSSL_DEPENDS
)
541 define Package
/eapol-test-wolfssl
542 $(call Package
/eapol-test
/Default
,$(1))
543 TITLE
+= (wolfSSL full
)
544 VARIANT
:=supplicant-full-wolfssl
545 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-wolfssl
,$(EAPOL_TEST_PROVIDERS
)))
546 DEPENDS
+=+PACKAGE_eapol-test-wolfssl
:libwolfssl
550 define Package
/eapol-test-mbedtls
551 $(call Package
/eapol-test
/Default
,$(1))
552 TITLE
+= (mbedTLS full
)
553 VARIANT
:=supplicant-full-mbedtls
554 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-mbedtls
,$(EAPOL_TEST_PROVIDERS
)))
555 DEPENDS
+=+PACKAGE_eapol-test-mbedtls
:libmbedtls
560 ifneq ($(wildcard $(PKG_BUILD_DIR
)/.config_
*),$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
)))
561 define Build
/Configure
/rebuild
562 $(FIND
) $(PKG_BUILD_DIR
) -name \
*.o
-or
-name \
*.a |
$(XARGS
) rm -f
563 rm -f
$(PKG_BUILD_DIR
)/hostapd
/hostapd
564 rm -f
$(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
565 rm -f
$(PKG_BUILD_DIR
)/.config_
*
566 touch
$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
))
570 define Build
/Configure
571 $(Build
/Configure
/rebuild
)
572 $(if
$(wildcard .
/files
/hostapd-
$(CONFIG_VARIANT
).config
), \
573 $(CP
) .
/files
/hostapd-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/hostapd
/.config \
575 $(if
$(wildcard .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
), \
576 $(CP
) .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/wpa_supplicant
/.config
581 -I
$(STAGING_DIR
)/usr
/include/libnl-tiny \
582 -I
$(PKG_BUILD_DIR
)/src
/crypto \
586 $(if
$(CONFIG_WPA_MSG_MIN_PRIORITY
),-DCONFIG_MSG_MIN_PRIORITY
=$(CONFIG_WPA_MSG_MIN_PRIORITY
))
588 TARGET_LDFLAGS
+= -lubox
-lubus
-lblobmsg_json
-lucode
-lm
-lnl-tiny
590 ifdef CONFIG_WPA_ENABLE_WEP
591 DRIVER_MAKEOPTS
+= CONFIG_WEP
=y
595 CFLAGS
="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
596 $(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
)/$(1) \
597 $(TARGET_CONFIGURE_OPTS
) \
599 LIBS
="$(TARGET_LDFLAGS)" \
600 LIBS_c
="$(TARGET_LDFLAGS_C)" \
601 AR
="$(TARGET_CROSS)gcc-ar" \
603 $(if
$(findstring s
,$(OPENWRT_VERBOSE
)),V
=1) \
607 define Build
/Compile
/wpad
609 $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \
610 $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
611 sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
612 ` > $(PKG_BUILD_DIR
)/.
cflags
613 sed
-i
's/"/\\"/g' $(PKG_BUILD_DIR
)/.
cflags
614 +$(call Build
/RunMake
,hostapd
, \
615 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
617 hostapd_cli hostapd_multi.a \
619 +$(call Build
/RunMake
,wpa_supplicant
, \
620 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
622 wpa_cli wpa_supplicant_multi.a \
624 +export MAKEFLAGS
="$(MAKE_JOBSERVER)"; $(TARGET_CC
) -o
$(PKG_BUILD_DIR
)/wpad \
626 .
/files
/multicall.c \
627 $(PKG_BUILD_DIR
)/hostapd
/hostapd_multi.a \
628 $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant_multi.a \
632 define Build
/Compile
/hostapd
633 +$(call Build
/RunMake
,hostapd
, \
634 hostapd hostapd_cli \
638 define Build
/Compile
/supplicant
639 +$(call Build
/RunMake
,wpa_supplicant
, \
640 wpa_cli wpa_supplicant \
644 define Build
/Compile
/supplicant-full-internal
645 +$(call Build
/RunMake
,wpa_supplicant
, \
650 define Build
/Compile
/supplicant-full-openssl
651 +$(call Build
/RunMake
,wpa_supplicant
, \
656 define Build
/Compile
/supplicant-full-wolfssl
657 +$(call Build
/RunMake
,wpa_supplicant
, \
662 define Build
/Compile
/supplicant-full-mbedtls
663 +$(call Build
/RunMake
,wpa_supplicant
, \
669 $(Build
/Compile
/$(LOCAL_TYPE
))
670 $(Build
/Compile
/$(BUILD_VARIANT
))
673 define Install
/hostapd
/full
674 $(INSTALL_DIR
) $(1)/etc
/init.d
$(1)/etc
/config
$(1)/etc
/radius
675 ln
-sf hostapd
$(1)/usr
/sbin
/hostapd-radius
676 $(INSTALL_BIN
) .
/files
/radius.init
$(1)/etc
/init.d
/radius
677 $(INSTALL_DATA
) .
/files
/radius.config
$(1)/etc
/config
/radius
678 $(INSTALL_DATA
) .
/files
/radius.clients
$(1)/etc
/radius
/clients
679 $(INSTALL_DATA
) .
/files
/radius.users
$(1)/etc
/radius
/users
682 define Package
/hostapd-full
/conffiles
687 ifeq ($(CONFIG_VARIANT
),full
)
688 Package
/wpad-mesh-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
689 Package
/wpad-mesh-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
690 Package
/wpad-mesh-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
691 Package
/wpad
/conffiles
= $(Package
/hostapd-full
/conffiles
)
692 Package
/wpad-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
693 Package
/wpad-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
694 Package
/wpad-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
695 Package
/hostapd
/conffiles
= $(Package
/hostapd-full
/conffiles
)
696 Package
/hostapd-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
697 Package
/hostapd-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
698 Package
/hostapd-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
701 define Install
/hostapd
702 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
703 $(INSTALL_DATA
) .
/files
/hostapd.uc
$(1)/usr
/share
/hostap
/
704 $(if
$(findstring full
,$(CONFIG_VARIANT
)),$(Install
/hostapd
/full
))
707 define Install
/supplicant
708 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
709 $(INSTALL_DATA
) .
/files
/wpa_supplicant.uc
$(1)/usr
/share
/hostap
/
712 define Package
/hostapd-common
/install
713 $(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
714 $(INSTALL_BIN
) .
/files
/dhcp-get-server.sh
$(1)/lib
/netifd
/dhcp-get-server.sh
715 $(INSTALL_DATA
) .
/files
/hostapd.sh
$(1)/lib
/netifd
/hostapd.sh
716 $(INSTALL_BIN
) .
/files
/wpad.init
$(1)/etc
/init.d
/wpad
717 $(INSTALL_BIN
) .
/files
/wps-hotplug.sh
$(1)/etc
/rc.button
/wps
718 $(INSTALL_DATA
) .
/files
/wpad_acl.json
$(1)/usr
/share
/acl.d
719 $(INSTALL_DATA
) .
/files
/wpad.json
$(1)/etc
/capabilities
720 $(INSTALL_DATA
) .
/files
/common.uc
$(1)/usr
/share
/hostap
/
721 $(INSTALL_DATA
) .
/files
/wdev.uc
$(1)/usr
/share
/hostap
/
724 define Package
/hostapd
/install
725 $(call Install
/hostapd
,$(1))
726 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd
$(1)/usr
/sbin
/
728 Package
/hostapd-basic
/install = $(Package
/hostapd
/install)
729 Package
/hostapd-basic-openssl
/install = $(Package
/hostapd
/install)
730 Package
/hostapd-basic-wolfssl
/install = $(Package
/hostapd
/install)
731 Package
/hostapd-basic-mbedtls
/install = $(Package
/hostapd
/install)
732 Package
/hostapd-mini
/install = $(Package
/hostapd
/install)
733 Package
/hostapd-openssl
/install = $(Package
/hostapd
/install)
734 Package
/hostapd-wolfssl
/install = $(Package
/hostapd
/install)
735 Package
/hostapd-mbedtls
/install = $(Package
/hostapd
/install)
737 ifneq ($(LOCAL_TYPE
),supplicant
)
738 define Package
/hostapd-utils
/install
739 $(INSTALL_DIR
) $(1)/usr
/sbin
740 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd_cli
$(1)/usr
/sbin
/
744 define Package
/wpad
/install
745 $(call Install
/hostapd
,$(1))
746 $(call Install
/supplicant
,$(1))
747 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpad
$(1)/usr
/sbin
/
748 $(LN
) wpad
$(1)/usr
/sbin
/hostapd
749 $(LN
) wpad
$(1)/usr
/sbin
/wpa_supplicant
751 Package
/wpad-basic
/install = $(Package
/wpad
/install)
752 Package
/wpad-basic-openssl
/install = $(Package
/wpad
/install)
753 Package
/wpad-basic-wolfssl
/install = $(Package
/wpad
/install)
754 Package
/wpad-basic-mbedtls
/install = $(Package
/wpad
/install)
755 Package
/wpad-mini
/install = $(Package
/wpad
/install)
756 Package
/wpad-openssl
/install = $(Package
/wpad
/install)
757 Package
/wpad-wolfssl
/install = $(Package
/wpad
/install)
758 Package
/wpad-mbedtls
/install = $(Package
/wpad
/install)
759 Package
/wpad-mesh-openssl
/install = $(Package
/wpad
/install)
760 Package
/wpad-mesh-wolfssl
/install = $(Package
/wpad
/install)
761 Package
/wpad-mesh-mbedtls
/install = $(Package
/wpad
/install)
763 define Package
/wpa-supplicant
/install
764 $(call Install
/supplicant
,$(1))
765 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
$(1)/usr
/sbin
/
767 Package
/wpa-supplicant-basic
/install = $(Package
/wpa-supplicant
/install)
768 Package
/wpa-supplicant-mini
/install = $(Package
/wpa-supplicant
/install)
769 Package
/wpa-supplicant-p2p
/install = $(Package
/wpa-supplicant
/install)
770 Package
/wpa-supplicant-openssl
/install = $(Package
/wpa-supplicant
/install)
771 Package
/wpa-supplicant-wolfssl
/install = $(Package
/wpa-supplicant
/install)
772 Package
/wpa-supplicant-mbedtls
/install = $(Package
/wpa-supplicant
/install)
773 Package
/wpa-supplicant-mesh-openssl
/install = $(Package
/wpa-supplicant
/install)
774 Package
/wpa-supplicant-mesh-wolfssl
/install = $(Package
/wpa-supplicant
/install)
775 Package
/wpa-supplicant-mesh-mbedtls
/install = $(Package
/wpa-supplicant
/install)
777 ifneq ($(LOCAL_TYPE
),hostapd
)
778 define Package
/wpa-cli
/install
779 $(INSTALL_DIR
) $(1)/usr
/sbin
780 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_cli
$(1)/usr
/sbin
/
784 ifeq ($(BUILD_VARIANT
),supplicant-full-internal
)
785 define Package
/eapol-test
/install
786 $(INSTALL_DIR
) $(1)/usr
/sbin
787 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
791 ifeq ($(BUILD_VARIANT
),supplicant-full-openssl
)
792 define Package
/eapol-test-openssl
/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-wolfssl
)
799 define Package
/eapol-test-wolfssl
/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-mbedtls
)
806 define Package
/eapol-test-mbedtls
/install
807 $(INSTALL_DIR
) $(1)/usr
/sbin
808 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
812 # Build hostapd-common before its dependents, to avoid
813 # spurious rebuilds when building multiple variants.
814 $(eval
$(call BuildPackage
,hostapd-common
))
815 $(eval
$(call BuildPackage
,hostapd
))
816 $(eval
$(call BuildPackage
,hostapd-basic
))
817 $(eval
$(call BuildPackage
,hostapd-basic-openssl
))
818 $(eval
$(call BuildPackage
,hostapd-basic-wolfssl
))
819 $(eval
$(call BuildPackage
,hostapd-basic-mbedtls
))
820 $(eval
$(call BuildPackage
,hostapd-mini
))
821 $(eval
$(call BuildPackage
,hostapd-openssl
))
822 $(eval
$(call BuildPackage
,hostapd-wolfssl
))
823 $(eval
$(call BuildPackage
,hostapd-mbedtls
))
824 $(eval
$(call BuildPackage
,wpad
))
825 $(eval
$(call BuildPackage
,wpad-mesh-openssl
))
826 $(eval
$(call BuildPackage
,wpad-mesh-wolfssl
))
827 $(eval
$(call BuildPackage
,wpad-mesh-mbedtls
))
828 $(eval
$(call BuildPackage
,wpad-basic
))
829 $(eval
$(call BuildPackage
,wpad-basic-openssl
))
830 $(eval
$(call BuildPackage
,wpad-basic-wolfssl
))
831 $(eval
$(call BuildPackage
,wpad-basic-mbedtls
))
832 $(eval
$(call BuildPackage
,wpad-mini
))
833 $(eval
$(call BuildPackage
,wpad-openssl
))
834 $(eval
$(call BuildPackage
,wpad-wolfssl
))
835 $(eval
$(call BuildPackage
,wpad-mbedtls
))
836 $(eval
$(call BuildPackage
,wpa-supplicant
))
837 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-openssl
))
838 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-wolfssl
))
839 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-mbedtls
))
840 $(eval
$(call BuildPackage
,wpa-supplicant-basic
))
841 $(eval
$(call BuildPackage
,wpa-supplicant-mini
))
842 $(eval
$(call BuildPackage
,wpa-supplicant-p2p
))
843 $(eval
$(call BuildPackage
,wpa-supplicant-openssl
))
844 $(eval
$(call BuildPackage
,wpa-supplicant-wolfssl
))
845 $(eval
$(call BuildPackage
,wpa-supplicant-mbedtls
))
846 $(eval
$(call BuildPackage
,wpa-cli
))
847 $(eval
$(call BuildPackage
,hostapd-utils
))
848 $(eval
$(call BuildPackage
,eapol-test
))
849 $(eval
$(call BuildPackage
,eapol-test-openssl
))
850 $(eval
$(call BuildPackage
,eapol-test-wolfssl
))
851 $(eval
$(call BuildPackage
,eapol-test-mbedtls
))