1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2006-2021 OpenWrt.org
5 include $(TOPDIR
)/rules.mk
8 PKG_RELEASE
:=$(AUTORELEASE
).2
10 PKG_SOURCE_URL
:=http
://w1.fi
/hostap.git
12 PKG_SOURCE_DATE
:=2022-07-29
13 PKG_SOURCE_VERSION
:=b704dc72ef824dfdd96674b90179b274d1d38105
14 PKG_MIRROR_HASH
:=6c9dd359ef5a4595b6576e07928566d6864957c4af6466d641d6c3f7717f4689
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_WEXT_SUPPORT \
31 CONFIG_DRIVER_11AC_SUPPORT \
32 CONFIG_DRIVER_11AX_SUPPORT \
35 PKG_BUILD_FLAGS
:=gc-sections
37 EAPOL_TEST_PROVIDERS
:=eapol-test eapol-test-openssl eapol-test-wolfssl
39 SUPPLICANT_PROVIDERS
:=
43 $(if
$(findstring wpad
,$(BUILD_VARIANT
)),wpad
, \
44 $(if
$(findstring supplicant
,$(BUILD_VARIANT
)),supplicant
, \
48 LOCAL_AND_LIB_VARIANT
=$(patsubst hostapd-
%,%,\
50 $(patsubst supplicant-
%,%,\
54 LOCAL_VARIANT
=$(patsubst %-internal
,%,\
55 $(patsubst %-openssl
,%,\
56 $(patsubst %-wolfssl
,%,\
57 $(patsubst %-mbedtls
,%,\
58 $(LOCAL_AND_LIB_VARIANT
)\
62 $(if
$(findstring openssl
,$(LOCAL_AND_LIB_VARIANT
)),openssl
,\
63 $(if
$(findstring wolfssl
,$(LOCAL_AND_LIB_VARIANT
)),wolfssl
,\
64 $(if
$(findstring mbedtls
,$(LOCAL_AND_LIB_VARIANT
)),mbedtls
,\
68 CONFIG_VARIANT
:=$(LOCAL_VARIANT
)
69 ifeq ($(LOCAL_VARIANT
),mesh
)
73 include $(INCLUDE_DIR
)/package.mk
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
86 CONFIG_ACS
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
87 CONFIG_DRIVER_NL80211
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
88 CONFIG_IEEE80211AC
=$(HOSTAPD_IEEE80211AC
) \
89 CONFIG_IEEE80211AX
=$(HOSTAPD_IEEE80211AX
) \
90 CONFIG_DRIVER_WEXT
=$(CONFIG_DRIVER_WEXT_SUPPORT
) \
91 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
:=+PACKAGE_kmod-cfg80211
:libnl-tiny
147 define Package
/hostapd
/Default
151 TITLE
:=IEEE
802.1x Authenticator
152 URL
:=http
://hostap.epitest.fi
/
153 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
+libubus
154 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
155 USERID
:=network
=101:network
=101
157 CONFLICTS
:=$(HOSTAPD_PROVIDERS
)
158 HOSTAPD_PROVIDERS
+=$(1)
161 define Package
/hostapd
162 $(call Package
/hostapd
/Default
,$(1))
163 TITLE
+= (built-in full
)
164 VARIANT
:=full-internal
167 define Package
/hostapd
/description
168 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
172 define Package
/hostapd-openssl
173 $(call Package
/hostapd
/Default
,$(1))
174 TITLE
+= (OpenSSL full
)
175 VARIANT
:=full-openssl
176 DEPENDS
+=+PACKAGE_hostapd-openssl
:libopenssl
179 Package
/hostapd-openssl
/description
= $(Package
/hostapd
/description
)
181 define Package
/hostapd-wolfssl
182 $(call Package
/hostapd
/Default
,$(1))
183 TITLE
+= (wolfSSL full
)
184 VARIANT
:=full-wolfssl
185 DEPENDS
+=+PACKAGE_hostapd-wolfssl
:libwolfssl
188 Package
/hostapd-wolfssl
/description
= $(Package
/hostapd
/description
)
190 define Package
/hostapd-mbedtls
191 $(call Package
/hostapd
/Default
,$(1))
192 TITLE
+= (mbedTLS full
)
193 VARIANT
:=full-mbedtls
194 DEPENDS
+=+PACKAGE_hostapd-mbedtls
:libmbedtls
197 Package
/hostapd-mbedtls
/description
= $(Package
/hostapd
/description
)
199 define Package
/hostapd-basic
200 $(call Package
/hostapd
/Default
,$(1))
201 TITLE
+= (WPA-PSK
, 11r
, 11w
)
205 define Package
/hostapd-basic
/description
206 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
209 define Package
/hostapd-basic-openssl
210 $(call Package
/hostapd
/Default
,$(1))
211 TITLE
+= (WPA-PSK
, 11r and
11w
)
212 VARIANT
:=basic-openssl
213 DEPENDS
+=+PACKAGE_hostapd-basic-openssl
:libopenssl
216 define Package
/hostapd-basic-openssl
/description
217 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
220 define Package
/hostapd-basic-wolfssl
221 $(call Package
/hostapd
/Default
,$(1))
222 TITLE
+= (WPA-PSK
, 11r and
11w
)
223 VARIANT
:=basic-wolfssl
224 DEPENDS
+=+PACKAGE_hostapd-basic-wolfssl
:libwolfssl
227 define Package
/hostapd-basic-wolfssl
/description
228 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
231 define Package
/hostapd-basic-mbedtls
232 $(call Package
/hostapd
/Default
,$(1))
233 TITLE
+= (WPA-PSK
, 11r and
11w
)
234 VARIANT
:=basic-mbedtls
235 DEPENDS
+=+PACKAGE_hostapd-basic-mbedtls
:libmbedtls
238 define Package
/hostapd-basic-mbedtls
/description
239 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
242 define Package
/hostapd-mini
243 $(call Package
/hostapd
/Default
,$(1))
244 TITLE
+= (WPA-PSK only
)
248 define Package
/hostapd-mini
/description
249 This package contains a minimal IEEE
802.1x
/WPA Authenticator
(WPA-PSK only
).
253 define Package
/wpad
/Default
257 TITLE
:=IEEE
802.1x Auth
/Supplicant
258 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
+libubus
259 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
260 USERID
:=network
=101:network
=101
261 URL
:=http
://hostap.epitest.fi
/
262 PROVIDES
:=hostapd wpa-supplicant
263 CONFLICTS
:=$(HOSTAPD_PROVIDERS
) $(SUPPLICANT_PROVIDERS
)
264 HOSTAPD_PROVIDERS
+=$(1)
265 SUPPLICANT_PROVIDERS
+=$(1)
269 $(call Package
/wpad
/Default
,$(1))
270 TITLE
+= (built-in full
)
271 VARIANT
:=wpad-full-internal
274 define Package
/wpad
/description
275 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
276 Authenticator and Supplicant
279 define Package
/wpad-openssl
280 $(call Package
/wpad
/Default
,$(1))
281 TITLE
+= (OpenSSL full
)
282 VARIANT
:=wpad-full-openssl
283 DEPENDS
+=+PACKAGE_wpad-openssl
:libopenssl
286 Package
/wpad-openssl
/description
= $(Package
/wpad
/description
)
288 define Package
/wpad-wolfssl
289 $(call Package
/wpad
/Default
,$(1))
290 TITLE
+= (wolfSSL full
)
291 VARIANT
:=wpad-full-wolfssl
292 DEPENDS
+=+PACKAGE_wpad-wolfssl
:libwolfssl
295 Package
/wpad-wolfssl
/description
= $(Package
/wpad
/description
)
297 define Package
/wpad-mbedtls
298 $(call Package
/wpad
/Default
,$(1))
299 TITLE
+= (mbedTLS full
)
300 VARIANT
:=wpad-full-mbedtls
301 DEPENDS
+=+PACKAGE_wpad-mbedtls
:libmbedtls
304 Package
/wpad-mbedtls
/description
= $(Package
/wpad
/description
)
306 define Package
/wpad-basic
307 $(call Package
/wpad
/Default
,$(1))
308 TITLE
+= (WPA-PSK
, 11r
, 11w
)
312 define Package
/wpad-basic
/description
313 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, 802.11r and
802.11w support.
316 define Package
/wpad-basic-openssl
317 $(call Package
/wpad
/Default
,$(1))
318 TITLE
+= (OpenSSL
, 11r
, 11w
)
319 VARIANT
:=wpad-basic-openssl
320 DEPENDS
+=+PACKAGE_wpad-basic-openssl
:libopenssl
323 define Package
/wpad-basic-openssl
/description
324 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
327 define Package
/wpad-basic-wolfssl
328 $(call Package
/wpad
/Default
,$(1))
329 TITLE
+= (wolfSSL
, 11r
, 11w
)
330 VARIANT
:=wpad-basic-wolfssl
331 DEPENDS
+=+PACKAGE_wpad-basic-wolfssl
:libwolfssl
334 define Package
/wpad-basic-wolfssl
/description
335 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
338 define Package
/wpad-basic-mbedtls
339 $(call Package
/wpad
/Default
,$(1))
340 TITLE
+= (mbedTLS
, 11r
, 11w
)
341 VARIANT
:=wpad-basic-mbedtls
342 DEPENDS
+=+PACKAGE_wpad-basic-mbedtls
:libmbedtls
345 define Package
/wpad-basic-mbedtls
/description
346 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
349 define Package
/wpad-mini
350 $(call Package
/wpad
/Default
,$(1))
351 TITLE
+= (WPA-PSK only
)
355 define Package
/wpad-mini
/description
356 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(WPA-PSK only
).
359 define Package
/wpad-mesh
360 $(call Package
/wpad
/Default
,$(1))
361 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
362 PROVIDES
+=wpa-supplicant-mesh wpad-mesh
365 define Package
/wpad-mesh
/description
366 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(with
802.11s mesh and SAE support
).
369 define Package
/wpad-mesh-openssl
370 $(call Package
/wpad-mesh
,$(1))
371 TITLE
+= (OpenSSL
, 11s
, SAE
)
372 DEPENDS
+=+PACKAGE_wpad-mesh-openssl
:libopenssl
373 VARIANT
:=wpad-mesh-openssl
376 Package
/wpad-mesh-openssl
/description
= $(Package
/wpad-mesh
/description
)
378 define Package
/wpad-mesh-wolfssl
379 $(call Package
/wpad-mesh
,$(1))
380 TITLE
+= (wolfSSL
, 11s
, SAE
)
381 DEPENDS
+=+PACKAGE_wpad-mesh-wolfssl
:libwolfssl
382 VARIANT
:=wpad-mesh-wolfssl
385 Package
/wpad-mesh-wolfssl
/description
= $(Package
/wpad-mesh
/description
)
387 define Package
/wpad-mesh-mbedtls
388 $(call Package
/wpad-mesh
,$(1))
389 TITLE
+= (mbedTLS
, 11s
, SAE
)
390 DEPENDS
+=+PACKAGE_wpad-mesh-mbedtls
:libmbedtls
391 VARIANT
:=wpad-mesh-mbedtls
394 Package
/wpad-mesh-mbedtls
/description
= $(Package
/wpad-mesh
/description
)
397 define Package
/wpa-supplicant
/Default
401 TITLE
:=WPA Supplicant
402 URL
:=http
://hostap.epitest.fi
/wpa_supplicant
/
403 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
+libubus
404 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
405 USERID
:=network
=101:network
=101
406 PROVIDES
:=wpa-supplicant
407 CONFLICTS
:=$(SUPPLICANT_PROVIDERS
)
408 SUPPLICANT_PROVIDERS
+=$(1)
411 define Package
/wpa-supplicant
412 $(call Package
/wpa-supplicant
/Default
,$(1))
413 TITLE
+= (built-in full
)
414 VARIANT
:=supplicant-full-internal
417 define Package
/wpa-supplicant-openssl
418 $(call Package
/wpa-supplicant
/Default
,$(1))
419 TITLE
+= (OpenSSL full
)
420 VARIANT
:=supplicant-full-openssl
421 DEPENDS
+=+PACKAGE_wpa-supplicant-openssl
:libopenssl
424 define Package
/wpa-supplicant-wolfssl
425 $(call Package
/wpa-supplicant
/Default
,$(1))
426 TITLE
+= (wolfSSL full
)
427 VARIANT
:=supplicant-full-wolfssl
428 DEPENDS
+=+PACKAGE_wpa-supplicant-wolfssl
:libwolfssl
431 define Package
/wpa-supplicant-mbedtls
432 $(call Package
/wpa-supplicant
/Default
,$(1))
433 TITLE
+= (mbedTLS full
)
434 VARIANT
:=supplicant-full-mbedtls
435 DEPENDS
+=+PACKAGE_wpa-supplicant-mbedtls
:libmbedtls
438 define Package
/wpa-supplicant
/config
439 source
"$(SOURCE)/Config.in"
442 define Package
/wpa-supplicant-p2p
443 $(call Package
/wpa-supplicant
/Default
,$(1))
444 TITLE
+= (Wi-Fi P2P support
)
445 DEPENDS
+=@PACKAGE_kmod-cfg80211
446 VARIANT
:=supplicant-p2p-internal
449 define Package
/wpa-supplicant-mesh
/Default
450 $(call Package
/wpa-supplicant
/Default
,$(1))
451 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
452 PROVIDES
+=wpa-supplicant-mesh
455 define Package
/wpa-supplicant-mesh-openssl
456 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
457 TITLE
+= (OpenSSL
, 11s
, SAE
)
458 VARIANT
:=supplicant-mesh-openssl
459 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-openssl
:libopenssl
462 define Package
/wpa-supplicant-mesh-wolfssl
463 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
464 TITLE
+= (wolfSSL
, 11s
, SAE
)
465 VARIANT
:=supplicant-mesh-wolfssl
466 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-wolfssl
:libwolfssl
469 define Package
/wpa-supplicant-mesh-mbedtls
470 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
471 TITLE
+= (mbedTLS
, 11s
, SAE
)
472 VARIANT
:=supplicant-mesh-mbedtls
473 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-mbedtls
:libmbedtls
476 define Package
/wpa-supplicant-basic
477 $(call Package
/wpa-supplicant
/Default
,$(1))
479 VARIANT
:=supplicant-basic
482 define Package
/wpa-supplicant-mini
483 $(call Package
/wpa-supplicant
/Default
,$(1))
485 VARIANT
:=supplicant-mini
489 define Package
/hostapd-common
490 TITLE
:=hostapd
/wpa_supplicant common support files
496 define Package
/hostapd-utils
500 TITLE
:=IEEE
802.1x Authenticator
(utils
)
501 URL
:=http
://hostap.epitest.fi
/
502 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(HOSTAPD_PROVIDERS
),PACKAGE_
$(pkg
)))
506 define Package
/hostapd-utils
/description
507 This package contains a command line utility to control the
508 IEEE
802.1x
/WPA
/EAP
/RADIUS Authenticator.
511 define Package
/wpa-cli
515 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(SUPPLICANT_PROVIDERS
),PACKAGE_
$(pkg
)))
516 TITLE
:=WPA Supplicant command line control utility
520 define Package
/eapol-test
/Default
521 TITLE
:=802.1x auth
test utility
525 DEPENDS
:=$(DRV_DEPENDS
) +libubus
528 define Package
/eapol-test
529 $(call Package
/eapol-test
/Default
,$(1))
530 TITLE
+= (built-in full
)
531 VARIANT
:=supplicant-full-internal
534 define Package
/eapol-test-openssl
535 $(call Package
/eapol-test
/Default
,$(1))
536 TITLE
+= (OpenSSL full
)
537 VARIANT
:=supplicant-full-openssl
538 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(EAPOL_TEST_PROVIDERS
))
539 DEPENDS
+=+PACKAGE_eapol-test-openssl
:libopenssl
543 define Package
/eapol-test-wolfssl
544 $(call Package
/eapol-test
/Default
,$(1))
545 TITLE
+= (wolfSSL full
)
546 VARIANT
:=supplicant-full-wolfssl
547 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-wolfssl
,$(EAPOL_TEST_PROVIDERS
)))
548 DEPENDS
+=+PACKAGE_eapol-test-wolfssl
:libwolfssl
552 define Package
/eapol-test-mbedtls
553 $(call Package
/eapol-test
/Default
,$(1))
554 TITLE
+= (mbedTLS full
)
555 VARIANT
:=supplicant-full-mbedtls
556 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-mbedtls
,$(EAPOL_TEST_PROVIDERS
)))
557 DEPENDS
+=+PACKAGE_eapol-test-mbedtls
:libmbedtls
562 ifneq ($(wildcard $(PKG_BUILD_DIR
)/.config_
*),$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
)))
563 define Build
/Configure
/rebuild
564 $(FIND
) $(PKG_BUILD_DIR
) -name \
*.o
-or
-name \
*.a |
$(XARGS
) rm -f
565 rm -f
$(PKG_BUILD_DIR
)/hostapd
/hostapd
566 rm -f
$(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
567 rm -f
$(PKG_BUILD_DIR
)/.config_
*
568 touch
$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
))
572 define Build
/Configure
573 $(Build
/Configure
/rebuild
)
574 $(if
$(wildcard .
/files
/hostapd-
$(CONFIG_VARIANT
).config
), \
575 $(CP
) .
/files
/hostapd-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/hostapd
/.config \
577 $(if
$(wildcard .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
), \
578 $(CP
) .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/wpa_supplicant
/.config
583 -I
$(STAGING_DIR
)/usr
/include/libnl-tiny \
584 -I
$(PKG_BUILD_DIR
)/src
/crypto \
588 $(if
$(CONFIG_WPA_MSG_MIN_PRIORITY
),-DCONFIG_MSG_MIN_PRIORITY
=$(CONFIG_WPA_MSG_MIN_PRIORITY
))
590 TARGET_CFLAGS
+= -flto
591 TARGET_LDFLAGS
+= -flto
=jobserver
-fuse-linker-plugin
-lubox
-lubus
593 ifdef CONFIG_PACKAGE_kmod-cfg80211
594 TARGET_LDFLAGS
+= -lm
-lnl-tiny
597 ifdef CONFIG_WPA_ENABLE_WEP
598 DRIVER_MAKEOPTS
+= CONFIG_WEP
=y
602 CFLAGS
="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
603 $(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
)/$(1) \
604 $(TARGET_CONFIGURE_OPTS
) \
606 LIBS
="$(TARGET_LDFLAGS)" \
607 LIBS_c
="$(TARGET_LDFLAGS_C)" \
608 AR
="$(TARGET_CROSS)gcc-ar" \
610 $(if
$(findstring s
,$(OPENWRT_VERBOSE
)),V
=1) \
614 define Build
/Compile
/wpad
616 $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \
617 $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
618 sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
619 ` > $(PKG_BUILD_DIR
)/.
cflags
620 sed
-i
's/"/\\"/g' $(PKG_BUILD_DIR
)/.
cflags
621 +$(call Build
/RunMake
,hostapd
, \
622 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
624 hostapd_cli hostapd_multi.a \
626 +$(call Build
/RunMake
,wpa_supplicant
, \
627 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
629 wpa_cli wpa_supplicant_multi.a \
631 +export MAKEFLAGS
="$(MAKE_JOBSERVER)"; $(TARGET_CC
) -o
$(PKG_BUILD_DIR
)/wpad \
633 .
/files
/multicall.c \
634 $(PKG_BUILD_DIR
)/hostapd
/hostapd_multi.a \
635 $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant_multi.a \
639 define Build
/Compile
/hostapd
640 +$(call Build
/RunMake
,hostapd
, \
641 hostapd hostapd_cli \
645 define Build
/Compile
/supplicant
646 +$(call Build
/RunMake
,wpa_supplicant
, \
647 wpa_cli wpa_supplicant \
651 define Build
/Compile
/supplicant-full-internal
652 +$(call Build
/RunMake
,wpa_supplicant
, \
657 define Build
/Compile
/supplicant-full-openssl
658 +$(call Build
/RunMake
,wpa_supplicant
, \
663 define Build
/Compile
/supplicant-full-wolfssl
664 +$(call Build
/RunMake
,wpa_supplicant
, \
669 define Build
/Compile
/supplicant-full-mbedtls
670 +$(call Build
/RunMake
,wpa_supplicant
, \
676 $(Build
/Compile
/$(LOCAL_TYPE
))
677 $(Build
/Compile
/$(BUILD_VARIANT
))
680 define Install
/hostapd
681 $(INSTALL_DIR
) $(1)/usr
/sbin
684 define Install
/supplicant
685 $(INSTALL_DIR
) $(1)/usr
/sbin
688 define Package
/hostapd-common
/install
689 $(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
690 $(INSTALL_BIN
) .
/files
/dhcp-get-server.sh
$(1)/lib
/netifd
/dhcp-get-server.sh
691 $(INSTALL_DATA
) .
/files
/hostapd.sh
$(1)/lib
/netifd
/hostapd.sh
692 $(INSTALL_BIN
) .
/files
/wpad.init
$(1)/etc
/init.d
/wpad
693 $(INSTALL_BIN
) .
/files
/wps-hotplug.sh
$(1)/etc
/rc.button
/wps
694 $(INSTALL_DATA
) .
/files
/wpad_acl.json
$(1)/usr
/share
/acl.d
695 $(INSTALL_DATA
) .
/files
/wpad.json
$(1)/etc
/capabilities
698 define Package
/hostapd
/install
699 $(call Install
/hostapd
,$(1))
700 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd
$(1)/usr
/sbin
/
702 Package
/hostapd-basic
/install = $(Package
/hostapd
/install)
703 Package
/hostapd-basic-openssl
/install = $(Package
/hostapd
/install)
704 Package
/hostapd-basic-wolfssl
/install = $(Package
/hostapd
/install)
705 Package
/hostapd-basic-mbedtls
/install = $(Package
/hostapd
/install)
706 Package
/hostapd-mini
/install = $(Package
/hostapd
/install)
707 Package
/hostapd-openssl
/install = $(Package
/hostapd
/install)
708 Package
/hostapd-wolfssl
/install = $(Package
/hostapd
/install)
709 Package
/hostapd-mbedtls
/install = $(Package
/hostapd
/install)
711 ifneq ($(LOCAL_TYPE
),supplicant
)
712 define Package
/hostapd-utils
/install
713 $(INSTALL_DIR
) $(1)/usr
/sbin
714 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd_cli
$(1)/usr
/sbin
/
718 define Package
/wpad
/install
719 $(call Install
/hostapd
,$(1))
720 $(call Install
/supplicant
,$(1))
721 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpad
$(1)/usr
/sbin
/
722 $(LN
) wpad
$(1)/usr
/sbin
/hostapd
723 $(LN
) wpad
$(1)/usr
/sbin
/wpa_supplicant
725 Package
/wpad-basic
/install = $(Package
/wpad
/install)
726 Package
/wpad-basic-openssl
/install = $(Package
/wpad
/install)
727 Package
/wpad-basic-wolfssl
/install = $(Package
/wpad
/install)
728 Package
/wpad-basic-mbedtls
/install = $(Package
/wpad
/install)
729 Package
/wpad-mini
/install = $(Package
/wpad
/install)
730 Package
/wpad-openssl
/install = $(Package
/wpad
/install)
731 Package
/wpad-wolfssl
/install = $(Package
/wpad
/install)
732 Package
/wpad-mbedtls
/install = $(Package
/wpad
/install)
733 Package
/wpad-mesh-openssl
/install = $(Package
/wpad
/install)
734 Package
/wpad-mesh-wolfssl
/install = $(Package
/wpad
/install)
735 Package
/wpad-mesh-mbedtls
/install = $(Package
/wpad
/install)
737 define Package
/wpa-supplicant
/install
738 $(call Install
/supplicant
,$(1))
739 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
$(1)/usr
/sbin
/
741 Package
/wpa-supplicant-basic
/install = $(Package
/wpa-supplicant
/install)
742 Package
/wpa-supplicant-mini
/install = $(Package
/wpa-supplicant
/install)
743 Package
/wpa-supplicant-p2p
/install = $(Package
/wpa-supplicant
/install)
744 Package
/wpa-supplicant-openssl
/install = $(Package
/wpa-supplicant
/install)
745 Package
/wpa-supplicant-wolfssl
/install = $(Package
/wpa-supplicant
/install)
746 Package
/wpa-supplicant-mbedtls
/install = $(Package
/wpa-supplicant
/install)
747 Package
/wpa-supplicant-mesh-openssl
/install = $(Package
/wpa-supplicant
/install)
748 Package
/wpa-supplicant-mesh-wolfssl
/install = $(Package
/wpa-supplicant
/install)
749 Package
/wpa-supplicant-mesh-mbedtls
/install = $(Package
/wpa-supplicant
/install)
751 ifneq ($(LOCAL_TYPE
),hostapd
)
752 define Package
/wpa-cli
/install
753 $(INSTALL_DIR
) $(1)/usr
/sbin
754 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_cli
$(1)/usr
/sbin
/
758 ifeq ($(BUILD_VARIANT
),supplicant-full-internal
)
759 define Package
/eapol-test
/install
760 $(INSTALL_DIR
) $(1)/usr
/sbin
761 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
765 ifeq ($(BUILD_VARIANT
),supplicant-full-openssl
)
766 define Package
/eapol-test-openssl
/install
767 $(INSTALL_DIR
) $(1)/usr
/sbin
768 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
772 ifeq ($(BUILD_VARIANT
),supplicant-full-wolfssl
)
773 define Package
/eapol-test-wolfssl
/install
774 $(INSTALL_DIR
) $(1)/usr
/sbin
775 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
779 ifeq ($(BUILD_VARIANT
),supplicant-full-mbedtls
)
780 define Package
/eapol-test-mbedtls
/install
781 $(INSTALL_DIR
) $(1)/usr
/sbin
782 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
786 # Build hostapd-common before its dependents, to avoid
787 # spurious rebuilds when building multiple variants.
788 $(eval
$(call BuildPackage
,hostapd-common
))
789 $(eval
$(call BuildPackage
,hostapd
))
790 $(eval
$(call BuildPackage
,hostapd-basic
))
791 $(eval
$(call BuildPackage
,hostapd-basic-openssl
))
792 $(eval
$(call BuildPackage
,hostapd-basic-wolfssl
))
793 $(eval
$(call BuildPackage
,hostapd-basic-mbedtls
))
794 $(eval
$(call BuildPackage
,hostapd-mini
))
795 $(eval
$(call BuildPackage
,hostapd-openssl
))
796 $(eval
$(call BuildPackage
,hostapd-wolfssl
))
797 $(eval
$(call BuildPackage
,hostapd-mbedtls
))
798 $(eval
$(call BuildPackage
,wpad
))
799 $(eval
$(call BuildPackage
,wpad-mesh-openssl
))
800 $(eval
$(call BuildPackage
,wpad-mesh-wolfssl
))
801 $(eval
$(call BuildPackage
,wpad-mesh-mbedtls
))
802 $(eval
$(call BuildPackage
,wpad-basic
))
803 $(eval
$(call BuildPackage
,wpad-basic-openssl
))
804 $(eval
$(call BuildPackage
,wpad-basic-wolfssl
))
805 $(eval
$(call BuildPackage
,wpad-basic-mbedtls
))
806 $(eval
$(call BuildPackage
,wpad-mini
))
807 $(eval
$(call BuildPackage
,wpad-openssl
))
808 $(eval
$(call BuildPackage
,wpad-wolfssl
))
809 $(eval
$(call BuildPackage
,wpad-mbedtls
))
810 $(eval
$(call BuildPackage
,wpa-supplicant
))
811 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-openssl
))
812 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-wolfssl
))
813 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-mbedtls
))
814 $(eval
$(call BuildPackage
,wpa-supplicant-basic
))
815 $(eval
$(call BuildPackage
,wpa-supplicant-mini
))
816 $(eval
$(call BuildPackage
,wpa-supplicant-p2p
))
817 $(eval
$(call BuildPackage
,wpa-supplicant-openssl
))
818 $(eval
$(call BuildPackage
,wpa-supplicant-wolfssl
))
819 $(eval
$(call BuildPackage
,wpa-supplicant-mbedtls
))
820 $(eval
$(call BuildPackage
,wpa-cli
))
821 $(eval
$(call BuildPackage
,hostapd-utils
))
822 $(eval
$(call BuildPackage
,eapol-test
))
823 $(eval
$(call BuildPackage
,eapol-test-openssl
))
824 $(eval
$(call BuildPackage
,eapol-test-wolfssl
))
825 $(eval
$(call BuildPackage
,eapol-test-mbedtls
))