1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2006-2021 OpenWrt.org
5 include $(TOPDIR
)/rules.mk
8 PKG_RELEASE
:=$(AUTORELEASE
).1
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 EAPOL_TEST_PROVIDERS
:=eapol-test eapol-test-openssl eapol-test-wolfssl
37 SUPPLICANT_PROVIDERS
:=
41 $(if
$(findstring wpad
,$(BUILD_VARIANT
)),wpad
, \
42 $(if
$(findstring supplicant
,$(BUILD_VARIANT
)),supplicant
, \
46 LOCAL_AND_LIB_VARIANT
=$(patsubst hostapd-
%,%,\
48 $(patsubst supplicant-
%,%,\
52 LOCAL_VARIANT
=$(patsubst %-internal
,%,\
53 $(patsubst %-openssl
,%,\
54 $(patsubst %-wolfssl
,%,\
55 $(patsubst %-mbedtls
,%,\
56 $(LOCAL_AND_LIB_VARIANT
)\
60 $(if
$(findstring openssl
,$(LOCAL_AND_LIB_VARIANT
)),openssl
,\
61 $(if
$(findstring wolfssl
,$(LOCAL_AND_LIB_VARIANT
)),wolfssl
,\
62 $(if
$(findstring mbedtls
,$(LOCAL_AND_LIB_VARIANT
)),mbedtls
,\
66 CONFIG_VARIANT
:=$(LOCAL_VARIANT
)
67 ifeq ($(LOCAL_VARIANT
),mesh
)
71 include $(INCLUDE_DIR
)/package.mk
73 STAMP_CONFIGURED
:=$(STAMP_CONFIGURED
)_
$(CONFIG_WPA_MSG_MIN_PRIORITY
)
75 ifneq ($(CONFIG_DRIVER_11AC_SUPPORT
),)
76 HOSTAPD_IEEE80211AC
:=y
79 ifneq ($(CONFIG_DRIVER_11AX_SUPPORT
),)
80 HOSTAPD_IEEE80211AX
:=y
84 CONFIG_ACS
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
85 CONFIG_DRIVER_NL80211
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
86 CONFIG_IEEE80211AC
=$(HOSTAPD_IEEE80211AC
) \
87 CONFIG_IEEE80211AX
=$(HOSTAPD_IEEE80211AX
) \
88 CONFIG_DRIVER_WEXT
=$(CONFIG_DRIVER_WEXT_SUPPORT
) \
89 CONFIG_MBO
=$(CONFIG_WPA_MBO_SUPPORT
)
91 ifeq ($(SSL_VARIANT
),openssl
)
92 DRIVER_MAKEOPTS
+= CONFIG_TLS
=openssl CONFIG_SAE
=y
93 TARGET_LDFLAGS
+= -lcrypto
-lssl
95 ifeq ($(LOCAL_VARIANT
),basic
)
96 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
98 ifeq ($(LOCAL_VARIANT
),mesh
)
99 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y
101 ifeq ($(LOCAL_VARIANT
),full
)
102 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y
106 ifeq ($(SSL_VARIANT
),wolfssl
)
107 DRIVER_MAKEOPTS
+= CONFIG_TLS
=wolfssl CONFIG_SAE
=y
108 TARGET_LDFLAGS
+= -lwolfssl
110 ifeq ($(LOCAL_VARIANT
),basic
)
111 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
113 ifeq ($(LOCAL_VARIANT
),mesh
)
114 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
116 ifeq ($(LOCAL_VARIANT
),full
)
117 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
121 ifeq ($(SSL_VARIANT
),mbedtls
)
122 DRIVER_MAKEOPTS
+= CONFIG_TLS
=mbedtls CONFIG_SAE
=y
123 TARGET_LDFLAGS
+= -lmbedcrypto
-lmbedx509
-lmbedtls
125 ifeq ($(LOCAL_VARIANT
),basic
)
126 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y
128 ifeq ($(LOCAL_VARIANT
),mesh
)
129 DRIVER_MAKEOPTS
+= CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
131 ifeq ($(LOCAL_VARIANT
),full
)
132 DRIVER_MAKEOPTS
+= CONFIG_OWE
=y CONFIG_SUITEB192
=y CONFIG_AP
=y CONFIG_MESH
=y CONFIG_WPS_NFC
=1
136 ifneq ($(LOCAL_TYPE
),hostapd
)
137 ifdef CONFIG_WPA_RFKILL_SUPPORT
138 DRIVER_MAKEOPTS
+= NEED_RFKILL
=y
142 ifdef CONFIG_USE_GLIBC
143 TARGET_LDFLAGS
+= -lrt
144 TARGET_LDFLAGS_C
+= -lrt
147 DRV_DEPENDS
:=+PACKAGE_kmod-cfg80211
:libnl-tiny
150 define Package
/hostapd
/Default
154 TITLE
:=IEEE
802.1x Authenticator
155 URL
:=http
://hostap.epitest.fi
/
156 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
+libubus
157 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
158 USERID
:=network
=101:network
=101
160 CONFLICTS
:=$(HOSTAPD_PROVIDERS
)
161 HOSTAPD_PROVIDERS
+=$(1)
164 define Package
/hostapd
165 $(call Package
/hostapd
/Default
,$(1))
166 TITLE
+= (built-in full
)
167 VARIANT
:=full-internal
170 define Package
/hostapd
/description
171 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
175 define Package
/hostapd-openssl
176 $(call Package
/hostapd
/Default
,$(1))
177 TITLE
+= (OpenSSL full
)
178 VARIANT
:=full-openssl
179 DEPENDS
+=+PACKAGE_hostapd-openssl
:libopenssl
182 Package
/hostapd-openssl
/description
= $(Package
/hostapd
/description
)
184 define Package
/hostapd-wolfssl
185 $(call Package
/hostapd
/Default
,$(1))
186 TITLE
+= (wolfSSL full
)
187 VARIANT
:=full-wolfssl
188 DEPENDS
+=+PACKAGE_hostapd-wolfssl
:libwolfssl
191 Package
/hostapd-wolfssl
/description
= $(Package
/hostapd
/description
)
193 define Package
/hostapd-mbedtls
194 $(call Package
/hostapd
/Default
,$(1))
195 TITLE
+= (mbedTLS full
)
196 VARIANT
:=full-mbedtls
197 DEPENDS
+=+PACKAGE_hostapd-mbedtls
:libmbedtls
200 Package
/hostapd-mbedtls
/description
= $(Package
/hostapd
/description
)
202 define Package
/hostapd-basic
203 $(call Package
/hostapd
/Default
,$(1))
204 TITLE
+= (WPA-PSK
, 11r
, 11w
)
208 define Package
/hostapd-basic
/description
209 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
212 define Package
/hostapd-basic-openssl
213 $(call Package
/hostapd
/Default
,$(1))
214 TITLE
+= (WPA-PSK
, 11r and
11w
)
215 VARIANT
:=basic-openssl
216 DEPENDS
+=+PACKAGE_hostapd-basic-openssl
:libopenssl
219 define Package
/hostapd-basic-openssl
/description
220 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
223 define Package
/hostapd-basic-wolfssl
224 $(call Package
/hostapd
/Default
,$(1))
225 TITLE
+= (WPA-PSK
, 11r and
11w
)
226 VARIANT
:=basic-wolfssl
227 DEPENDS
+=+PACKAGE_hostapd-basic-wolfssl
:libwolfssl
230 define Package
/hostapd-basic-wolfssl
/description
231 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
234 define Package
/hostapd-basic-mbedtls
235 $(call Package
/hostapd
/Default
,$(1))
236 TITLE
+= (WPA-PSK
, 11r and
11w
)
237 VARIANT
:=basic-mbedtls
238 DEPENDS
+=+PACKAGE_hostapd-basic-mbedtls
:libmbedtls
241 define Package
/hostapd-basic-mbedtls
/description
242 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
245 define Package
/hostapd-mini
246 $(call Package
/hostapd
/Default
,$(1))
247 TITLE
+= (WPA-PSK only
)
251 define Package
/hostapd-mini
/description
252 This package contains a minimal IEEE
802.1x
/WPA Authenticator
(WPA-PSK only
).
256 define Package
/wpad
/Default
260 TITLE
:=IEEE
802.1x Auth
/Supplicant
261 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
+libubus
262 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
263 USERID
:=network
=101:network
=101
264 URL
:=http
://hostap.epitest.fi
/
265 PROVIDES
:=hostapd wpa-supplicant
266 CONFLICTS
:=$(HOSTAPD_PROVIDERS
) $(SUPPLICANT_PROVIDERS
)
267 HOSTAPD_PROVIDERS
+=$(1)
268 SUPPLICANT_PROVIDERS
+=$(1)
272 $(call Package
/wpad
/Default
,$(1))
273 TITLE
+= (built-in full
)
274 VARIANT
:=wpad-full-internal
277 define Package
/wpad
/description
278 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
279 Authenticator and Supplicant
282 define Package
/wpad-openssl
283 $(call Package
/wpad
/Default
,$(1))
284 TITLE
+= (OpenSSL full
)
285 VARIANT
:=wpad-full-openssl
286 DEPENDS
+=+PACKAGE_wpad-openssl
:libopenssl
289 Package
/wpad-openssl
/description
= $(Package
/wpad
/description
)
291 define Package
/wpad-wolfssl
292 $(call Package
/wpad
/Default
,$(1))
293 TITLE
+= (wolfSSL full
)
294 VARIANT
:=wpad-full-wolfssl
295 DEPENDS
+=+PACKAGE_wpad-wolfssl
:libwolfssl
298 Package
/wpad-wolfssl
/description
= $(Package
/wpad
/description
)
300 define Package
/wpad-mbedtls
301 $(call Package
/wpad
/Default
,$(1))
302 TITLE
+= (mbedTLS full
)
303 VARIANT
:=wpad-full-mbedtls
304 DEPENDS
+=+PACKAGE_wpad-mbedtls
:libmbedtls
307 Package
/wpad-mbedtls
/description
= $(Package
/wpad
/description
)
309 define Package
/wpad-basic
310 $(call Package
/wpad
/Default
,$(1))
311 TITLE
+= (WPA-PSK
, 11r
, 11w
)
315 define Package
/wpad-basic
/description
316 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, 802.11r and
802.11w support.
319 define Package
/wpad-basic-openssl
320 $(call Package
/wpad
/Default
,$(1))
321 TITLE
+= (OpenSSL
, 11r
, 11w
)
322 VARIANT
:=wpad-basic-openssl
323 DEPENDS
+=+PACKAGE_wpad-basic-openssl
:libopenssl
326 define Package
/wpad-basic-openssl
/description
327 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
330 define Package
/wpad-basic-wolfssl
331 $(call Package
/wpad
/Default
,$(1))
332 TITLE
+= (wolfSSL
, 11r
, 11w
)
333 VARIANT
:=wpad-basic-wolfssl
334 DEPENDS
+=+PACKAGE_wpad-basic-wolfssl
:libwolfssl
337 define Package
/wpad-basic-wolfssl
/description
338 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
341 define Package
/wpad-basic-mbedtls
342 $(call Package
/wpad
/Default
,$(1))
343 TITLE
+= (mbedTLS
, 11r
, 11w
)
344 VARIANT
:=wpad-basic-mbedtls
345 DEPENDS
+=+PACKAGE_wpad-basic-mbedtls
:libmbedtls
348 define Package
/wpad-basic-mbedtls
/description
349 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
352 define Package
/wpad-mini
353 $(call Package
/wpad
/Default
,$(1))
354 TITLE
+= (WPA-PSK only
)
358 define Package
/wpad-mini
/description
359 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(WPA-PSK only
).
362 define Package
/wpad-mesh
363 $(call Package
/wpad
/Default
,$(1))
364 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
365 PROVIDES
+=wpa-supplicant-mesh wpad-mesh
368 define Package
/wpad-mesh
/description
369 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(with
802.11s mesh and SAE support
).
372 define Package
/wpad-mesh-openssl
373 $(call Package
/wpad-mesh
,$(1))
374 TITLE
+= (OpenSSL
, 11s
, SAE
)
375 DEPENDS
+=+PACKAGE_wpad-mesh-openssl
:libopenssl
376 VARIANT
:=wpad-mesh-openssl
379 Package
/wpad-mesh-openssl
/description
= $(Package
/wpad-mesh
/description
)
381 define Package
/wpad-mesh-wolfssl
382 $(call Package
/wpad-mesh
,$(1))
383 TITLE
+= (wolfSSL
, 11s
, SAE
)
384 DEPENDS
+=+PACKAGE_wpad-mesh-wolfssl
:libwolfssl
385 VARIANT
:=wpad-mesh-wolfssl
388 Package
/wpad-mesh-wolfssl
/description
= $(Package
/wpad-mesh
/description
)
390 define Package
/wpad-mesh-mbedtls
391 $(call Package
/wpad-mesh
,$(1))
392 TITLE
+= (mbedTLS
, 11s
, SAE
)
393 DEPENDS
+=+PACKAGE_wpad-mesh-mbedtls
:libmbedtls
394 VARIANT
:=wpad-mesh-mbedtls
397 Package
/wpad-mesh-mbedtls
/description
= $(Package
/wpad-mesh
/description
)
400 define Package
/wpa-supplicant
/Default
404 TITLE
:=WPA Supplicant
405 URL
:=http
://hostap.epitest.fi
/wpa_supplicant
/
406 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
+libubus
407 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
408 USERID
:=network
=101:network
=101
409 PROVIDES
:=wpa-supplicant
410 CONFLICTS
:=$(SUPPLICANT_PROVIDERS
)
411 SUPPLICANT_PROVIDERS
+=$(1)
414 define Package
/wpa-supplicant
415 $(call Package
/wpa-supplicant
/Default
,$(1))
416 TITLE
+= (built-in full
)
417 VARIANT
:=supplicant-full-internal
420 define Package
/wpa-supplicant-openssl
421 $(call Package
/wpa-supplicant
/Default
,$(1))
422 TITLE
+= (OpenSSL full
)
423 VARIANT
:=supplicant-full-openssl
424 DEPENDS
+=+PACKAGE_wpa-supplicant-openssl
:libopenssl
427 define Package
/wpa-supplicant-wolfssl
428 $(call Package
/wpa-supplicant
/Default
,$(1))
429 TITLE
+= (wolfSSL full
)
430 VARIANT
:=supplicant-full-wolfssl
431 DEPENDS
+=+PACKAGE_wpa-supplicant-wolfssl
:libwolfssl
434 define Package
/wpa-supplicant-mbedtls
435 $(call Package
/wpa-supplicant
/Default
,$(1))
436 TITLE
+= (mbedTLS full
)
437 VARIANT
:=supplicant-full-mbedtls
438 DEPENDS
+=+PACKAGE_wpa-supplicant-mbedtls
:libmbedtls
441 define Package
/wpa-supplicant
/config
442 source
"$(SOURCE)/Config.in"
445 define Package
/wpa-supplicant-p2p
446 $(call Package
/wpa-supplicant
/Default
,$(1))
447 TITLE
+= (Wi-Fi P2P support
)
448 DEPENDS
+=@PACKAGE_kmod-cfg80211
449 VARIANT
:=supplicant-p2p-internal
452 define Package
/wpa-supplicant-mesh
/Default
453 $(call Package
/wpa-supplicant
/Default
,$(1))
454 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
455 PROVIDES
+=wpa-supplicant-mesh
458 define Package
/wpa-supplicant-mesh-openssl
459 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
460 TITLE
+= (OpenSSL
, 11s
, SAE
)
461 VARIANT
:=supplicant-mesh-openssl
462 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-openssl
:libopenssl
465 define Package
/wpa-supplicant-mesh-wolfssl
466 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
467 TITLE
+= (wolfSSL
, 11s
, SAE
)
468 VARIANT
:=supplicant-mesh-wolfssl
469 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-wolfssl
:libwolfssl
472 define Package
/wpa-supplicant-mesh-mbedtls
473 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
474 TITLE
+= (mbedTLS
, 11s
, SAE
)
475 VARIANT
:=supplicant-mesh-mbedtls
476 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-mbedtls
:libmbedtls
479 define Package
/wpa-supplicant-basic
480 $(call Package
/wpa-supplicant
/Default
,$(1))
482 VARIANT
:=supplicant-basic
485 define Package
/wpa-supplicant-mini
486 $(call Package
/wpa-supplicant
/Default
,$(1))
488 VARIANT
:=supplicant-mini
492 define Package
/hostapd-common
493 TITLE
:=hostapd
/wpa_supplicant common support files
499 define Package
/hostapd-utils
503 TITLE
:=IEEE
802.1x Authenticator
(utils
)
504 URL
:=http
://hostap.epitest.fi
/
505 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(HOSTAPD_PROVIDERS
),PACKAGE_
$(pkg
)))
509 define Package
/hostapd-utils
/description
510 This package contains a command line utility to control the
511 IEEE
802.1x
/WPA
/EAP
/RADIUS Authenticator.
514 define Package
/wpa-cli
518 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(SUPPLICANT_PROVIDERS
),PACKAGE_
$(pkg
)))
519 TITLE
:=WPA Supplicant command line control utility
523 define Package
/eapol-test
/Default
524 TITLE
:=802.1x auth
test utility
528 DEPENDS
:=$(DRV_DEPENDS
) +libubus
531 define Package
/eapol-test
532 $(call Package
/eapol-test
/Default
,$(1))
533 TITLE
+= (built-in full
)
534 VARIANT
:=supplicant-full-internal
537 define Package
/eapol-test-openssl
538 $(call Package
/eapol-test
/Default
,$(1))
539 TITLE
+= (OpenSSL full
)
540 VARIANT
:=supplicant-full-openssl
541 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(EAPOL_TEST_PROVIDERS
))
542 DEPENDS
+=+PACKAGE_eapol-test-openssl
:libopenssl
546 define Package
/eapol-test-wolfssl
547 $(call Package
/eapol-test
/Default
,$(1))
548 TITLE
+= (wolfSSL full
)
549 VARIANT
:=supplicant-full-wolfssl
550 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-wolfssl
,$(EAPOL_TEST_PROVIDERS
)))
551 DEPENDS
+=+PACKAGE_eapol-test-wolfssl
:libwolfssl
555 define Package
/eapol-test-mbedtls
556 $(call Package
/eapol-test
/Default
,$(1))
557 TITLE
+= (mbedTLS full
)
558 VARIANT
:=supplicant-full-mbedtls
559 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-mbedtls
,$(EAPOL_TEST_PROVIDERS
)))
560 DEPENDS
+=+PACKAGE_eapol-test-mbedtls
:libmbedtls
565 ifneq ($(wildcard $(PKG_BUILD_DIR
)/.config_
*),$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
)))
566 define Build
/Configure
/rebuild
567 $(FIND
) $(PKG_BUILD_DIR
) -name \
*.o
-or
-name \
*.a |
$(XARGS
) rm -f
568 rm -f
$(PKG_BUILD_DIR
)/hostapd
/hostapd
569 rm -f
$(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
570 rm -f
$(PKG_BUILD_DIR
)/.config_
*
571 touch
$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
))
575 define Build
/Configure
576 $(Build
/Configure
/rebuild
)
577 $(if
$(wildcard .
/files
/hostapd-
$(CONFIG_VARIANT
).config
), \
578 $(CP
) .
/files
/hostapd-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/hostapd
/.config \
580 $(if
$(wildcard .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
), \
581 $(CP
) .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/wpa_supplicant
/.config
586 -I
$(STAGING_DIR
)/usr
/include/libnl-tiny \
587 -I
$(PKG_BUILD_DIR
)/src
/crypto \
591 $(if
$(CONFIG_WPA_MSG_MIN_PRIORITY
),-DCONFIG_MSG_MIN_PRIORITY
=$(CONFIG_WPA_MSG_MIN_PRIORITY
))
593 TARGET_CFLAGS
+= -ffunction-sections
-fdata-sections
-flto
594 TARGET_LDFLAGS
+= -Wl
,--gc-sections
-flto
=jobserver
-fuse-linker-plugin
-lubox
-lubus
596 ifdef CONFIG_PACKAGE_kmod-cfg80211
597 TARGET_LDFLAGS
+= -lm
-lnl-tiny
600 ifdef CONFIG_WPA_ENABLE_WEP
601 DRIVER_MAKEOPTS
+= CONFIG_WEP
=y
605 CFLAGS
="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
606 $(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
)/$(1) \
607 $(TARGET_CONFIGURE_OPTS
) \
609 LIBS
="$(TARGET_LDFLAGS)" \
610 LIBS_c
="$(TARGET_LDFLAGS_C)" \
611 AR
="$(TARGET_CROSS)gcc-ar" \
613 $(if
$(findstring s
,$(OPENWRT_VERBOSE
)),V
=1) \
617 define Build
/Compile
/wpad
619 $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \
620 $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
621 sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
622 ` > $(PKG_BUILD_DIR
)/.
cflags
623 sed
-i
's/"/\\"/g' $(PKG_BUILD_DIR
)/.
cflags
624 +$(call Build
/RunMake
,hostapd
, \
625 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
627 hostapd_cli hostapd_multi.a \
629 +$(call Build
/RunMake
,wpa_supplicant
, \
630 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
632 wpa_cli wpa_supplicant_multi.a \
634 +export MAKEFLAGS
="$(MAKE_JOBSERVER)"; $(TARGET_CC
) -o
$(PKG_BUILD_DIR
)/wpad \
636 .
/files
/multicall.c \
637 $(PKG_BUILD_DIR
)/hostapd
/hostapd_multi.a \
638 $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant_multi.a \
642 define Build
/Compile
/hostapd
643 +$(call Build
/RunMake
,hostapd
, \
644 hostapd hostapd_cli \
648 define Build
/Compile
/supplicant
649 +$(call Build
/RunMake
,wpa_supplicant
, \
650 wpa_cli wpa_supplicant \
654 define Build
/Compile
/supplicant-full-internal
655 +$(call Build
/RunMake
,wpa_supplicant
, \
660 define Build
/Compile
/supplicant-full-openssl
661 +$(call Build
/RunMake
,wpa_supplicant
, \
666 define Build
/Compile
/supplicant-full-wolfssl
667 +$(call Build
/RunMake
,wpa_supplicant
, \
672 define Build
/Compile
/supplicant-full-mbedtls
673 +$(call Build
/RunMake
,wpa_supplicant
, \
679 $(Build
/Compile
/$(LOCAL_TYPE
))
680 $(Build
/Compile
/$(BUILD_VARIANT
))
683 define Install
/hostapd
684 $(INSTALL_DIR
) $(1)/usr
/sbin
687 define Install
/supplicant
688 $(INSTALL_DIR
) $(1)/usr
/sbin
691 define Package
/hostapd-common
/install
692 $(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
693 $(INSTALL_BIN
) .
/files
/dhcp-get-server.sh
$(1)/lib
/netifd
/dhcp-get-server.sh
694 $(INSTALL_DATA
) .
/files
/hostapd.sh
$(1)/lib
/netifd
/hostapd.sh
695 $(INSTALL_BIN
) .
/files
/wpad.init
$(1)/etc
/init.d
/wpad
696 $(INSTALL_BIN
) .
/files
/wps-hotplug.sh
$(1)/etc
/rc.button
/wps
697 $(INSTALL_DATA
) .
/files
/wpad_acl.json
$(1)/usr
/share
/acl.d
698 $(INSTALL_DATA
) .
/files
/wpad.json
$(1)/etc
/capabilities
701 define Package
/hostapd
/install
702 $(call Install
/hostapd
,$(1))
703 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd
$(1)/usr
/sbin
/
705 Package
/hostapd-basic
/install = $(Package
/hostapd
/install)
706 Package
/hostapd-basic-openssl
/install = $(Package
/hostapd
/install)
707 Package
/hostapd-basic-wolfssl
/install = $(Package
/hostapd
/install)
708 Package
/hostapd-basic-mbedtls
/install = $(Package
/hostapd
/install)
709 Package
/hostapd-mini
/install = $(Package
/hostapd
/install)
710 Package
/hostapd-openssl
/install = $(Package
/hostapd
/install)
711 Package
/hostapd-wolfssl
/install = $(Package
/hostapd
/install)
712 Package
/hostapd-mbedtls
/install = $(Package
/hostapd
/install)
714 ifneq ($(LOCAL_TYPE
),supplicant
)
715 define Package
/hostapd-utils
/install
716 $(INSTALL_DIR
) $(1)/usr
/sbin
717 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd_cli
$(1)/usr
/sbin
/
721 define Package
/wpad
/install
722 $(call Install
/hostapd
,$(1))
723 $(call Install
/supplicant
,$(1))
724 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpad
$(1)/usr
/sbin
/
725 $(LN
) wpad
$(1)/usr
/sbin
/hostapd
726 $(LN
) wpad
$(1)/usr
/sbin
/wpa_supplicant
728 Package
/wpad-basic
/install = $(Package
/wpad
/install)
729 Package
/wpad-basic-openssl
/install = $(Package
/wpad
/install)
730 Package
/wpad-basic-wolfssl
/install = $(Package
/wpad
/install)
731 Package
/wpad-basic-mbedtls
/install = $(Package
/wpad
/install)
732 Package
/wpad-mini
/install = $(Package
/wpad
/install)
733 Package
/wpad-openssl
/install = $(Package
/wpad
/install)
734 Package
/wpad-wolfssl
/install = $(Package
/wpad
/install)
735 Package
/wpad-mbedtls
/install = $(Package
/wpad
/install)
736 Package
/wpad-mesh-openssl
/install = $(Package
/wpad
/install)
737 Package
/wpad-mesh-wolfssl
/install = $(Package
/wpad
/install)
738 Package
/wpad-mesh-mbedtls
/install = $(Package
/wpad
/install)
740 define Package
/wpa-supplicant
/install
741 $(call Install
/supplicant
,$(1))
742 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
$(1)/usr
/sbin
/
744 Package
/wpa-supplicant-basic
/install = $(Package
/wpa-supplicant
/install)
745 Package
/wpa-supplicant-mini
/install = $(Package
/wpa-supplicant
/install)
746 Package
/wpa-supplicant-p2p
/install = $(Package
/wpa-supplicant
/install)
747 Package
/wpa-supplicant-openssl
/install = $(Package
/wpa-supplicant
/install)
748 Package
/wpa-supplicant-wolfssl
/install = $(Package
/wpa-supplicant
/install)
749 Package
/wpa-supplicant-mbedtls
/install = $(Package
/wpa-supplicant
/install)
750 Package
/wpa-supplicant-mesh-openssl
/install = $(Package
/wpa-supplicant
/install)
751 Package
/wpa-supplicant-mesh-wolfssl
/install = $(Package
/wpa-supplicant
/install)
752 Package
/wpa-supplicant-mesh-mbedtls
/install = $(Package
/wpa-supplicant
/install)
754 ifneq ($(LOCAL_TYPE
),hostapd
)
755 define Package
/wpa-cli
/install
756 $(INSTALL_DIR
) $(1)/usr
/sbin
757 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_cli
$(1)/usr
/sbin
/
761 ifeq ($(BUILD_VARIANT
),supplicant-full-internal
)
762 define Package
/eapol-test
/install
763 $(INSTALL_DIR
) $(1)/usr
/sbin
764 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
768 ifeq ($(BUILD_VARIANT
),supplicant-full-openssl
)
769 define Package
/eapol-test-openssl
/install
770 $(INSTALL_DIR
) $(1)/usr
/sbin
771 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
775 ifeq ($(BUILD_VARIANT
),supplicant-full-wolfssl
)
776 define Package
/eapol-test-wolfssl
/install
777 $(INSTALL_DIR
) $(1)/usr
/sbin
778 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
782 ifeq ($(BUILD_VARIANT
),supplicant-full-mbedtls
)
783 define Package
/eapol-test-mbedtls
/install
784 $(INSTALL_DIR
) $(1)/usr
/sbin
785 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
789 # Build hostapd-common before its dependents, to avoid
790 # spurious rebuilds when building multiple variants.
791 $(eval
$(call BuildPackage
,hostapd-common
))
792 $(eval
$(call BuildPackage
,hostapd
))
793 $(eval
$(call BuildPackage
,hostapd-basic
))
794 $(eval
$(call BuildPackage
,hostapd-basic-openssl
))
795 $(eval
$(call BuildPackage
,hostapd-basic-wolfssl
))
796 $(eval
$(call BuildPackage
,hostapd-basic-mbedtls
))
797 $(eval
$(call BuildPackage
,hostapd-mini
))
798 $(eval
$(call BuildPackage
,hostapd-openssl
))
799 $(eval
$(call BuildPackage
,hostapd-wolfssl
))
800 $(eval
$(call BuildPackage
,hostapd-mbedtls
))
801 $(eval
$(call BuildPackage
,wpad
))
802 $(eval
$(call BuildPackage
,wpad-mesh-openssl
))
803 $(eval
$(call BuildPackage
,wpad-mesh-wolfssl
))
804 $(eval
$(call BuildPackage
,wpad-mesh-mbedtls
))
805 $(eval
$(call BuildPackage
,wpad-basic
))
806 $(eval
$(call BuildPackage
,wpad-basic-openssl
))
807 $(eval
$(call BuildPackage
,wpad-basic-wolfssl
))
808 $(eval
$(call BuildPackage
,wpad-basic-mbedtls
))
809 $(eval
$(call BuildPackage
,wpad-mini
))
810 $(eval
$(call BuildPackage
,wpad-openssl
))
811 $(eval
$(call BuildPackage
,wpad-wolfssl
))
812 $(eval
$(call BuildPackage
,wpad-mbedtls
))
813 $(eval
$(call BuildPackage
,wpa-supplicant
))
814 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-openssl
))
815 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-wolfssl
))
816 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-mbedtls
))
817 $(eval
$(call BuildPackage
,wpa-supplicant-basic
))
818 $(eval
$(call BuildPackage
,wpa-supplicant-mini
))
819 $(eval
$(call BuildPackage
,wpa-supplicant-p2p
))
820 $(eval
$(call BuildPackage
,wpa-supplicant-openssl
))
821 $(eval
$(call BuildPackage
,wpa-supplicant-wolfssl
))
822 $(eval
$(call BuildPackage
,wpa-supplicant-mbedtls
))
823 $(eval
$(call BuildPackage
,wpa-cli
))
824 $(eval
$(call BuildPackage
,hostapd-utils
))
825 $(eval
$(call BuildPackage
,eapol-test
))
826 $(eval
$(call BuildPackage
,eapol-test-openssl
))
827 $(eval
$(call BuildPackage
,eapol-test-wolfssl
))
828 $(eval
$(call BuildPackage
,eapol-test-mbedtls
))