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-03-29
13 PKG_SOURCE_VERSION
:=bb945b98fefc64887dffb40773a19d77585cee42
14 PKG_MIRROR_HASH
:=1da8a39c7c81ce257994874402a86d00080a6145b5eb5c5fc44b2fae1853fe8d
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
85 CONFIG_ACS
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
86 CONFIG_DRIVER_NL80211
=$(CONFIG_PACKAGE_kmod-cfg80211
) \
87 CONFIG_IEEE80211AC
=$(HOSTAPD_IEEE80211AC
) \
88 CONFIG_IEEE80211AX
=$(HOSTAPD_IEEE80211AX
) \
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 DRV_DEPENDS
:=+PACKAGE_kmod-cfg80211
:libnl-tiny
145 define Package
/hostapd
/Default
149 TITLE
:=IEEE
802.1x Authenticator
150 URL
:=http
://hostap.epitest.fi
/
151 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
+libubus
152 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
153 USERID
:=network
=101:network
=101
155 CONFLICTS
:=$(HOSTAPD_PROVIDERS
)
156 HOSTAPD_PROVIDERS
+=$(1)
159 define Package
/hostapd
160 $(call Package
/hostapd
/Default
,$(1))
161 TITLE
+= (built-in full
)
162 VARIANT
:=full-internal
165 define Package
/hostapd
/description
166 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
170 define Package
/hostapd-openssl
171 $(call Package
/hostapd
/Default
,$(1))
172 TITLE
+= (OpenSSL full
)
173 VARIANT
:=full-openssl
174 DEPENDS
+=+PACKAGE_hostapd-openssl
:libopenssl
177 Package
/hostapd-openssl
/description
= $(Package
/hostapd
/description
)
179 define Package
/hostapd-wolfssl
180 $(call Package
/hostapd
/Default
,$(1))
181 TITLE
+= (wolfSSL full
)
182 VARIANT
:=full-wolfssl
183 DEPENDS
+=+PACKAGE_hostapd-wolfssl
:libwolfssl
186 Package
/hostapd-wolfssl
/description
= $(Package
/hostapd
/description
)
188 define Package
/hostapd-mbedtls
189 $(call Package
/hostapd
/Default
,$(1))
190 TITLE
+= (mbedTLS full
)
191 VARIANT
:=full-mbedtls
192 DEPENDS
+=+PACKAGE_hostapd-mbedtls
:libmbedtls
195 Package
/hostapd-mbedtls
/description
= $(Package
/hostapd
/description
)
197 define Package
/hostapd-basic
198 $(call Package
/hostapd
/Default
,$(1))
199 TITLE
+= (WPA-PSK
, 11r
, 11w
)
203 define Package
/hostapd-basic
/description
204 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
207 define Package
/hostapd-basic-openssl
208 $(call Package
/hostapd
/Default
,$(1))
209 TITLE
+= (WPA-PSK
, 11r and
11w
)
210 VARIANT
:=basic-openssl
211 DEPENDS
+=+PACKAGE_hostapd-basic-openssl
:libopenssl
214 define Package
/hostapd-basic-openssl
/description
215 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
218 define Package
/hostapd-basic-wolfssl
219 $(call Package
/hostapd
/Default
,$(1))
220 TITLE
+= (WPA-PSK
, 11r and
11w
)
221 VARIANT
:=basic-wolfssl
222 DEPENDS
+=+PACKAGE_hostapd-basic-wolfssl
:libwolfssl
225 define Package
/hostapd-basic-wolfssl
/description
226 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
229 define Package
/hostapd-basic-mbedtls
230 $(call Package
/hostapd
/Default
,$(1))
231 TITLE
+= (WPA-PSK
, 11r and
11w
)
232 VARIANT
:=basic-mbedtls
233 DEPENDS
+=+PACKAGE_hostapd-basic-mbedtls
:libmbedtls
236 define Package
/hostapd-basic-mbedtls
/description
237 This package contains a basic IEEE
802.1x
/WPA Authenticator with WPA-PSK
, 802.11r and
802.11w support.
240 define Package
/hostapd-mini
241 $(call Package
/hostapd
/Default
,$(1))
242 TITLE
+= (WPA-PSK only
)
246 define Package
/hostapd-mini
/description
247 This package contains a minimal IEEE
802.1x
/WPA Authenticator
(WPA-PSK only
).
251 define Package
/wpad
/Default
255 TITLE
:=IEEE
802.1x Auth
/Supplicant
256 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
+libubus
257 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
258 USERID
:=network
=101:network
=101
259 URL
:=http
://hostap.epitest.fi
/
260 PROVIDES
:=hostapd wpa-supplicant
261 CONFLICTS
:=$(HOSTAPD_PROVIDERS
) $(SUPPLICANT_PROVIDERS
)
262 HOSTAPD_PROVIDERS
+=$(1)
263 SUPPLICANT_PROVIDERS
+=$(1)
267 $(call Package
/wpad
/Default
,$(1))
268 TITLE
+= (built-in full
)
269 VARIANT
:=wpad-full-internal
272 define Package
/wpad
/description
273 This package contains a full featured IEEE
802.1x
/WPA
/EAP
/RADIUS
274 Authenticator and Supplicant
277 define Package
/wpad-openssl
278 $(call Package
/wpad
/Default
,$(1))
279 TITLE
+= (OpenSSL full
)
280 VARIANT
:=wpad-full-openssl
281 DEPENDS
+=+PACKAGE_wpad-openssl
:libopenssl
284 Package
/wpad-openssl
/description
= $(Package
/wpad
/description
)
286 define Package
/wpad-wolfssl
287 $(call Package
/wpad
/Default
,$(1))
288 TITLE
+= (wolfSSL full
)
289 VARIANT
:=wpad-full-wolfssl
290 DEPENDS
+=+PACKAGE_wpad-wolfssl
:libwolfssl
293 Package
/wpad-wolfssl
/description
= $(Package
/wpad
/description
)
295 define Package
/wpad-mbedtls
296 $(call Package
/wpad
/Default
,$(1))
297 TITLE
+= (mbedTLS full
)
298 VARIANT
:=wpad-full-mbedtls
299 DEPENDS
+=+PACKAGE_wpad-mbedtls
:libmbedtls
302 Package
/wpad-mbedtls
/description
= $(Package
/wpad
/description
)
304 define Package
/wpad-basic
305 $(call Package
/wpad
/Default
,$(1))
306 TITLE
+= (WPA-PSK
, 11r
, 11w
)
310 define Package
/wpad-basic
/description
311 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, 802.11r and
802.11w support.
314 define Package
/wpad-basic-openssl
315 $(call Package
/wpad
/Default
,$(1))
316 TITLE
+= (OpenSSL
, 11r
, 11w
)
317 VARIANT
:=wpad-basic-openssl
318 DEPENDS
+=+PACKAGE_wpad-basic-openssl
:libopenssl
321 define Package
/wpad-basic-openssl
/description
322 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
325 define Package
/wpad-basic-wolfssl
326 $(call Package
/wpad
/Default
,$(1))
327 TITLE
+= (wolfSSL
, 11r
, 11w
)
328 VARIANT
:=wpad-basic-wolfssl
329 DEPENDS
+=+PACKAGE_wpad-basic-wolfssl
:libwolfssl
332 define Package
/wpad-basic-wolfssl
/description
333 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
336 define Package
/wpad-basic-mbedtls
337 $(call Package
/wpad
/Default
,$(1))
338 TITLE
+= (mbedTLS
, 11r
, 11w
)
339 VARIANT
:=wpad-basic-mbedtls
340 DEPENDS
+=+PACKAGE_wpad-basic-mbedtls
:libmbedtls
343 define Package
/wpad-basic-mbedtls
/description
344 This package contains a basic IEEE
802.1x
/WPA Authenticator and Supplicant with WPA-PSK
, SAE
(WPA3-Personal
), 802.11r and
802.11w support.
347 define Package
/wpad-mini
348 $(call Package
/wpad
/Default
,$(1))
349 TITLE
+= (WPA-PSK only
)
353 define Package
/wpad-mini
/description
354 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(WPA-PSK only
).
357 define Package
/wpad-mesh
358 $(call Package
/wpad
/Default
,$(1))
359 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
360 PROVIDES
+=wpa-supplicant-mesh wpad-mesh
363 define Package
/wpad-mesh
/description
364 This package contains a minimal IEEE
802.1x
/WPA Authenticator and Supplicant
(with
802.11s mesh and SAE support
).
367 define Package
/wpad-mesh-openssl
368 $(call Package
/wpad-mesh
,$(1))
369 TITLE
+= (OpenSSL
, 11s
, SAE
)
370 DEPENDS
+=+PACKAGE_wpad-mesh-openssl
:libopenssl
371 VARIANT
:=wpad-mesh-openssl
374 Package
/wpad-mesh-openssl
/description
= $(Package
/wpad-mesh
/description
)
376 define Package
/wpad-mesh-wolfssl
377 $(call Package
/wpad-mesh
,$(1))
378 TITLE
+= (wolfSSL
, 11s
, SAE
)
379 DEPENDS
+=+PACKAGE_wpad-mesh-wolfssl
:libwolfssl
380 VARIANT
:=wpad-mesh-wolfssl
383 Package
/wpad-mesh-wolfssl
/description
= $(Package
/wpad-mesh
/description
)
385 define Package
/wpad-mesh-mbedtls
386 $(call Package
/wpad-mesh
,$(1))
387 TITLE
+= (mbedTLS
, 11s
, SAE
)
388 DEPENDS
+=+PACKAGE_wpad-mesh-mbedtls
:libmbedtls
389 VARIANT
:=wpad-mesh-mbedtls
392 Package
/wpad-mesh-mbedtls
/description
= $(Package
/wpad-mesh
/description
)
395 define Package
/wpa-supplicant
/Default
399 TITLE
:=WPA Supplicant
400 URL
:=http
://hostap.epitest.fi
/wpa_supplicant
/
401 DEPENDS
:=$(DRV_DEPENDS
) +hostapd-common
+libubus
402 EXTRA_DEPENDS
:=hostapd-common
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
403 USERID
:=network
=101:network
=101
404 PROVIDES
:=wpa-supplicant
405 CONFLICTS
:=$(SUPPLICANT_PROVIDERS
)
406 SUPPLICANT_PROVIDERS
+=$(1)
409 define Package
/wpa-supplicant
410 $(call Package
/wpa-supplicant
/Default
,$(1))
411 TITLE
+= (built-in full
)
412 VARIANT
:=supplicant-full-internal
415 define Package
/wpa-supplicant-openssl
416 $(call Package
/wpa-supplicant
/Default
,$(1))
417 TITLE
+= (OpenSSL full
)
418 VARIANT
:=supplicant-full-openssl
419 DEPENDS
+=+PACKAGE_wpa-supplicant-openssl
:libopenssl
422 define Package
/wpa-supplicant-wolfssl
423 $(call Package
/wpa-supplicant
/Default
,$(1))
424 TITLE
+= (wolfSSL full
)
425 VARIANT
:=supplicant-full-wolfssl
426 DEPENDS
+=+PACKAGE_wpa-supplicant-wolfssl
:libwolfssl
429 define Package
/wpa-supplicant-mbedtls
430 $(call Package
/wpa-supplicant
/Default
,$(1))
431 TITLE
+= (mbedTLS full
)
432 VARIANT
:=supplicant-full-mbedtls
433 DEPENDS
+=+PACKAGE_wpa-supplicant-mbedtls
:libmbedtls
436 define Package
/wpa-supplicant
/config
437 source
"$(SOURCE)/Config.in"
440 define Package
/wpa-supplicant-p2p
441 $(call Package
/wpa-supplicant
/Default
,$(1))
442 TITLE
+= (Wi-Fi P2P support
)
443 DEPENDS
+=@PACKAGE_kmod-cfg80211
444 VARIANT
:=supplicant-p2p-internal
447 define Package
/wpa-supplicant-mesh
/Default
448 $(call Package
/wpa-supplicant
/Default
,$(1))
449 DEPENDS
+=@PACKAGE_kmod-cfg80211 @
(!TARGET_uml||BROKEN
)
450 PROVIDES
+=wpa-supplicant-mesh
453 define Package
/wpa-supplicant-mesh-openssl
454 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
455 TITLE
+= (OpenSSL
, 11s
, SAE
)
456 VARIANT
:=supplicant-mesh-openssl
457 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-openssl
:libopenssl
460 define Package
/wpa-supplicant-mesh-wolfssl
461 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
462 TITLE
+= (wolfSSL
, 11s
, SAE
)
463 VARIANT
:=supplicant-mesh-wolfssl
464 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-wolfssl
:libwolfssl
467 define Package
/wpa-supplicant-mesh-mbedtls
468 $(call Package
/wpa-supplicant-mesh
/Default
,$(1))
469 TITLE
+= (mbedTLS
, 11s
, SAE
)
470 VARIANT
:=supplicant-mesh-mbedtls
471 DEPENDS
+=+PACKAGE_wpa-supplicant-mesh-mbedtls
:libmbedtls
474 define Package
/wpa-supplicant-basic
475 $(call Package
/wpa-supplicant
/Default
,$(1))
477 VARIANT
:=supplicant-basic
480 define Package
/wpa-supplicant-mini
481 $(call Package
/wpa-supplicant
/Default
,$(1))
483 VARIANT
:=supplicant-mini
487 define Package
/hostapd-common
488 TITLE
:=hostapd
/wpa_supplicant common support files
494 define Package
/hostapd-utils
498 TITLE
:=IEEE
802.1x Authenticator
(utils
)
499 URL
:=http
://hostap.epitest.fi
/
500 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(HOSTAPD_PROVIDERS
),PACKAGE_
$(pkg
)))
504 define Package
/hostapd-utils
/description
505 This package contains a command line utility to control the
506 IEEE
802.1x
/WPA
/EAP
/RADIUS Authenticator.
509 define Package
/wpa-cli
513 DEPENDS
:=@
$(subst $(space
),||
,$(foreach pkg
,$(SUPPLICANT_PROVIDERS
),PACKAGE_
$(pkg
)))
514 TITLE
:=WPA Supplicant command line control utility
518 define Package
/eapol-test
/Default
519 TITLE
:=802.1x auth
test utility
523 DEPENDS
:=$(DRV_DEPENDS
) +libubus
526 define Package
/eapol-test
527 $(call Package
/eapol-test
/Default
,$(1))
528 TITLE
+= (built-in full
)
529 VARIANT
:=supplicant-full-internal
532 define Package
/eapol-test-openssl
533 $(call Package
/eapol-test
/Default
,$(1))
534 TITLE
+= (OpenSSL full
)
535 VARIANT
:=supplicant-full-openssl
536 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(EAPOL_TEST_PROVIDERS
))
537 DEPENDS
+=+PACKAGE_eapol-test-openssl
:libopenssl
541 define Package
/eapol-test-wolfssl
542 $(call Package
/eapol-test
/Default
,$(1))
543 TITLE
+= (wolfSSL full
)
544 VARIANT
:=supplicant-full-wolfssl
545 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-wolfssl
,$(EAPOL_TEST_PROVIDERS
)))
546 DEPENDS
+=+PACKAGE_eapol-test-wolfssl
:libwolfssl
550 define Package
/eapol-test-mbedtls
551 $(call Package
/eapol-test
/Default
,$(1))
552 TITLE
+= (mbedTLS full
)
553 VARIANT
:=supplicant-full-mbedtls
554 CONFLICTS
:=$(filter-out eapol-test-openssl
,$(filter-out eapol-test-mbedtls
,$(EAPOL_TEST_PROVIDERS
)))
555 DEPENDS
+=+PACKAGE_eapol-test-mbedtls
:libmbedtls
560 ifneq ($(wildcard $(PKG_BUILD_DIR
)/.config_
*),$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
)))
561 define Build
/Configure
/rebuild
562 $(FIND
) $(PKG_BUILD_DIR
) -name \
*.o
-or
-name \
*.a |
$(XARGS
) rm -f
563 rm -f
$(PKG_BUILD_DIR
)/hostapd
/hostapd
564 rm -f
$(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
565 rm -f
$(PKG_BUILD_DIR
)/.config_
*
566 touch
$(subst .configured_
,.config_
,$(STAMP_CONFIGURED
))
570 define Build
/Configure
571 $(Build
/Configure
/rebuild
)
572 $(if
$(wildcard .
/files
/hostapd-
$(CONFIG_VARIANT
).config
), \
573 $(CP
) .
/files
/hostapd-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/hostapd
/.config \
575 $(if
$(wildcard .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
), \
576 $(CP
) .
/files
/wpa_supplicant-
$(CONFIG_VARIANT
).config
$(PKG_BUILD_DIR
)/wpa_supplicant
/.config
581 -I
$(STAGING_DIR
)/usr
/include/libnl-tiny \
582 -I
$(PKG_BUILD_DIR
)/src
/crypto \
586 $(if
$(CONFIG_WPA_MSG_MIN_PRIORITY
),-DCONFIG_MSG_MIN_PRIORITY
=$(CONFIG_WPA_MSG_MIN_PRIORITY
))
588 TARGET_LDFLAGS
+= -lubox
-lubus
590 ifdef CONFIG_PACKAGE_kmod-cfg80211
591 TARGET_LDFLAGS
+= -lm
-lnl-tiny
594 ifdef CONFIG_WPA_ENABLE_WEP
595 DRIVER_MAKEOPTS
+= CONFIG_WEP
=y
599 CFLAGS
="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
600 $(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
)/$(1) \
601 $(TARGET_CONFIGURE_OPTS
) \
603 LIBS
="$(TARGET_LDFLAGS)" \
604 LIBS_c
="$(TARGET_LDFLAGS_C)" \
605 AR
="$(TARGET_CROSS)gcc-ar" \
607 $(if
$(findstring s
,$(OPENWRT_VERBOSE
)),V
=1) \
611 define Build
/Compile
/wpad
613 $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \
614 $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
615 sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
616 ` > $(PKG_BUILD_DIR
)/.
cflags
617 sed
-i
's/"/\\"/g' $(PKG_BUILD_DIR
)/.
cflags
618 +$(call Build
/RunMake
,hostapd
, \
619 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
621 hostapd_cli hostapd_multi.a \
623 +$(call Build
/RunMake
,wpa_supplicant
, \
624 CFLAGS
="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
626 wpa_cli wpa_supplicant_multi.a \
628 +export MAKEFLAGS
="$(MAKE_JOBSERVER)"; $(TARGET_CC
) -o
$(PKG_BUILD_DIR
)/wpad \
630 .
/files
/multicall.c \
631 $(PKG_BUILD_DIR
)/hostapd
/hostapd_multi.a \
632 $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant_multi.a \
636 define Build
/Compile
/hostapd
637 +$(call Build
/RunMake
,hostapd
, \
638 hostapd hostapd_cli \
642 define Build
/Compile
/supplicant
643 +$(call Build
/RunMake
,wpa_supplicant
, \
644 wpa_cli wpa_supplicant \
648 define Build
/Compile
/supplicant-full-internal
649 +$(call Build
/RunMake
,wpa_supplicant
, \
654 define Build
/Compile
/supplicant-full-openssl
655 +$(call Build
/RunMake
,wpa_supplicant
, \
660 define Build
/Compile
/supplicant-full-wolfssl
661 +$(call Build
/RunMake
,wpa_supplicant
, \
666 define Build
/Compile
/supplicant-full-mbedtls
667 +$(call Build
/RunMake
,wpa_supplicant
, \
673 $(Build
/Compile
/$(LOCAL_TYPE
))
674 $(Build
/Compile
/$(BUILD_VARIANT
))
677 define Install
/hostapd
678 $(INSTALL_DIR
) $(1)/usr
/sbin
681 define Install
/supplicant
682 $(INSTALL_DIR
) $(1)/usr
/sbin
685 define Package
/hostapd-common
/install
686 $(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
687 $(INSTALL_BIN
) .
/files
/dhcp-get-server.sh
$(1)/lib
/netifd
/dhcp-get-server.sh
688 $(INSTALL_DATA
) .
/files
/hostapd.sh
$(1)/lib
/netifd
/hostapd.sh
689 $(INSTALL_BIN
) .
/files
/wpad.init
$(1)/etc
/init.d
/wpad
690 $(INSTALL_BIN
) .
/files
/wps-hotplug.sh
$(1)/etc
/rc.button
/wps
691 $(INSTALL_DATA
) .
/files
/wpad_acl.json
$(1)/usr
/share
/acl.d
692 $(INSTALL_DATA
) .
/files
/wpad.json
$(1)/etc
/capabilities
695 define Package
/hostapd
/install
696 $(call Install
/hostapd
,$(1))
697 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd
$(1)/usr
/sbin
/
699 Package
/hostapd-basic
/install = $(Package
/hostapd
/install)
700 Package
/hostapd-basic-openssl
/install = $(Package
/hostapd
/install)
701 Package
/hostapd-basic-wolfssl
/install = $(Package
/hostapd
/install)
702 Package
/hostapd-basic-mbedtls
/install = $(Package
/hostapd
/install)
703 Package
/hostapd-mini
/install = $(Package
/hostapd
/install)
704 Package
/hostapd-openssl
/install = $(Package
/hostapd
/install)
705 Package
/hostapd-wolfssl
/install = $(Package
/hostapd
/install)
706 Package
/hostapd-mbedtls
/install = $(Package
/hostapd
/install)
708 ifneq ($(LOCAL_TYPE
),supplicant
)
709 define Package
/hostapd-utils
/install
710 $(INSTALL_DIR
) $(1)/usr
/sbin
711 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd_cli
$(1)/usr
/sbin
/
715 define Package
/wpad
/install
716 $(call Install
/hostapd
,$(1))
717 $(call Install
/supplicant
,$(1))
718 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpad
$(1)/usr
/sbin
/
719 $(LN
) wpad
$(1)/usr
/sbin
/hostapd
720 $(LN
) wpad
$(1)/usr
/sbin
/wpa_supplicant
722 Package
/wpad-basic
/install = $(Package
/wpad
/install)
723 Package
/wpad-basic-openssl
/install = $(Package
/wpad
/install)
724 Package
/wpad-basic-wolfssl
/install = $(Package
/wpad
/install)
725 Package
/wpad-basic-mbedtls
/install = $(Package
/wpad
/install)
726 Package
/wpad-mini
/install = $(Package
/wpad
/install)
727 Package
/wpad-openssl
/install = $(Package
/wpad
/install)
728 Package
/wpad-wolfssl
/install = $(Package
/wpad
/install)
729 Package
/wpad-mbedtls
/install = $(Package
/wpad
/install)
730 Package
/wpad-mesh-openssl
/install = $(Package
/wpad
/install)
731 Package
/wpad-mesh-wolfssl
/install = $(Package
/wpad
/install)
732 Package
/wpad-mesh-mbedtls
/install = $(Package
/wpad
/install)
734 define Package
/wpa-supplicant
/install
735 $(call Install
/supplicant
,$(1))
736 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
$(1)/usr
/sbin
/
738 Package
/wpa-supplicant-basic
/install = $(Package
/wpa-supplicant
/install)
739 Package
/wpa-supplicant-mini
/install = $(Package
/wpa-supplicant
/install)
740 Package
/wpa-supplicant-p2p
/install = $(Package
/wpa-supplicant
/install)
741 Package
/wpa-supplicant-openssl
/install = $(Package
/wpa-supplicant
/install)
742 Package
/wpa-supplicant-wolfssl
/install = $(Package
/wpa-supplicant
/install)
743 Package
/wpa-supplicant-mbedtls
/install = $(Package
/wpa-supplicant
/install)
744 Package
/wpa-supplicant-mesh-openssl
/install = $(Package
/wpa-supplicant
/install)
745 Package
/wpa-supplicant-mesh-wolfssl
/install = $(Package
/wpa-supplicant
/install)
746 Package
/wpa-supplicant-mesh-mbedtls
/install = $(Package
/wpa-supplicant
/install)
748 ifneq ($(LOCAL_TYPE
),hostapd
)
749 define Package
/wpa-cli
/install
750 $(INSTALL_DIR
) $(1)/usr
/sbin
751 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_cli
$(1)/usr
/sbin
/
755 ifeq ($(BUILD_VARIANT
),supplicant-full-internal
)
756 define Package
/eapol-test
/install
757 $(INSTALL_DIR
) $(1)/usr
/sbin
758 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
762 ifeq ($(BUILD_VARIANT
),supplicant-full-openssl
)
763 define Package
/eapol-test-openssl
/install
764 $(INSTALL_DIR
) $(1)/usr
/sbin
765 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
769 ifeq ($(BUILD_VARIANT
),supplicant-full-wolfssl
)
770 define Package
/eapol-test-wolfssl
/install
771 $(INSTALL_DIR
) $(1)/usr
/sbin
772 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
776 ifeq ($(BUILD_VARIANT
),supplicant-full-mbedtls
)
777 define Package
/eapol-test-mbedtls
/install
778 $(INSTALL_DIR
) $(1)/usr
/sbin
779 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
783 # Build hostapd-common before its dependents, to avoid
784 # spurious rebuilds when building multiple variants.
785 $(eval
$(call BuildPackage
,hostapd-common
))
786 $(eval
$(call BuildPackage
,hostapd
))
787 $(eval
$(call BuildPackage
,hostapd-basic
))
788 $(eval
$(call BuildPackage
,hostapd-basic-openssl
))
789 $(eval
$(call BuildPackage
,hostapd-basic-wolfssl
))
790 $(eval
$(call BuildPackage
,hostapd-basic-mbedtls
))
791 $(eval
$(call BuildPackage
,hostapd-mini
))
792 $(eval
$(call BuildPackage
,hostapd-openssl
))
793 $(eval
$(call BuildPackage
,hostapd-wolfssl
))
794 $(eval
$(call BuildPackage
,hostapd-mbedtls
))
795 $(eval
$(call BuildPackage
,wpad
))
796 $(eval
$(call BuildPackage
,wpad-mesh-openssl
))
797 $(eval
$(call BuildPackage
,wpad-mesh-wolfssl
))
798 $(eval
$(call BuildPackage
,wpad-mesh-mbedtls
))
799 $(eval
$(call BuildPackage
,wpad-basic
))
800 $(eval
$(call BuildPackage
,wpad-basic-openssl
))
801 $(eval
$(call BuildPackage
,wpad-basic-wolfssl
))
802 $(eval
$(call BuildPackage
,wpad-basic-mbedtls
))
803 $(eval
$(call BuildPackage
,wpad-mini
))
804 $(eval
$(call BuildPackage
,wpad-openssl
))
805 $(eval
$(call BuildPackage
,wpad-wolfssl
))
806 $(eval
$(call BuildPackage
,wpad-mbedtls
))
807 $(eval
$(call BuildPackage
,wpa-supplicant
))
808 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-openssl
))
809 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-wolfssl
))
810 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-mbedtls
))
811 $(eval
$(call BuildPackage
,wpa-supplicant-basic
))
812 $(eval
$(call BuildPackage
,wpa-supplicant-mini
))
813 $(eval
$(call BuildPackage
,wpa-supplicant-p2p
))
814 $(eval
$(call BuildPackage
,wpa-supplicant-openssl
))
815 $(eval
$(call BuildPackage
,wpa-supplicant-wolfssl
))
816 $(eval
$(call BuildPackage
,wpa-supplicant-mbedtls
))
817 $(eval
$(call BuildPackage
,wpa-cli
))
818 $(eval
$(call BuildPackage
,hostapd-utils
))
819 $(eval
$(call BuildPackage
,eapol-test
))
820 $(eval
$(call BuildPackage
,eapol-test-openssl
))
821 $(eval
$(call BuildPackage
,eapol-test-wolfssl
))
822 $(eval
$(call BuildPackage
,eapol-test-mbedtls
))