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
:=2024-03-09
13 PKG_SOURCE_VERSION
:=695277a5b3da08b9a8a4e7117b933deb8b4950a7
14 PKG_MIRROR_HASH
:=57b8e64d24707e37e0df3359cee15dd5184b824b8622568833a5b8a0cae163ae
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
+libudebug
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_AFC
=$(HOSTAPD_IEEE80211AX
) \
90 CONFIG_MBO
=$(CONFIG_WPA_MBO_SUPPORT
) \
93 ifeq ($(SSL_VARIANT
),openssl
)
94 DRIVER_MAKEOPTS
+= CONFIG_TLS
=openssl CONFIG_SAE
=y
95 TARGET_LDFLAGS
+= -lcrypto
-lssl
97 ifeq ($(LOCAL_VARIANT
),basic
)
98 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
100 ifeq ($(LOCAL_VARIANT
),mesh
)
101 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y
103 ifeq ($(LOCAL_VARIANT
),full
)
104 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y
108 ifeq ($(SSL_VARIANT
),wolfssl
)
109 DRIVER_MAKEOPTS
+= CONFIG_TLS
=wolfssl CONFIG_SAE
=y
110 TARGET_LDFLAGS
+= -lwolfssl
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 CONFIG_WPS_NFC
=1
118 ifeq ($(LOCAL_VARIANT
),full
)
119 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
123 ifeq ($(SSL_VARIANT
),mbedtls
)
124 DRIVER_MAKEOPTS
+= CONFIG_TLS
=mbedtls CONFIG_SAE
=y
125 TARGET_LDFLAGS
+= -lmbedcrypto
-lmbedx509
-lmbedtls
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
138 ifneq ($(LOCAL_TYPE
),hostapd
)
139 ifdef CONFIG_WPA_RFKILL_SUPPORT
140 DRIVER_MAKEOPTS
+= NEED_RFKILL
=y
144 DRV_DEPENDS
:=+libnl-tiny
150 TITLE
:=AFC communication daemon
151 DEPENDS
:=+ucode
+ucode-mod-uclient
+ucode-mod-uloop
154 define Package
/hostapd
/Default
158 TITLE
:=IEEE
802.1x Authenticator
159 URL
:=http
://hostap.epitest.fi
/
160 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
161 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-r
$(PKG_RELEASE
))
162 USERID
:=network
=101:network
=101
164 CONFLICTS
:=$(HOSTAPD_PROVIDERS
)
165 HOSTAPD_PROVIDERS
+=$(1)
168 define Package
/hostapd
169 $(call Package
/hostapd
/Default
,$(1))
170 TITLE
+= (built-in full
)
171 VARIANT
:=full-internal
174 define Package
/hostapd
/description
175 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
179 define Package
/hostapd-openssl
180 $(call Package
/hostapd
/Default
,$(1))
181 TITLE
+= (OpenSSL full
)
182 VARIANT
:=full-openssl
183 DEPENDS
+=$(OPENSSL_DEPENDS
)
186 Package
/hostapd-openssl
/description
= $(Package
/hostapd
/description
)
188 define Package
/hostapd-wolfssl
189 $(call Package
/hostapd
/Default
,$(1))
190 TITLE
+= (wolfSSL full
)
191 VARIANT
:=full-wolfssl
192 DEPENDS
+=+PACKAGE_hostapd-wolfssl
:libwolfssl
195 Package
/hostapd-wolfssl
/description
= $(Package
/hostapd
/description
)
197 define Package
/hostapd-mbedtls
198 $(call Package
/hostapd
/Default
,$(1))
199 TITLE
+= (mbedTLS full
)
200 VARIANT
:=full-mbedtls
201 DEPENDS
+=+PACKAGE_hostapd-mbedtls
:libmbedtls
204 Package
/hostapd-mbedtls
/description
= $(Package
/hostapd
/description
)
206 define Package
/hostapd-basic
207 $(call Package
/hostapd
/Default
,$(1))
208 TITLE
+= (WPA-PSK
, 11r
, 11w
)
212 define Package
/hostapd-basic
/description
213 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
216 define Package
/hostapd-basic-openssl
217 $(call Package
/hostapd
/Default
,$(1))
218 TITLE
+= (WPA-PSK
, 11r and
11w
)
219 VARIANT
:=basic-openssl
220 DEPENDS
+=+PACKAGE_hostapd-basic-openssl
:libopenssl
223 define Package
/hostapd-basic-openssl
/description
224 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
227 define Package
/hostapd-basic-wolfssl
228 $(call Package
/hostapd
/Default
,$(1))
229 TITLE
+= (WPA-PSK
, 11r and
11w
)
230 VARIANT
:=basic-wolfssl
231 DEPENDS
+=+PACKAGE_hostapd-basic-wolfssl
:libwolfssl
234 define Package
/hostapd-basic-wolfssl
/description
235 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
238 define Package
/hostapd-basic-mbedtls
239 $(call Package
/hostapd
/Default
,$(1))
240 TITLE
+= (WPA-PSK
, 11r and
11w
)
241 VARIANT
:=basic-mbedtls
242 DEPENDS
+=+PACKAGE_hostapd-basic-mbedtls
:libmbedtls
245 define Package
/hostapd-basic-mbedtls
/description
246 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
249 define Package
/hostapd-mini
250 $(call Package
/hostapd
/Default
,$(1))
251 TITLE
+= (WPA-PSK only
)
255 define Package
/hostapd-mini
/description
256 This package contains a minimal IEEE
802.1x
/WPA Authenticator
(WPA-PSK only
).
260 define Package
/wpad
/Default
264 TITLE
:=IEEE
802.1x Auth
/Supplicant
265 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
266 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-r
$(PKG_RELEASE
))
267 USERID
:=network
=101:network
=101
268 URL
:=http
://hostap.epitest.fi
/
269 PROVIDES
:=hostapd wpa-supplicant
270 CONFLICTS
:=$(HOSTAPD_PROVIDERS
) $(SUPPLICANT_PROVIDERS
)
271 HOSTAPD_PROVIDERS
+=$(1)
272 SUPPLICANT_PROVIDERS
+=$(1)
276 $(call Package
/wpad
/Default
,$(1))
277 TITLE
+= (built-in full
)
278 VARIANT
:=wpad-full-internal
281 define Package
/wpad
/description
282 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
283 Authenticator and Supplicant
286 define Package
/wpad-openssl
287 $(call Package
/wpad
/Default
,$(1))
288 TITLE
+= (OpenSSL full
)
289 VARIANT
:=wpad-full-openssl
290 DEPENDS
+=$(OPENSSL_DEPENDS
)
293 Package
/wpad-openssl
/description
= $(Package
/wpad
/description
)
295 define Package
/wpad-wolfssl
296 $(call Package
/wpad
/Default
,$(1))
297 TITLE
+= (wolfSSL full
)
298 VARIANT
:=wpad-full-wolfssl
299 DEPENDS
+=+PACKAGE_wpad-wolfssl
:libwolfssl
302 Package
/wpad-wolfssl
/description
= $(Package
/wpad
/description
)
304 define Package
/wpad-mbedtls
305 $(call Package
/wpad
/Default
,$(1))
306 TITLE
+= (mbedTLS full
)
307 VARIANT
:=wpad-full-mbedtls
308 DEPENDS
+=+PACKAGE_wpad-mbedtls
:libmbedtls
311 Package
/wpad-mbedtls
/description
= $(Package
/wpad
/description
)
313 define Package
/wpad-basic
314 $(call Package
/wpad
/Default
,$(1))
315 TITLE
+= (WPA-PSK
, 11r
, 11w
)
319 define Package
/wpad-basic
/description
320 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, 802.11r and
802.11w support.
323 define Package
/wpad-basic-openssl
324 $(call Package
/wpad
/Default
,$(1))
325 TITLE
+= (OpenSSL
, 11r
, 11w
)
326 VARIANT
:=wpad-basic-openssl
327 DEPENDS
+=$(OPENSSL_DEPENDS
)
330 define Package
/wpad-basic-openssl
/description
331 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
334 define Package
/wpad-basic-wolfssl
335 $(call Package
/wpad
/Default
,$(1))
336 TITLE
+= (wolfSSL
, 11r
, 11w
)
337 VARIANT
:=wpad-basic-wolfssl
338 DEPENDS
+=+PACKAGE_wpad-basic-wolfssl
:libwolfssl
341 define Package
/wpad-basic-wolfssl
/description
342 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
345 define Package
/wpad-basic-mbedtls
346 $(call Package
/wpad
/Default
,$(1))
347 TITLE
+= (mbedTLS
, 11r
, 11w
)
348 VARIANT
:=wpad-basic-mbedtls
349 DEPENDS
+=+PACKAGE_wpad-basic-mbedtls
:libmbedtls
352 define Package
/wpad-basic-mbedtls
/description
353 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
356 define Package
/wpad-mini
357 $(call Package
/wpad
/Default
,$(1))
358 TITLE
+= (WPA-PSK only
)
362 define Package
/wpad-mini
/description
363 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(WPA-PSK only
).
366 define Package
/wpad-mesh
367 $(call Package
/wpad
/Default
,$(1))
368 DEPENDS
+=@
(!TARGET_uml||BROKEN
)
369 PROVIDES
+=wpa-supplicant-mesh wpad-mesh
372 define Package
/wpad-mesh
/description
373 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(with
802.11s mesh and SAE support
).
376 define Package
/wpad-mesh-openssl
377 $(call Package
/wpad-mesh
,$(1))
378 TITLE
+= (OpenSSL
, 11s
, SAE
)
379 DEPENDS
+=$(OPENSSL_DEPENDS
)
380 VARIANT
:=wpad-mesh-openssl
383 Package
/wpad-mesh-openssl
/description
= $(Package
/wpad-mesh
/description
)
385 define Package
/wpad-mesh-wolfssl
386 $(call Package
/wpad-mesh
,$(1))
387 TITLE
+= (wolfSSL
, 11s
, SAE
)
388 DEPENDS
+=+PACKAGE_wpad-mesh-wolfssl
:libwolfssl
389 VARIANT
:=wpad-mesh-wolfssl
392 Package
/wpad-mesh-wolfssl
/description
= $(Package
/wpad-mesh
/description
)
394 define Package
/wpad-mesh-mbedtls
395 $(call Package
/wpad-mesh
,$(1))
396 TITLE
+= (mbedTLS
, 11s
, SAE
)
397 DEPENDS
+=+PACKAGE_wpad-mesh-mbedtls
:libmbedtls
398 VARIANT
:=wpad-mesh-mbedtls
401 Package
/wpad-mesh-mbedtls
/description
= $(Package
/wpad-mesh
/description
)
404 define Package
/wpa-supplicant
/Default
408 TITLE
:=WPA Supplicant
409 URL
:=http
://hostap.epitest.fi
/wpa_supplicant
/
410 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
411 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-r
$(PKG_RELEASE
))
412 USERID
:=network
=101:network
=101
413 PROVIDES
:=wpa-supplicant
414 CONFLICTS
:=$(SUPPLICANT_PROVIDERS
)
415 SUPPLICANT_PROVIDERS
+=$(1)
418 define Package
/wpa-supplicant
419 $(call Package
/wpa-supplicant
/Default
,$(1))
420 TITLE
+= (built-in full
)
421 VARIANT
:=supplicant-full-internal
424 define Package
/wpa-supplicant-openssl
425 $(call Package
/wpa-supplicant
/Default
,$(1))
426 TITLE
+= (OpenSSL full
)
427 VARIANT
:=supplicant-full-openssl
428 DEPENDS
+=$(OPENSSL_DEPENDS
)
431 define Package
/wpa-supplicant-wolfssl
432 $(call Package
/wpa-supplicant
/Default
,$(1))
433 TITLE
+= (wolfSSL full
)
434 VARIANT
:=supplicant-full-wolfssl
435 DEPENDS
+=+PACKAGE_wpa-supplicant-wolfssl
:libwolfssl
438 define Package
/wpa-supplicant-mbedtls
439 $(call Package
/wpa-supplicant
/Default
,$(1))
440 TITLE
+= (mbedTLS full
)
441 VARIANT
:=supplicant-full-mbedtls
442 DEPENDS
+=+PACKAGE_wpa-supplicant-mbedtls
:libmbedtls
445 define Package
/wpa-supplicant
/config
446 source
"$(SOURCE)/Config.in"
449 define Package
/wpa-supplicant-p2p
450 $(call Package
/wpa-supplicant
/Default
,$(1))
451 TITLE
+= (Wi-Fi P2P support
)
452 VARIANT
:=supplicant-p2p-internal
455 define Package
/wpa-supplicant-mesh
/Default
456 $(call Package
/wpa-supplicant
/Default
,$(1))
457 DEPENDS
+=@
(!TARGET_uml||BROKEN
)
458 PROVIDES
+=wpa-supplicant-mesh
461 define Package
/wpa-supplicant-mesh-openssl
462 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
463 TITLE
+= (OpenSSL
, 11s
, SAE
)
464 VARIANT
:=supplicant-mesh-openssl
465 DEPENDS
+=$(OPENSSL_DEPENDS
)
468 define Package
/wpa-supplicant-mesh-wolfssl
469 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
470 TITLE
+= (wolfSSL
, 11s
, SAE
)
471 VARIANT
:=supplicant-mesh-wolfssl
472 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-wolfssl
:libwolfssl
475 define Package
/wpa-supplicant-mesh-mbedtls
476 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
477 TITLE
+= (mbedTLS
, 11s
, SAE
)
478 VARIANT
:=supplicant-mesh-mbedtls
479 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-mbedtls
:libmbedtls
482 define Package
/wpa-supplicant-basic
483 $(call Package
/wpa-supplicant
/Default
,$(1))
485 VARIANT
:=supplicant-basic
488 define Package
/wpa-supplicant-mini
489 $(call Package
/wpa-supplicant
/Default
,$(1))
491 VARIANT
:=supplicant-mini
495 define Package
/hostapd-common
496 TITLE
:=hostapd
/wpa_supplicant common support files
502 define Package
/hostapd-utils
506 TITLE
:=IEEE
802.1x Authenticator
(utils
)
507 URL
:=http
://hostap.epitest.fi
/
508 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(HOSTAPD_PROVIDERS
),PACKAGE_
$(pkg
)))
512 define Package
/hostapd-utils
/description
513 This package contains a command line utility to control the
514 IEEE
802.1x
/WPA
/EAP
/RADIUS Authenticator.
517 define Package
/wpa-cli
521 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(SUPPLICANT_PROVIDERS
),PACKAGE_
$(pkg
)))
522 TITLE
:=WPA Supplicant command line control utility
526 define Package
/eapol-test
/Default
527 TITLE
:=802.1x auth
test utility
531 DEPENDS
:=$(DRV_DEPENDS
) $(CORE_DEPENDS
)
534 define Package
/eapol-test
535 $(call Package
/eapol-test
/Default
,$(1))
536 TITLE
+= (built-in full
)
537 VARIANT
:=supplicant-full-internal
540 define Package
/eapol-test-openssl
541 $(call Package
/eapol-test
/Default
,$(1))
542 TITLE
+= (OpenSSL full
)
543 VARIANT
:=supplicant-full-openssl
544 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(EAPOL_TEST_PROVIDERS
))
545 DEPENDS
+=$(OPENSSL_DEPENDS
)
549 define Package
/eapol-test-wolfssl
550 $(call Package
/eapol-test
/Default
,$(1))
551 TITLE
+= (wolfSSL full
)
552 VARIANT
:=supplicant-full-wolfssl
553 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-wolfssl
,$(EAPOL_TEST_PROVIDERS
)))
554 DEPENDS
+=+PACKAGE_eapol-test-wolfssl
:libwolfssl
558 define Package
/eapol-test-mbedtls
559 $(call Package
/eapol-test
/Default
,$(1))
560 TITLE
+= (mbedTLS full
)
561 VARIANT
:=supplicant-full-mbedtls
562 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-mbedtls
,$(EAPOL_TEST_PROVIDERS
)))
563 DEPENDS
+=+PACKAGE_eapol-test-mbedtls
:libmbedtls
568 ifneq ($(wildcard $(PKG_BUILD_DIR
)/.config_
*),$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
)))
569 define Build
/Configure
/rebuild
570 $(FIND
) $(PKG_BUILD_DIR
) -name \
*.o
-or
-name \
*.a |
$(XARGS
) rm -f
571 rm -f
$(PKG_BUILD_DIR
)/hostapd
/hostapd
572 rm -f
$(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
573 rm -f
$(PKG_BUILD_DIR
)/.config_
*
574 touch
$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
))
578 define Build
/Configure
579 $(Build
/Configure
/rebuild
)
580 $(if
$(wildcard .
/files
/hostapd-
$(CONFIG_VARIANT
).config
), \
581 $(CP
) .
/files
/hostapd-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/hostapd
/.config \
583 $(if
$(wildcard .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
), \
584 $(CP
) .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/wpa_supplicant
/.config
589 -I
$(STAGING_DIR
)/usr
/include/libnl-tiny \
590 -I
$(PKG_BUILD_DIR
)/src
/crypto \
594 $(if
$(CONFIG_WPA_MSG_MIN_PRIORITY
),-DCONFIG_MSG_MIN_PRIORITY
=$(CONFIG_WPA_MSG_MIN_PRIORITY
))
596 TARGET_LDFLAGS
+= -lubox
-lubus
-lblobmsg_json
-lucode
-lm
-lnl-tiny
-ludebug
-ljson-c
598 ifdef CONFIG_WPA_ENABLE_WEP
599 DRIVER_MAKEOPTS
+= CONFIG_WEP
=y
603 CFLAGS
="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
604 $(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
)/$(1) \
605 $(TARGET_CONFIGURE_OPTS
) \
607 LIBS
="$(TARGET_LDFLAGS)" \
608 LIBS_c
="$(TARGET_LDFLAGS_C)" \
609 AR
="$(TARGET_CROSS)gcc-ar" \
611 $(if
$(findstring s
,$(OPENWRT_VERBOSE
)),V
=1) \
615 define Build
/Compile
/wpad
617 $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \
618 $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
619 sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
620 ` > $(PKG_BUILD_DIR
)/.
cflags
621 sed
-i
's/"/\\"/g' $(PKG_BUILD_DIR
)/.
cflags
622 +$(call Build
/RunMake
,hostapd
, \
623 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
625 hostapd_cli hostapd_multi.a \
627 +$(call Build
/RunMake
,wpa_supplicant
, \
628 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
630 wpa_cli wpa_supplicant_multi.a \
632 +export MAKEFLAGS
="$(MAKE_JOBSERVER)"; $(TARGET_CC
) -o
$(PKG_BUILD_DIR
)/wpad \
634 .
/files
/multicall.c \
635 $(PKG_BUILD_DIR
)/hostapd
/hostapd_multi.a \
636 $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant_multi.a \
640 define Build
/Compile
/hostapd
641 +$(call Build
/RunMake
,hostapd
, \
642 hostapd hostapd_cli \
646 define Build
/Compile
/supplicant
647 +$(call Build
/RunMake
,wpa_supplicant
, \
648 wpa_cli wpa_supplicant \
652 define Build
/Compile
/supplicant-full-internal
653 +$(call Build
/RunMake
,wpa_supplicant
, \
658 define Build
/Compile
/supplicant-full-openssl
659 +$(call Build
/RunMake
,wpa_supplicant
, \
664 define Build
/Compile
/supplicant-full-wolfssl
665 +$(call Build
/RunMake
,wpa_supplicant
, \
670 define Build
/Compile
/supplicant-full-mbedtls
671 +$(call Build
/RunMake
,wpa_supplicant
, \
677 $(Build
/Compile
/$(LOCAL_TYPE
))
678 $(Build
/Compile
/$(BUILD_VARIANT
))
681 define Install
/hostapd
/full
682 $(INSTALL_DIR
) $(1)/etc
/init.d
$(1)/etc
/config
$(1)/etc
/radius
683 ln
-sf hostapd
$(1)/usr
/sbin
/hostapd-radius
684 $(INSTALL_BIN
) .
/files
/radius.init
$(1)/etc
/init.d
/radius
685 $(INSTALL_DATA
) .
/files
/radius.config
$(1)/etc
/config
/radius
686 $(INSTALL_DATA
) .
/files
/radius.clients
$(1)/etc
/radius
/clients
687 $(INSTALL_DATA
) .
/files
/radius.users
$(1)/etc
/radius
/users
690 define Package
/hostapd-full
/conffiles
695 ifeq ($(CONFIG_VARIANT
),full
)
696 Package
/wpad-mesh-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
697 Package
/wpad-mesh-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
698 Package
/wpad-mesh-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
699 Package
/wpad
/conffiles
= $(Package
/hostapd-full
/conffiles
)
700 Package
/wpad-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
701 Package
/wpad-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
702 Package
/wpad-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
703 Package
/hostapd
/conffiles
= $(Package
/hostapd-full
/conffiles
)
704 Package
/hostapd-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
705 Package
/hostapd-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
706 Package
/hostapd-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
709 define Package
/afcd
/install
710 $(INSTALL_DIR
) $(1)/usr
/share
/hostap
$(1)/etc
/init.d
711 $(INSTALL_BIN
) .
/files
/afcd.init
$(1)/etc
/init.d
/afcd
712 $(INSTALL_DATA
) .
/files
/afcd.uc
$(1)/usr
/share
/hostap
/
715 define Install
/hostapd
716 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
717 $(INSTALL_DATA
) .
/files
/hostapd.uc
$(1)/usr
/share
/hostap
/
718 $(if
$(findstring full
,$(CONFIG_VARIANT
)),$(Install
/hostapd
/full
))
721 define Install
/supplicant
722 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
723 $(INSTALL_DATA
) .
/files
/wpa_supplicant.uc
$(1)/usr
/share
/hostap
/
726 define Package
/hostapd-common
/install
727 $(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
728 $(INSTALL_BIN
) .
/files
/dhcp-get-server.sh
$(1)/lib
/netifd
/dhcp-get-server.sh
729 $(INSTALL_BIN
) .
/files
/wpad.init
$(1)/etc
/init.d
/wpad
730 $(INSTALL_BIN
) .
/files
/wps-hotplug.sh
$(1)/etc
/rc.button
/wps
731 $(INSTALL_DATA
) .
/files
/wpad_acl.json
$(1)/usr
/share
/acl.d
732 $(INSTALL_DATA
) .
/files
/wpad.json
$(1)/etc
/capabilities
735 define Package
/hostapd
/install
736 $(call Install
/hostapd
,$(1))
737 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd
$(1)/usr
/sbin
/
739 Package
/hostapd-basic
/install = $(Package
/hostapd
/install)
740 Package
/hostapd-basic-openssl
/install = $(Package
/hostapd
/install)
741 Package
/hostapd-basic-wolfssl
/install = $(Package
/hostapd
/install)
742 Package
/hostapd-basic-mbedtls
/install = $(Package
/hostapd
/install)
743 Package
/hostapd-mini
/install = $(Package
/hostapd
/install)
744 Package
/hostapd-openssl
/install = $(Package
/hostapd
/install)
745 Package
/hostapd-wolfssl
/install = $(Package
/hostapd
/install)
746 Package
/hostapd-mbedtls
/install = $(Package
/hostapd
/install)
748 ifneq ($(LOCAL_TYPE
),supplicant
)
749 define Package
/hostapd-utils
/install
750 $(INSTALL_DIR
) $(1)/usr
/sbin
751 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd_cli
$(1)/usr
/sbin
/
755 define Package
/wpad
/install
756 $(call Install
/hostapd
,$(1))
757 $(call Install
/supplicant
,$(1))
758 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpad
$(1)/usr
/sbin
/
759 $(LN
) wpad
$(1)/usr
/sbin
/hostapd
760 $(LN
) wpad
$(1)/usr
/sbin
/wpa_supplicant
762 Package
/wpad-basic
/install = $(Package
/wpad
/install)
763 Package
/wpad-basic-openssl
/install = $(Package
/wpad
/install)
764 Package
/wpad-basic-wolfssl
/install = $(Package
/wpad
/install)
765 Package
/wpad-basic-mbedtls
/install = $(Package
/wpad
/install)
766 Package
/wpad-mini
/install = $(Package
/wpad
/install)
767 Package
/wpad-openssl
/install = $(Package
/wpad
/install)
768 Package
/wpad-wolfssl
/install = $(Package
/wpad
/install)
769 Package
/wpad-mbedtls
/install = $(Package
/wpad
/install)
770 Package
/wpad-mesh-openssl
/install = $(Package
/wpad
/install)
771 Package
/wpad-mesh-wolfssl
/install = $(Package
/wpad
/install)
772 Package
/wpad-mesh-mbedtls
/install = $(Package
/wpad
/install)
774 define Package
/wpa-supplicant
/install
775 $(call Install
/supplicant
,$(1))
776 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
$(1)/usr
/sbin
/
778 Package
/wpa-supplicant-basic
/install = $(Package
/wpa-supplicant
/install)
779 Package
/wpa-supplicant-mini
/install = $(Package
/wpa-supplicant
/install)
780 Package
/wpa-supplicant-p2p
/install = $(Package
/wpa-supplicant
/install)
781 Package
/wpa-supplicant-openssl
/install = $(Package
/wpa-supplicant
/install)
782 Package
/wpa-supplicant-wolfssl
/install = $(Package
/wpa-supplicant
/install)
783 Package
/wpa-supplicant-mbedtls
/install = $(Package
/wpa-supplicant
/install)
784 Package
/wpa-supplicant-mesh-openssl
/install = $(Package
/wpa-supplicant
/install)
785 Package
/wpa-supplicant-mesh-wolfssl
/install = $(Package
/wpa-supplicant
/install)
786 Package
/wpa-supplicant-mesh-mbedtls
/install = $(Package
/wpa-supplicant
/install)
788 ifneq ($(LOCAL_TYPE
),hostapd
)
789 define Package
/wpa-cli
/install
790 $(INSTALL_DIR
) $(1)/usr
/sbin
791 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_cli
$(1)/usr
/sbin
/
795 ifeq ($(BUILD_VARIANT
),supplicant-full-internal
)
796 define Package
/eapol-test
/install
797 $(INSTALL_DIR
) $(1)/usr
/sbin
798 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
802 ifeq ($(BUILD_VARIANT
),supplicant-full-openssl
)
803 define Package
/eapol-test-openssl
/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-wolfssl
)
810 define Package
/eapol-test-wolfssl
/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-mbedtls
)
817 define Package
/eapol-test-mbedtls
/install
818 $(INSTALL_DIR
) $(1)/usr
/sbin
819 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
823 # Build hostapd-common before its dependents, to avoid
824 # spurious rebuilds when building multiple variants.
825 $(eval
$(call BuildPackage
,afcd
))
826 $(eval
$(call BuildPackage
,hostapd-common
))
827 $(eval
$(call BuildPackage
,hostapd
))
828 $(eval
$(call BuildPackage
,hostapd-basic
))
829 $(eval
$(call BuildPackage
,hostapd-basic-openssl
))
830 $(eval
$(call BuildPackage
,hostapd-basic-wolfssl
))
831 $(eval
$(call BuildPackage
,hostapd-basic-mbedtls
))
832 $(eval
$(call BuildPackage
,hostapd-mini
))
833 $(eval
$(call BuildPackage
,hostapd-openssl
))
834 $(eval
$(call BuildPackage
,hostapd-wolfssl
))
835 $(eval
$(call BuildPackage
,hostapd-mbedtls
))
836 $(eval
$(call BuildPackage
,wpad
))
837 $(eval
$(call BuildPackage
,wpad-mesh-openssl
))
838 $(eval
$(call BuildPackage
,wpad-mesh-wolfssl
))
839 $(eval
$(call BuildPackage
,wpad-mesh-mbedtls
))
840 $(eval
$(call BuildPackage
,wpad-basic
))
841 $(eval
$(call BuildPackage
,wpad-basic-openssl
))
842 $(eval
$(call BuildPackage
,wpad-basic-wolfssl
))
843 $(eval
$(call BuildPackage
,wpad-basic-mbedtls
))
844 $(eval
$(call BuildPackage
,wpad-mini
))
845 $(eval
$(call BuildPackage
,wpad-openssl
))
846 $(eval
$(call BuildPackage
,wpad-wolfssl
))
847 $(eval
$(call BuildPackage
,wpad-mbedtls
))
848 $(eval
$(call BuildPackage
,wpa-supplicant
))
849 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-openssl
))
850 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-wolfssl
))
851 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-mbedtls
))
852 $(eval
$(call BuildPackage
,wpa-supplicant-basic
))
853 $(eval
$(call BuildPackage
,wpa-supplicant-mini
))
854 $(eval
$(call BuildPackage
,wpa-supplicant-p2p
))
855 $(eval
$(call BuildPackage
,wpa-supplicant-openssl
))
856 $(eval
$(call BuildPackage
,wpa-supplicant-wolfssl
))
857 $(eval
$(call BuildPackage
,wpa-supplicant-mbedtls
))
858 $(eval
$(call BuildPackage
,wpa-cli
))
859 $(eval
$(call BuildPackage
,hostapd-utils
))
860 $(eval
$(call BuildPackage
,eapol-test
))
861 $(eval
$(call BuildPackage
,eapol-test-openssl
))
862 $(eval
$(call BuildPackage
,eapol-test-wolfssl
))
863 $(eval
$(call BuildPackage
,eapol-test-mbedtls
))