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
85 OPENSSL_DEPENDS
= +PACKAGE_
$(1):libopenssl
+PACKAGE_
$(1):libopenssl-legacy
88 CONFIG_ACS
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
89 CONFIG_DRIVER_NL80211
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
90 CONFIG_IEEE80211AC
=$(HOSTAPD_IEEE80211AC
) \
91 CONFIG_IEEE80211AX
=$(HOSTAPD_IEEE80211AX
) \
92 CONFIG_MBO
=$(CONFIG_WPA_MBO_SUPPORT
) \
95 ifeq ($(SSL_VARIANT
),openssl
)
96 DRIVER_MAKEOPTS
+= CONFIG_TLS
=openssl CONFIG_SAE
=y
97 TARGET_LDFLAGS
+= -lcrypto
-lssl
99 ifeq ($(LOCAL_VARIANT
),basic
)
100 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
102 ifeq ($(LOCAL_VARIANT
),mesh
)
103 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y
105 ifeq ($(LOCAL_VARIANT
),full
)
106 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y
110 ifeq ($(SSL_VARIANT
),wolfssl
)
111 DRIVER_MAKEOPTS
+= CONFIG_TLS
=wolfssl CONFIG_SAE
=y
112 TARGET_LDFLAGS
+= -lwolfssl
114 ifeq ($(LOCAL_VARIANT
),basic
)
115 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
117 ifeq ($(LOCAL_VARIANT
),mesh
)
118 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
120 ifeq ($(LOCAL_VARIANT
),full
)
121 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
125 ifeq ($(SSL_VARIANT
),mbedtls
)
126 DRIVER_MAKEOPTS
+= CONFIG_TLS
=mbedtls CONFIG_SAE
=y
127 TARGET_LDFLAGS
+= -lmbedcrypto
-lmbedx509
-lmbedtls
129 ifeq ($(LOCAL_VARIANT
),basic
)
130 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
132 ifeq ($(LOCAL_VARIANT
),mesh
)
133 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
135 ifeq ($(LOCAL_VARIANT
),full
)
136 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
140 ifneq ($(LOCAL_TYPE
),hostapd
)
141 ifdef CONFIG_WPA_RFKILL_SUPPORT
142 DRIVER_MAKEOPTS
+= NEED_RFKILL
=y
146 DRV_DEPENDS
:=+PACKAGE_kmod-cfg80211
:libnl-tiny
149 define Package
/hostapd
/Default
153 TITLE
:=IEEE
802.1x Authenticator
154 URL
:=http
://hostap.epitest.fi
/
155 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
156 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
157 USERID
:=network
=101:network
=101
159 CONFLICTS
:=$(HOSTAPD_PROVIDERS
)
160 HOSTAPD_PROVIDERS
+=$(1)
163 define Package
/hostapd
164 $(call Package
/hostapd
/Default
,$(1))
165 TITLE
+= (built-in full
)
166 VARIANT
:=full-internal
169 define Package
/hostapd
/description
170 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
174 define Package
/hostapd-openssl
175 $(call Package
/hostapd
/Default
,$(1))
176 TITLE
+= (OpenSSL full
)
177 VARIANT
:=full-openssl
178 DEPENDS
+=$(OPENSSL_DEPENDS
)
181 Package
/hostapd-openssl
/description
= $(Package
/hostapd
/description
)
183 define Package
/hostapd-wolfssl
184 $(call Package
/hostapd
/Default
,$(1))
185 TITLE
+= (wolfSSL full
)
186 VARIANT
:=full-wolfssl
187 DEPENDS
+=+PACKAGE_hostapd-wolfssl
:libwolfssl
190 Package
/hostapd-wolfssl
/description
= $(Package
/hostapd
/description
)
192 define Package
/hostapd-mbedtls
193 $(call Package
/hostapd
/Default
,$(1))
194 TITLE
+= (mbedTLS full
)
195 VARIANT
:=full-mbedtls
196 DEPENDS
+=+PACKAGE_hostapd-mbedtls
:libmbedtls
199 Package
/hostapd-mbedtls
/description
= $(Package
/hostapd
/description
)
201 define Package
/hostapd-basic
202 $(call Package
/hostapd
/Default
,$(1))
203 TITLE
+= (WPA-PSK
, 11r
, 11w
)
207 define Package
/hostapd-basic
/description
208 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
211 define Package
/hostapd-basic-openssl
212 $(call Package
/hostapd
/Default
,$(1))
213 TITLE
+= (WPA-PSK
, 11r and
11w
)
214 VARIANT
:=basic-openssl
215 DEPENDS
+=+PACKAGE_hostapd-basic-openssl
:libopenssl
218 define Package
/hostapd-basic-openssl
/description
219 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
222 define Package
/hostapd-basic-wolfssl
223 $(call Package
/hostapd
/Default
,$(1))
224 TITLE
+= (WPA-PSK
, 11r and
11w
)
225 VARIANT
:=basic-wolfssl
226 DEPENDS
+=+PACKAGE_hostapd-basic-wolfssl
:libwolfssl
229 define Package
/hostapd-basic-wolfssl
/description
230 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
233 define Package
/hostapd-basic-mbedtls
234 $(call Package
/hostapd
/Default
,$(1))
235 TITLE
+= (WPA-PSK
, 11r and
11w
)
236 VARIANT
:=basic-mbedtls
237 DEPENDS
+=+PACKAGE_hostapd-basic-mbedtls
:libmbedtls
240 define Package
/hostapd-basic-mbedtls
/description
241 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
244 define Package
/hostapd-mini
245 $(call Package
/hostapd
/Default
,$(1))
246 TITLE
+= (WPA-PSK only
)
250 define Package
/hostapd-mini
/description
251 This package contains a minimal IEEE
802.1x
/WPA Authenticator
(WPA-PSK only
).
255 define Package
/wpad
/Default
259 TITLE
:=IEEE
802.1x Auth
/Supplicant
260 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
261 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
262 USERID
:=network
=101:network
=101
263 URL
:=http
://hostap.epitest.fi
/
264 PROVIDES
:=hostapd wpa-supplicant
265 CONFLICTS
:=$(HOSTAPD_PROVIDERS
) $(SUPPLICANT_PROVIDERS
)
266 HOSTAPD_PROVIDERS
+=$(1)
267 SUPPLICANT_PROVIDERS
+=$(1)
271 $(call Package
/wpad
/Default
,$(1))
272 TITLE
+= (built-in full
)
273 VARIANT
:=wpad-full-internal
276 define Package
/wpad
/description
277 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
278 Authenticator and Supplicant
281 define Package
/wpad-openssl
282 $(call Package
/wpad
/Default
,$(1))
283 TITLE
+= (OpenSSL full
)
284 VARIANT
:=wpad-full-openssl
285 DEPENDS
+=$(OPENSSL_DEPENDS
)
288 Package
/wpad-openssl
/description
= $(Package
/wpad
/description
)
290 define Package
/wpad-wolfssl
291 $(call Package
/wpad
/Default
,$(1))
292 TITLE
+= (wolfSSL full
)
293 VARIANT
:=wpad-full-wolfssl
294 DEPENDS
+=+PACKAGE_wpad-wolfssl
:libwolfssl
297 Package
/wpad-wolfssl
/description
= $(Package
/wpad
/description
)
299 define Package
/wpad-mbedtls
300 $(call Package
/wpad
/Default
,$(1))
301 TITLE
+= (mbedTLS full
)
302 VARIANT
:=wpad-full-mbedtls
303 DEPENDS
+=+PACKAGE_wpad-mbedtls
:libmbedtls
306 Package
/wpad-mbedtls
/description
= $(Package
/wpad
/description
)
308 define Package
/wpad-basic
309 $(call Package
/wpad
/Default
,$(1))
310 TITLE
+= (WPA-PSK
, 11r
, 11w
)
314 define Package
/wpad-basic
/description
315 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, 802.11r and
802.11w support.
318 define Package
/wpad-basic-openssl
319 $(call Package
/wpad
/Default
,$(1))
320 TITLE
+= (OpenSSL
, 11r
, 11w
)
321 VARIANT
:=wpad-basic-openssl
322 DEPENDS
+=$(OPENSSL_DEPENDS
)
325 define Package
/wpad-basic-openssl
/description
326 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
329 define Package
/wpad-basic-wolfssl
330 $(call Package
/wpad
/Default
,$(1))
331 TITLE
+= (wolfSSL
, 11r
, 11w
)
332 VARIANT
:=wpad-basic-wolfssl
333 DEPENDS
+=+PACKAGE_wpad-basic-wolfssl
:libwolfssl
336 define Package
/wpad-basic-wolfssl
/description
337 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
340 define Package
/wpad-basic-mbedtls
341 $(call Package
/wpad
/Default
,$(1))
342 TITLE
+= (mbedTLS
, 11r
, 11w
)
343 VARIANT
:=wpad-basic-mbedtls
344 DEPENDS
+=+PACKAGE_wpad-basic-mbedtls
:libmbedtls
347 define Package
/wpad-basic-mbedtls
/description
348 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
351 define Package
/wpad-mini
352 $(call Package
/wpad
/Default
,$(1))
353 TITLE
+= (WPA-PSK only
)
357 define Package
/wpad-mini
/description
358 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(WPA-PSK only
).
361 define Package
/wpad-mesh
362 $(call Package
/wpad
/Default
,$(1))
363 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
364 PROVIDES
+=wpa-supplicant-mesh wpad-mesh
367 define Package
/wpad-mesh
/description
368 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(with
802.11s mesh and SAE support
).
371 define Package
/wpad-mesh-openssl
372 $(call Package
/wpad-mesh
,$(1))
373 TITLE
+= (OpenSSL
, 11s
, SAE
)
374 DEPENDS
+=$(OPENSSL_DEPENDS
)
375 VARIANT
:=wpad-mesh-openssl
378 Package
/wpad-mesh-openssl
/description
= $(Package
/wpad-mesh
/description
)
380 define Package
/wpad-mesh-wolfssl
381 $(call Package
/wpad-mesh
,$(1))
382 TITLE
+= (wolfSSL
, 11s
, SAE
)
383 DEPENDS
+=+PACKAGE_wpad-mesh-wolfssl
:libwolfssl
384 VARIANT
:=wpad-mesh-wolfssl
387 Package
/wpad-mesh-wolfssl
/description
= $(Package
/wpad-mesh
/description
)
389 define Package
/wpad-mesh-mbedtls
390 $(call Package
/wpad-mesh
,$(1))
391 TITLE
+= (mbedTLS
, 11s
, SAE
)
392 DEPENDS
+=+PACKAGE_wpad-mesh-mbedtls
:libmbedtls
393 VARIANT
:=wpad-mesh-mbedtls
396 Package
/wpad-mesh-mbedtls
/description
= $(Package
/wpad-mesh
/description
)
399 define Package
/wpa-supplicant
/Default
403 TITLE
:=WPA Supplicant
404 URL
:=http
://hostap.epitest.fi
/wpa_supplicant
/
405 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
$(CORE_DEPENDS
)
406 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
407 USERID
:=network
=101:network
=101
408 PROVIDES
:=wpa-supplicant
409 CONFLICTS
:=$(SUPPLICANT_PROVIDERS
)
410 SUPPLICANT_PROVIDERS
+=$(1)
413 define Package
/wpa-supplicant
414 $(call Package
/wpa-supplicant
/Default
,$(1))
415 TITLE
+= (built-in full
)
416 VARIANT
:=supplicant-full-internal
419 define Package
/wpa-supplicant-openssl
420 $(call Package
/wpa-supplicant
/Default
,$(1))
421 TITLE
+= (OpenSSL full
)
422 VARIANT
:=supplicant-full-openssl
423 DEPENDS
+=$(OPENSSL_DEPENDS
)
426 define Package
/wpa-supplicant-wolfssl
427 $(call Package
/wpa-supplicant
/Default
,$(1))
428 TITLE
+= (wolfSSL full
)
429 VARIANT
:=supplicant-full-wolfssl
430 DEPENDS
+=+PACKAGE_wpa-supplicant-wolfssl
:libwolfssl
433 define Package
/wpa-supplicant-mbedtls
434 $(call Package
/wpa-supplicant
/Default
,$(1))
435 TITLE
+= (mbedTLS full
)
436 VARIANT
:=supplicant-full-mbedtls
437 DEPENDS
+=+PACKAGE_wpa-supplicant-mbedtls
:libmbedtls
440 define Package
/wpa-supplicant
/config
441 source
"$(SOURCE)/Config.in"
444 define Package
/wpa-supplicant-p2p
445 $(call Package
/wpa-supplicant
/Default
,$(1))
446 TITLE
+= (Wi-Fi P2P support
)
447 DEPENDS
+=@PACKAGE_kmod-cfg80211
448 VARIANT
:=supplicant-p2p-internal
451 define Package
/wpa-supplicant-mesh
/Default
452 $(call Package
/wpa-supplicant
/Default
,$(1))
453 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
454 PROVIDES
+=wpa-supplicant-mesh
457 define Package
/wpa-supplicant-mesh-openssl
458 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
459 TITLE
+= (OpenSSL
, 11s
, SAE
)
460 VARIANT
:=supplicant-mesh-openssl
461 DEPENDS
+=$(OPENSSL_DEPENDS
)
464 define Package
/wpa-supplicant-mesh-wolfssl
465 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
466 TITLE
+= (wolfSSL
, 11s
, SAE
)
467 VARIANT
:=supplicant-mesh-wolfssl
468 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-wolfssl
:libwolfssl
471 define Package
/wpa-supplicant-mesh-mbedtls
472 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
473 TITLE
+= (mbedTLS
, 11s
, SAE
)
474 VARIANT
:=supplicant-mesh-mbedtls
475 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-mbedtls
:libmbedtls
478 define Package
/wpa-supplicant-basic
479 $(call Package
/wpa-supplicant
/Default
,$(1))
481 VARIANT
:=supplicant-basic
484 define Package
/wpa-supplicant-mini
485 $(call Package
/wpa-supplicant
/Default
,$(1))
487 VARIANT
:=supplicant-mini
491 define Package
/hostapd-common
492 TITLE
:=hostapd
/wpa_supplicant common support files
498 define Package
/hostapd-utils
502 TITLE
:=IEEE
802.1x Authenticator
(utils
)
503 URL
:=http
://hostap.epitest.fi
/
504 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(HOSTAPD_PROVIDERS
),PACKAGE_
$(pkg
)))
508 define Package
/hostapd-utils
/description
509 This package contains a command line utility to control the
510 IEEE
802.1x
/WPA
/EAP
/RADIUS Authenticator.
513 define Package
/wpa-cli
517 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(SUPPLICANT_PROVIDERS
),PACKAGE_
$(pkg
)))
518 TITLE
:=WPA Supplicant command line control utility
522 define Package
/eapol-test
/Default
523 TITLE
:=802.1x auth
test utility
527 DEPENDS
:=$(DRV_DEPENDS
) $(CORE_DEPENDS
)
530 define Package
/eapol-test
531 $(call Package
/eapol-test
/Default
,$(1))
532 TITLE
+= (built-in full
)
533 VARIANT
:=supplicant-full-internal
536 define Package
/eapol-test-openssl
537 $(call Package
/eapol-test
/Default
,$(1))
538 TITLE
+= (OpenSSL full
)
539 VARIANT
:=supplicant-full-openssl
540 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(EAPOL_TEST_PROVIDERS
))
541 DEPENDS
+=$(OPENSSL_DEPENDS
)
545 define Package
/eapol-test-wolfssl
546 $(call Package
/eapol-test
/Default
,$(1))
547 TITLE
+= (wolfSSL full
)
548 VARIANT
:=supplicant-full-wolfssl
549 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-wolfssl
,$(EAPOL_TEST_PROVIDERS
)))
550 DEPENDS
+=+PACKAGE_eapol-test-wolfssl
:libwolfssl
554 define Package
/eapol-test-mbedtls
555 $(call Package
/eapol-test
/Default
,$(1))
556 TITLE
+= (mbedTLS full
)
557 VARIANT
:=supplicant-full-mbedtls
558 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-mbedtls
,$(EAPOL_TEST_PROVIDERS
)))
559 DEPENDS
+=+PACKAGE_eapol-test-mbedtls
:libmbedtls
564 ifneq ($(wildcard $(PKG_BUILD_DIR
)/.config_
*),$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
)))
565 define Build
/Configure
/rebuild
566 $(FIND
) $(PKG_BUILD_DIR
) -name \
*.o
-or
-name \
*.a |
$(XARGS
) rm -f
567 rm -f
$(PKG_BUILD_DIR
)/hostapd
/hostapd
568 rm -f
$(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
569 rm -f
$(PKG_BUILD_DIR
)/.config_
*
570 touch
$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
))
574 define Build
/Configure
575 $(Build
/Configure
/rebuild
)
576 $(if
$(wildcard .
/files
/hostapd-
$(CONFIG_VARIANT
).config
), \
577 $(CP
) .
/files
/hostapd-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/hostapd
/.config \
579 $(if
$(wildcard .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
), \
580 $(CP
) .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/wpa_supplicant
/.config
585 -I
$(STAGING_DIR
)/usr
/include/libnl-tiny \
586 -I
$(PKG_BUILD_DIR
)/src
/crypto \
590 $(if
$(CONFIG_WPA_MSG_MIN_PRIORITY
),-DCONFIG_MSG_MIN_PRIORITY
=$(CONFIG_WPA_MSG_MIN_PRIORITY
))
592 TARGET_LDFLAGS
+= -lubox
-lubus
-lblobmsg_json
-lucode
594 ifdef CONFIG_PACKAGE_kmod-cfg80211
595 TARGET_LDFLAGS
+= -lm
-lnl-tiny
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 Install
/hostapd
710 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
711 $(INSTALL_DATA
) .
/files
/hostapd.uc
$(1)/usr
/share
/hostap
/
712 $(if
$(findstring full
,$(CONFIG_VARIANT
)),$(Install
/hostapd
/full
))
715 define Install
/supplicant
716 $(INSTALL_DIR
) $(1)/usr
/sbin
$(1)/usr
/share
/hostap
717 $(INSTALL_DATA
) .
/files
/wpa_supplicant.uc
$(1)/usr
/share
/hostap
/
720 define Package
/hostapd-common
/install
721 $(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
722 $(INSTALL_BIN
) .
/files
/dhcp-get-server.sh
$(1)/lib
/netifd
/dhcp-get-server.sh
723 $(INSTALL_DATA
) .
/files
/hostapd.sh
$(1)/lib
/netifd
/hostapd.sh
724 $(INSTALL_BIN
) .
/files
/wpad.init
$(1)/etc
/init.d
/wpad
725 $(INSTALL_BIN
) .
/files
/wps-hotplug.sh
$(1)/etc
/rc.button
/wps
726 $(INSTALL_DATA
) .
/files
/wpad_acl.json
$(1)/usr
/share
/acl.d
727 $(INSTALL_DATA
) .
/files
/wpad.json
$(1)/etc
/capabilities
728 $(INSTALL_DATA
) .
/files
/common.uc
$(1)/usr
/share
/hostap
/
729 $(INSTALL_DATA
) .
/files
/wdev.uc
$(1)/usr
/share
/hostap
/
732 define Package
/hostapd
/install
733 $(call Install
/hostapd
,$(1))
734 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd
$(1)/usr
/sbin
/
736 Package
/hostapd-basic
/install = $(Package
/hostapd
/install)
737 Package
/hostapd-basic-openssl
/install = $(Package
/hostapd
/install)
738 Package
/hostapd-basic-wolfssl
/install = $(Package
/hostapd
/install)
739 Package
/hostapd-basic-mbedtls
/install = $(Package
/hostapd
/install)
740 Package
/hostapd-mini
/install = $(Package
/hostapd
/install)
741 Package
/hostapd-openssl
/install = $(Package
/hostapd
/install)
742 Package
/hostapd-wolfssl
/install = $(Package
/hostapd
/install)
743 Package
/hostapd-mbedtls
/install = $(Package
/hostapd
/install)
745 ifneq ($(LOCAL_TYPE
),supplicant
)
746 define Package
/hostapd-utils
/install
747 $(INSTALL_DIR
) $(1)/usr
/sbin
748 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd_cli
$(1)/usr
/sbin
/
752 define Package
/wpad
/install
753 $(call Install
/hostapd
,$(1))
754 $(call Install
/supplicant
,$(1))
755 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpad
$(1)/usr
/sbin
/
756 $(LN
) wpad
$(1)/usr
/sbin
/hostapd
757 $(LN
) wpad
$(1)/usr
/sbin
/wpa_supplicant
759 Package
/wpad-basic
/install = $(Package
/wpad
/install)
760 Package
/wpad-basic-openssl
/install = $(Package
/wpad
/install)
761 Package
/wpad-basic-wolfssl
/install = $(Package
/wpad
/install)
762 Package
/wpad-basic-mbedtls
/install = $(Package
/wpad
/install)
763 Package
/wpad-mini
/install = $(Package
/wpad
/install)
764 Package
/wpad-openssl
/install = $(Package
/wpad
/install)
765 Package
/wpad-wolfssl
/install = $(Package
/wpad
/install)
766 Package
/wpad-mbedtls
/install = $(Package
/wpad
/install)
767 Package
/wpad-mesh-openssl
/install = $(Package
/wpad
/install)
768 Package
/wpad-mesh-wolfssl
/install = $(Package
/wpad
/install)
769 Package
/wpad-mesh-mbedtls
/install = $(Package
/wpad
/install)
771 define Package
/wpa-supplicant
/install
772 $(call Install
/supplicant
,$(1))
773 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
$(1)/usr
/sbin
/
775 Package
/wpa-supplicant-basic
/install = $(Package
/wpa-supplicant
/install)
776 Package
/wpa-supplicant-mini
/install = $(Package
/wpa-supplicant
/install)
777 Package
/wpa-supplicant-p2p
/install = $(Package
/wpa-supplicant
/install)
778 Package
/wpa-supplicant-openssl
/install = $(Package
/wpa-supplicant
/install)
779 Package
/wpa-supplicant-wolfssl
/install = $(Package
/wpa-supplicant
/install)
780 Package
/wpa-supplicant-mbedtls
/install = $(Package
/wpa-supplicant
/install)
781 Package
/wpa-supplicant-mesh-openssl
/install = $(Package
/wpa-supplicant
/install)
782 Package
/wpa-supplicant-mesh-wolfssl
/install = $(Package
/wpa-supplicant
/install)
783 Package
/wpa-supplicant-mesh-mbedtls
/install = $(Package
/wpa-supplicant
/install)
785 ifneq ($(LOCAL_TYPE
),hostapd
)
786 define Package
/wpa-cli
/install
787 $(INSTALL_DIR
) $(1)/usr
/sbin
788 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_cli
$(1)/usr
/sbin
/
792 ifeq ($(BUILD_VARIANT
),supplicant-full-internal
)
793 define Package
/eapol-test
/install
794 $(INSTALL_DIR
) $(1)/usr
/sbin
795 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
799 ifeq ($(BUILD_VARIANT
),supplicant-full-openssl
)
800 define Package
/eapol-test-openssl
/install
801 $(INSTALL_DIR
) $(1)/usr
/sbin
802 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
806 ifeq ($(BUILD_VARIANT
),supplicant-full-wolfssl
)
807 define Package
/eapol-test-wolfssl
/install
808 $(INSTALL_DIR
) $(1)/usr
/sbin
809 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
813 ifeq ($(BUILD_VARIANT
),supplicant-full-mbedtls
)
814 define Package
/eapol-test-mbedtls
/install
815 $(INSTALL_DIR
) $(1)/usr
/sbin
816 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
820 # Build hostapd-common before its dependents, to avoid
821 # spurious rebuilds when building multiple variants.
822 $(eval
$(call BuildPackage
,hostapd-common
))
823 $(eval
$(call BuildPackage
,hostapd
))
824 $(eval
$(call BuildPackage
,hostapd-basic
))
825 $(eval
$(call BuildPackage
,hostapd-basic-openssl
))
826 $(eval
$(call BuildPackage
,hostapd-basic-wolfssl
))
827 $(eval
$(call BuildPackage
,hostapd-basic-mbedtls
))
828 $(eval
$(call BuildPackage
,hostapd-mini
))
829 $(eval
$(call BuildPackage
,hostapd-openssl
))
830 $(eval
$(call BuildPackage
,hostapd-wolfssl
))
831 $(eval
$(call BuildPackage
,hostapd-mbedtls
))
832 $(eval
$(call BuildPackage
,wpad
))
833 $(eval
$(call BuildPackage
,wpad-mesh-openssl
))
834 $(eval
$(call BuildPackage
,wpad-mesh-wolfssl
))
835 $(eval
$(call BuildPackage
,wpad-mesh-mbedtls
))
836 $(eval
$(call BuildPackage
,wpad-basic
))
837 $(eval
$(call BuildPackage
,wpad-basic-openssl
))
838 $(eval
$(call BuildPackage
,wpad-basic-wolfssl
))
839 $(eval
$(call BuildPackage
,wpad-basic-mbedtls
))
840 $(eval
$(call BuildPackage
,wpad-mini
))
841 $(eval
$(call BuildPackage
,wpad-openssl
))
842 $(eval
$(call BuildPackage
,wpad-wolfssl
))
843 $(eval
$(call BuildPackage
,wpad-mbedtls
))
844 $(eval
$(call BuildPackage
,wpa-supplicant
))
845 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-openssl
))
846 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-wolfssl
))
847 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-mbedtls
))
848 $(eval
$(call BuildPackage
,wpa-supplicant-basic
))
849 $(eval
$(call BuildPackage
,wpa-supplicant-mini
))
850 $(eval
$(call BuildPackage
,wpa-supplicant-p2p
))
851 $(eval
$(call BuildPackage
,wpa-supplicant-openssl
))
852 $(eval
$(call BuildPackage
,wpa-supplicant-wolfssl
))
853 $(eval
$(call BuildPackage
,wpa-supplicant-mbedtls
))
854 $(eval
$(call BuildPackage
,wpa-cli
))
855 $(eval
$(call BuildPackage
,hostapd-utils
))
856 $(eval
$(call BuildPackage
,eapol-test
))
857 $(eval
$(call BuildPackage
,eapol-test-openssl
))
858 $(eval
$(call BuildPackage
,eapol-test-wolfssl
))
859 $(eval
$(call BuildPackage
,eapol-test-mbedtls
))