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
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
+libblobmsg-json
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
+libblobmsg-json
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
+libblobmsg-json
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
+libblobmsg-json
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
-lblobmsg_json
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
/full
678 $(INSTALL_DIR
) $(1)/etc
/init.d
$(1)/etc
/config
$(1)/etc
/radius
679 ln
-sf hostapd
$(1)/usr
/sbin
/hostapd-radius
680 $(INSTALL_BIN
) .
/files
/radius.init
$(1)/etc
/init.d
/radius
681 $(INSTALL_DATA
) .
/files
/radius.config
$(1)/etc
/config
/radius
682 $(INSTALL_DATA
) .
/files
/radius.clients
$(1)/etc
/radius
/clients
683 $(INSTALL_DATA
) .
/files
/radius.users
$(1)/etc
/radius
/users
686 define Package
/hostapd-full
/conffiles
691 ifeq ($(CONFIG_VARIANT
),full
)
692 Package
/wpad-mesh-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
693 Package
/wpad-mesh-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
694 Package
/wpad-mesh-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
695 Package
/wpad
/conffiles
= $(Package
/hostapd-full
/conffiles
)
696 Package
/wpad-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
697 Package
/wpad-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
698 Package
/wpad-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
699 Package
/hostapd
/conffiles
= $(Package
/hostapd-full
/conffiles
)
700 Package
/hostapd-openssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
701 Package
/hostapd-wolfssl
/conffiles
= $(Package
/hostapd-full
/conffiles
)
702 Package
/hostapd-mbedtls
/conffiles
= $(Package
/hostapd-full
/conffiles
)
705 define Install
/hostapd
706 $(INSTALL_DIR
) $(1)/usr
/sbin
707 $(if
$(findstring full
,$(CONFIG_VARIANT
)),$(Install
/hostapd
/full
))
710 define Install
/supplicant
711 $(INSTALL_DIR
) $(1)/usr
/sbin
714 define Package
/hostapd-common
/install
715 $(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
716 $(INSTALL_BIN
) .
/files
/dhcp-get-server.sh
$(1)/lib
/netifd
/dhcp-get-server.sh
717 $(INSTALL_DATA
) .
/files
/hostapd.sh
$(1)/lib
/netifd
/hostapd.sh
718 $(INSTALL_BIN
) .
/files
/wpad.init
$(1)/etc
/init.d
/wpad
719 $(INSTALL_BIN
) .
/files
/wps-hotplug.sh
$(1)/etc
/rc.button
/wps
720 $(INSTALL_DATA
) .
/files
/wpad_acl.json
$(1)/usr
/share
/acl.d
721 $(INSTALL_DATA
) .
/files
/wpad.json
$(1)/etc
/capabilities
724 define Package
/hostapd
/install
725 $(call Install
/hostapd
,$(1))
726 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd
$(1)/usr
/sbin
/
728 Package
/hostapd-basic
/install = $(Package
/hostapd
/install)
729 Package
/hostapd-basic-openssl
/install = $(Package
/hostapd
/install)
730 Package
/hostapd-basic-wolfssl
/install = $(Package
/hostapd
/install)
731 Package
/hostapd-basic-mbedtls
/install = $(Package
/hostapd
/install)
732 Package
/hostapd-mini
/install = $(Package
/hostapd
/install)
733 Package
/hostapd-openssl
/install = $(Package
/hostapd
/install)
734 Package
/hostapd-wolfssl
/install = $(Package
/hostapd
/install)
735 Package
/hostapd-mbedtls
/install = $(Package
/hostapd
/install)
737 ifneq ($(LOCAL_TYPE
),supplicant
)
738 define Package
/hostapd-utils
/install
739 $(INSTALL_DIR
) $(1)/usr
/sbin
740 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/hostapd
/hostapd_cli
$(1)/usr
/sbin
/
744 define Package
/wpad
/install
745 $(call Install
/hostapd
,$(1))
746 $(call Install
/supplicant
,$(1))
747 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpad
$(1)/usr
/sbin
/
748 $(LN
) wpad
$(1)/usr
/sbin
/hostapd
749 $(LN
) wpad
$(1)/usr
/sbin
/wpa_supplicant
751 Package
/wpad-basic
/install = $(Package
/wpad
/install)
752 Package
/wpad-basic-openssl
/install = $(Package
/wpad
/install)
753 Package
/wpad-basic-wolfssl
/install = $(Package
/wpad
/install)
754 Package
/wpad-basic-mbedtls
/install = $(Package
/wpad
/install)
755 Package
/wpad-mini
/install = $(Package
/wpad
/install)
756 Package
/wpad-openssl
/install = $(Package
/wpad
/install)
757 Package
/wpad-wolfssl
/install = $(Package
/wpad
/install)
758 Package
/wpad-mbedtls
/install = $(Package
/wpad
/install)
759 Package
/wpad-mesh-openssl
/install = $(Package
/wpad
/install)
760 Package
/wpad-mesh-wolfssl
/install = $(Package
/wpad
/install)
761 Package
/wpad-mesh-mbedtls
/install = $(Package
/wpad
/install)
763 define Package
/wpa-supplicant
/install
764 $(call Install
/supplicant
,$(1))
765 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_supplicant
$(1)/usr
/sbin
/
767 Package
/wpa-supplicant-basic
/install = $(Package
/wpa-supplicant
/install)
768 Package
/wpa-supplicant-mini
/install = $(Package
/wpa-supplicant
/install)
769 Package
/wpa-supplicant-p2p
/install = $(Package
/wpa-supplicant
/install)
770 Package
/wpa-supplicant-openssl
/install = $(Package
/wpa-supplicant
/install)
771 Package
/wpa-supplicant-wolfssl
/install = $(Package
/wpa-supplicant
/install)
772 Package
/wpa-supplicant-mbedtls
/install = $(Package
/wpa-supplicant
/install)
773 Package
/wpa-supplicant-mesh-openssl
/install = $(Package
/wpa-supplicant
/install)
774 Package
/wpa-supplicant-mesh-wolfssl
/install = $(Package
/wpa-supplicant
/install)
775 Package
/wpa-supplicant-mesh-mbedtls
/install = $(Package
/wpa-supplicant
/install)
777 ifneq ($(LOCAL_TYPE
),hostapd
)
778 define Package
/wpa-cli
/install
779 $(INSTALL_DIR
) $(1)/usr
/sbin
780 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/wpa_cli
$(1)/usr
/sbin
/
784 ifeq ($(BUILD_VARIANT
),supplicant-full-internal
)
785 define Package
/eapol-test
/install
786 $(INSTALL_DIR
) $(1)/usr
/sbin
787 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
791 ifeq ($(BUILD_VARIANT
),supplicant-full-openssl
)
792 define Package
/eapol-test-openssl
/install
793 $(INSTALL_DIR
) $(1)/usr
/sbin
794 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
798 ifeq ($(BUILD_VARIANT
),supplicant-full-wolfssl
)
799 define Package
/eapol-test-wolfssl
/install
800 $(INSTALL_DIR
) $(1)/usr
/sbin
801 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
805 ifeq ($(BUILD_VARIANT
),supplicant-full-mbedtls
)
806 define Package
/eapol-test-mbedtls
/install
807 $(INSTALL_DIR
) $(1)/usr
/sbin
808 $(CP
) $(PKG_BUILD_DIR
)/wpa_supplicant
/eapol_test
$(1)/usr
/sbin
/
812 # Build hostapd-common before its dependents, to avoid
813 # spurious rebuilds when building multiple variants.
814 $(eval
$(call BuildPackage
,hostapd-common
))
815 $(eval
$(call BuildPackage
,hostapd
))
816 $(eval
$(call BuildPackage
,hostapd-basic
))
817 $(eval
$(call BuildPackage
,hostapd-basic-openssl
))
818 $(eval
$(call BuildPackage
,hostapd-basic-wolfssl
))
819 $(eval
$(call BuildPackage
,hostapd-basic-mbedtls
))
820 $(eval
$(call BuildPackage
,hostapd-mini
))
821 $(eval
$(call BuildPackage
,hostapd-openssl
))
822 $(eval
$(call BuildPackage
,hostapd-wolfssl
))
823 $(eval
$(call BuildPackage
,hostapd-mbedtls
))
824 $(eval
$(call BuildPackage
,wpad
))
825 $(eval
$(call BuildPackage
,wpad-mesh-openssl
))
826 $(eval
$(call BuildPackage
,wpad-mesh-wolfssl
))
827 $(eval
$(call BuildPackage
,wpad-mesh-mbedtls
))
828 $(eval
$(call BuildPackage
,wpad-basic
))
829 $(eval
$(call BuildPackage
,wpad-basic-openssl
))
830 $(eval
$(call BuildPackage
,wpad-basic-wolfssl
))
831 $(eval
$(call BuildPackage
,wpad-basic-mbedtls
))
832 $(eval
$(call BuildPackage
,wpad-mini
))
833 $(eval
$(call BuildPackage
,wpad-openssl
))
834 $(eval
$(call BuildPackage
,wpad-wolfssl
))
835 $(eval
$(call BuildPackage
,wpad-mbedtls
))
836 $(eval
$(call BuildPackage
,wpa-supplicant
))
837 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-openssl
))
838 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-wolfssl
))
839 $(eval
$(call BuildPackage
,wpa-supplicant-mesh-mbedtls
))
840 $(eval
$(call BuildPackage
,wpa-supplicant-basic
))
841 $(eval
$(call BuildPackage
,wpa-supplicant-mini
))
842 $(eval
$(call BuildPackage
,wpa-supplicant-p2p
))
843 $(eval
$(call BuildPackage
,wpa-supplicant-openssl
))
844 $(eval
$(call BuildPackage
,wpa-supplicant-wolfssl
))
845 $(eval
$(call BuildPackage
,wpa-supplicant-mbedtls
))
846 $(eval
$(call BuildPackage
,wpa-cli
))
847 $(eval
$(call BuildPackage
,hostapd-utils
))
848 $(eval
$(call BuildPackage
,eapol-test
))
849 $(eval
$(call BuildPackage
,eapol-test-openssl
))
850 $(eval
$(call BuildPackage
,eapol-test-wolfssl
))
851 $(eval
$(call BuildPackage
,eapol-test-mbedtls
))