45d1883e95b33602c85b43275d79f296cfd9a975
[openwrt/openwrt.git] / package / network / services / hostapd / Makefile
1 # Copyright (C) 2006-2014 OpenWrt.org
2 #
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
5 #
6
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=hostapd
10 PKG_RELEASE:=2
11
12 PKG_SOURCE_URL:=http://w1.fi/hostap.git
13 PKG_SOURCE_PROTO:=git
14 PKG_SOURCE_DATE:=2018-05-21
15 PKG_SOURCE_VERSION:=62566bc23d041e88f8e35933d5fd8c2fd0f7cf2a
16 PKG_MIRROR_HASH:=f234b24f9471ae9cb34460feec6d6614641691544101535673595272c91448eb
17
18 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
19 PKG_LICENSE:=BSD-3-Clause
20 PKG_CPE_ID:=cpe:/a:w1.fi:hostapd
21
22 PKG_BUILD_PARALLEL:=1
23
24 PKG_CONFIG_DEPENDS:= \
25 CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK \
26 CONFIG_PACKAGE_kmod-ath9k \
27 CONFIG_PACKAGE_kmod-cfg80211 \
28 CONFIG_PACKAGE_hostapd \
29 CONFIG_PACKAGE_hostapd-mini \
30 CONFIG_WPA_RFKILL_SUPPORT \
31 CONFIG_DRIVER_WEXT_SUPPORT \
32 CONFIG_DRIVER_11N_SUPPORT \
33 CONFIG_DRIVER_11AC_SUPPORT \
34
35 LOCAL_TYPE=$(strip \
36 $(if $(findstring wpad,$(BUILD_VARIANT)),wpad, \
37 $(if $(findstring supplicant,$(BUILD_VARIANT)),supplicant, \
38 hostapd \
39 )))
40
41 LOCAL_AND_LIB_VARIANT=$(patsubst hostapd-%,%,\
42 $(patsubst wpad-%,%,\
43 $(patsubst supplicant-%,%,\
44 $(BUILD_VARIANT)\
45 )))
46
47 LOCAL_VARIANT=$(patsubst %-internal,%,\
48 $(patsubst %-openssl,%,\
49 $(patsubst %-wolfssl,%,\
50 $(LOCAL_AND_LIB_VARIANT)\
51 )))
52
53 SSL_VARIANT=$(strip \
54 $(if $(findstring openssl,$(LOCAL_AND_LIB_VARIANT)),openssl,\
55 $(if $(findstring wolfssl,$(LOCAL_AND_LIB_VARIANT)),wolfssl,\
56 internal\
57 )))
58
59 CONFIG_VARIANT:=$(LOCAL_VARIANT)
60 ifeq ($(LOCAL_VARIANT),mesh)
61 CONFIG_VARIANT:=full
62 endif
63
64 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
65
66 include $(INCLUDE_DIR)/package.mk
67
68 STAMP_CONFIGURED:=$(STAMP_CONFIGURED)_$(CONFIG_WPA_MSG_MIN_PRIORITY)
69
70 WPAD_PROVIDERS:=wpad-mini wpad wpad-openssl wpad-wolfssl \
71 wpad-mesh-openssl wpad-mesh-wolfssl
72
73 SUPPLICANT_ONLY_PROVIDERS:=wpa_supplicant-mini wpa_supplicant-p2p \
74 wpa_supplicant wpa_supplicant-openssl wpa_supplicant-wolfssl \
75 wpa_supplicant-mesh-openssl wpa_supplicant-mesh-wolfssl
76
77 HOSTAPD_ONLY_PROVIDERS:=hostapd-mini hostapd hostapd-openssl hostapd-wolfssl
78
79 EAPOL_TEST_PROVIDERS:=eapol-test eapol-test-openssl eapol-test-wolfssl
80
81 SUPPLICANT_PROVIDERS:=$(WPAD_PROVIDERS) $(SUPPLICANT_ONLY_PROVIDERS)
82 HOSTAPD_PROVIDERS:=$(WPAD_PROVIDERS) $(HOSTAPD_ONLY_PROVIDERS)
83 ANY_PROVIDERS:=$(WPAD_PROVIDERS) $(HOSTAPD_ONLY_PROVIDERS) $(SUPPLICANT_ONLY_PROVIDERS)
84
85 ifneq ($(CONFIG_DRIVER_11N_SUPPORT),)
86 HOSTAPD_IEEE80211N:=y
87 endif
88
89 ifneq ($(CONFIG_DRIVER_11AC_SUPPORT),)
90 HOSTAPD_IEEE80211AC:=y
91 endif
92
93 DRIVER_MAKEOPTS= \
94 CONFIG_ACS=$(CONFIG_PACKAGE_kmod-cfg80211) \
95 CONFIG_DRIVER_NL80211=$(CONFIG_PACKAGE_kmod-cfg80211) \
96 CONFIG_IEEE80211N=$(HOSTAPD_IEEE80211N) \
97 CONFIG_IEEE80211AC=$(HOSTAPD_IEEE80211AC) \
98 CONFIG_DRIVER_WEXT=$(CONFIG_DRIVER_WEXT_SUPPORT) \
99
100 space :=
101 space +=
102
103 ifeq ($(LOCAL_VARIANT),full)
104 DRIVER_MAKEOPTS += CONFIG_IEEE80211W=$(CONFIG_DRIVER_11W_SUPPORT)
105 endif
106
107 ifneq ($(LOCAL_TYPE),hostapd)
108 ifeq ($(LOCAL_VARIANT),full)
109 ifeq ($(SSL_VARIANT),openssl)
110 DRIVER_MAKEOPTS += CONFIG_TLS=openssl
111 TARGET_LDFLAGS += -lcrypto -lssl
112 endif
113 ifeq ($(SSL_VARIANT),wolfssl)
114 DRIVER_MAKEOPTS += CONFIG_TLS=wolfssl CONFIG_WPS_NFC=1
115 TARGET_LDFLAGS += -lwolfssl
116 endif
117 endif
118
119 ifeq ($(LOCAL_VARIANT),mesh)
120 ifeq ($(SSL_VARIANT),openssl)
121 DRIVER_MAKEOPTS += CONFIG_TLS=openssl CONFIG_AP=y CONFIG_SAE=y CONFIG_MESH=y
122 TARGET_LDFLAGS += -lcrypto -lssl
123 endif
124 ifeq ($(SSL_VARIANT),wolfssl)
125 DRIVER_MAKEOPTS += CONFIG_TLS=wolfssl CONFIG_WPS_NFC=1 CONFIG_AP=y CONFIG_SAE=y CONFIG_MESH=y
126 TARGET_LDFLAGS += -lwolfssl
127 endif
128 endif
129
130 ifdef CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK
131 TARGET_CFLAGS += -DNO_TIMESTAMP_CHECK
132 endif
133 ifdef CONFIG_WPA_RFKILL_SUPPORT
134 DRIVER_MAKEOPTS += NEED_RFKILL=y
135 endif
136 DRIVER_MAKEOPTS += \
137 CONFIG_DRIVER_ROBOSWITCH=$(CONFIG_PACKAGE_kmod-switch)
138 endif
139
140 ifdef CONFIG_USE_GLIBC
141 TARGET_LDFLAGS += -lrt
142 TARGET_LDFLAGS_C += -lrt
143 endif
144
145 DRV_DEPENDS:=+PACKAGE_kmod-cfg80211:libnl-tiny
146
147 define Package/hostapd/Default
148 SECTION:=net
149 CATEGORY:=Network
150 TITLE:=IEEE 802.1x Authenticator
151 URL:=http://hostap.epitest.fi/
152 DEPENDS:=$(DRV_DEPENDS) +hostapd-common +libubus
153 endef
154
155 define Package/hostapd
156 $(call Package/hostapd/Default)
157 TITLE+= (full)
158 VARIANT:=full-internal
159 endef
160
161 define Package/hostapd-openssl
162 $(call Package/hostapd/Default)
163 TITLE+= (full)
164 VARIANT:=full-openssl
165 DEPENDS+=+libopenssl
166 CONFLICTS:=$(filter-out hostapd-openssl ,$(HOSTAPD_ONLY_PROVIDERS))
167 PROVIDES:=hostapd
168 endef
169
170 define Package/hostapd-wolfssl
171 $(call Package/hostapd/Default)
172 TITLE+= (full)
173 VARIANT:=full-wolfssl
174 DEPENDS+=+libwolfssl
175 CONFLICTS:=$(filter-out hostapd-openssl ,$(filter-out hostapd-wolfssl ,$(HOSTAPD_ONLY_PROVIDERS)))
176 PROVIDES:=hostapd
177 endef
178
179 define Package/hostapd/description
180 This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS
181 Authenticator.
182 endef
183
184 Package/hostapd-openssl/description = $(Package/hostapd/description)
185 Package/hostapd-wolfssl/description = $(Package/hostapd/description)
186
187 define Package/hostapd-mini
188 $(call Package/hostapd/Default)
189 TITLE+= (WPA-PSK only)
190 VARIANT:=mini
191 CONFLICTS:=$(filter-out hostapd-wolfssl ,$(filter-out hostapd-openssl ,$(filter-out hostapd-mini ,$(HOSTAPD_ONLY_PROVIDERS))))
192 PROVIDES:=hostapd
193 endef
194
195 define Package/hostapd-mini/description
196 This package contains a minimal IEEE 802.1x/WPA Authenticator (WPA-PSK only).
197 endef
198
199
200 define Package/hostapd-utils
201 $(call Package/hostapd/Default)
202 TITLE+= (utils)
203 DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(HOSTAPD_PROVIDERS),PACKAGE_$(pkg)))
204 endef
205
206 define Package/hostapd-utils/description
207 This package contains a command line utility to control the
208 IEEE 802.1x/WPA/EAP/RADIUS Authenticator.
209 endef
210
211 define Package/wpad/Default
212 SECTION:=net
213 CATEGORY:=Network
214 TITLE:=IEEE 802.1x Authenticator/Supplicant
215 DEPENDS:=$(DRV_DEPENDS) +hostapd-common +libubus
216 URL:=http://hostap.epitest.fi/
217 PROVIDES:=hostapd wpa-supplicant
218 endef
219
220 define Package/wpad
221 $(call Package/wpad/Default)
222 TITLE+= (full)
223 VARIANT:=wpad-full-internal
224 endef
225
226 define Package/wpad-openssl
227 $(call Package/wpad/Default)
228 TITLE+= (full)
229 VARIANT:=wpad-full-openssl
230 DEPENDS+=+libopenssl
231 CONFLICTS:=$(filter-out wpad-mesh-wolfssl,\
232 $(filter-out wpad-mesh-openssl ,\
233 $(filter-out wpad-openssl ,\
234 $(ANY_PROVIDERS))))
235 endef
236
237 define Package/wpad-wolfssl
238 $(call Package/wpad/Default)
239 TITLE+= (full)
240 VARIANT:=wpad-full-wolfssl
241 DEPENDS+=+libwolfssl
242 CONFLICTS:=$(filter-out wpad-mesh-wolfssl ,\
243 $(filter-out wpad-mesh-openssl ,\
244 $(filter-out wpad-openssl ,\
245 $(filter-out wpad-wolfssl ,\
246 $(ANY_PROVIDERS)))))
247 endef
248
249 define Package/wpad/description
250 This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS
251 Authenticator and Supplicant
252 endef
253
254 Package/wpad-openssl/description = $(Package/wpad/description)
255 Package/wpad-wolfssl/description = $(Package/wpad/description)
256
257 define Package/wpad-mini
258 $(call Package/wpad/Default)
259 TITLE+= (WPA-PSK only)
260 VARIANT:=wpad-mini
261 endef
262
263 define Package/wpad-mini/description
264 This package contains a minimal IEEE 802.1x/WPA Authenticator and Supplicant (WPA-PSK only).
265 endef
266
267 define Package/wpad-mesh-openssl
268 $(call Package/wpad/Default)
269 TITLE+= (with 802.11s mesh and SAE support)
270 DEPENDS+=@PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) +libopenssl
271 VARIANT:=wpad-mesh-openssl
272 CONFLICTS:=$(filter-out wpad-mesh-openssl ,$(ANY_PROVIDERS))
273 PROVIDES+=wpa-supplicant-mesh wpad-mesh
274 endef
275
276 define Package/wpad-mesh-wolfssl
277 $(call Package/wpad/Default)
278 TITLE+= (with 802.11s mesh and SAE support)
279 DEPENDS+=@PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) +libwolfssl
280 VARIANT:=wpad-mesh-wolfssl
281 CONFLICTS:=$(filter-out wpad-mesh-openssl ,$(filter-out wpad-mesh-wolfssl ,$(ANY_PROVIDERS)))
282 PROVIDES+=wpa-supplicant-mesh wpad-mesh
283 endef
284
285 define Package/wpad-mesh/description
286 This package contains a minimal IEEE 802.1x/WPA Authenticator and Supplicant (with 802.11s mesh and SAE support).
287 endef
288
289 Package/wpad-mesh-openssl/description = $(Package/wpad-mesh/description)
290 Package/wpad-mesh-wolfssl/description = $(Package/wpad-mesh/description)
291
292 define Package/wpa-supplicant/Default
293 SECTION:=net
294 CATEGORY:=Network
295 TITLE:=WPA Supplicant
296 URL:=http://hostap.epitest.fi/wpa_supplicant/
297 DEPENDS:=$(DRV_DEPENDS)
298 endef
299
300 define Package/wpa-supplicant
301 $(Package/wpa-supplicant/Default)
302 CONFLICTS:=$(filter-out wpa-supplicant ,$(SUPPLICANT_ONLY_PROVIDERS))
303 VARIANT:=supplicant-full-internal
304 endef
305
306 define Package/wpa-supplicant-openssl
307 $(Package/wpa-supplicant/Default)
308 CONFLICTS:=$(filter-out wpa-supplicant-openssl ,$(SUPPLICANT_ONLY_PROVIDERS))
309 VARIANT:=supplicant-full-openssl
310 DEPENDS+=+libopenssl
311 PROVIDES:=wpa-supplicant
312 endef
313
314 define Package/wpa-supplicant-wolfssl
315 $(Package/wpa-supplicant/Default)
316 CONFLICTS:=$(filter-out wpa-supplicant-wolfssl ,$(SUPPLICANT_ONLY_PROVIDERS))
317 VARIANT:=supplicant-full-wolfssl
318 DEPENDS+=+libwolfssl
319 PROVIDES:=wpa-supplicant
320 endef
321
322 define Package/wpa-supplicant/config
323 source "$(SOURCE)/Config.in"
324 endef
325
326 define Package/wpa-supplicant-p2p
327 $(Package/wpa-supplicant)
328 TITLE:=WPA Supplicant (with Wi-Fi P2P support)
329 DEPENDS:=$(DRV_DEPENDS) @PACKAGE_kmod-cfg80211
330 CONFLICTS:=$(filter-out wpa-supplicant-p2p ,$(SUPPLICANT_ONLY_PROVIDERS))
331 VARIANT:=supplicant-p2p-internal
332 PROVIDES:=wpa-supplicant
333 endef
334
335 define Package/wpa-supplicant-mesh/Default
336 $(Package/wpa-supplicant)
337 TITLE:=WPA Supplicant (with 802.11s and SAE)
338 DEPENDS:=$(DRV_DEPENDS) @PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN)
339 PROVIDES:=wpa-supplicant wpa-supplicant-mesh
340 endef
341
342 define Package/wpa-supplicant-mesh-openssl
343 $(Package/wpa-supplicant-mesh/Default)
344 VARIANT:=supplicant-mesh-openssl
345 CONFLICTS:=$(filter-out wpa-supplicant-mesh-openssl ,$(SUPPLICANT_ONLY_PROVIDERS))
346 DEPENDS+=+libopenssl
347 endef
348
349 define Package/wpa-supplicant-mesh-wolfssl
350 $(Package/wpa-supplicant-mesh/Default)
351 VARIANT:=supplicant-mesh-wolfssl
352 CONFLICTS:=$(filter-out wpa-supplicant-mesh-openssl ,$(filter-out wpa-supplicant-mesh-wolfssl ,$(SUPPLICANT_ONLY_PROVIDERS)))
353 DEPENDS+=+libwolfssl
354 endef
355
356 define Package/wpa-supplicant-mini
357 $(Package/wpa-supplicant)
358 TITLE:=WPA Supplicant (minimal version)
359 DEPENDS:=$(DRV_DEPENDS)
360 CONFLICTS:=$(filter-out wpa-supplicant-mini ,$(SUPPLICANT_ONLY_PROVIDERS))
361 VARIANT:=supplicant-mini
362 PROVIDES:=wpa-supplicant
363 endef
364
365 define Package/wpa-cli
366 SECTION:=net
367 CATEGORY:=Network
368 DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(SUPPLICANT_PROVIDERS),PACKAGE_$(pkg)))
369 TITLE:=WPA Supplicant command line control utility
370 endef
371
372 define Package/hostapd-common
373 TITLE:=hostapd/wpa_supplicant common support files
374 SECTION:=net
375 CATEGORY:=Network
376 endef
377
378 define Package/eapol-test
379 TITLE:=802.1x authentication test utility
380 SECTION:=net
381 CATEGORY:=Network
382 VARIANT:=supplicant-full-internal
383 DEPENDS:=$(DRV_DEPENDS)
384 endef
385
386 define Package/eapol-test-openssl
387 TITLE:=802.1x authentication test utility
388 SECTION:=net
389 CATEGORY:=Network
390 VARIANT:=supplicant-full-openssl
391 CONFLICTS:=$(filter-out eapol-test-openssl ,$(EAPOL_TEST_PROVIDERS))
392 DEPENDS:=$(DRV_DEPENDS) +libopenssl
393 endef
394
395 define Package/eapol-test-wolfssl
396 TITLE:=802.1x authentication test utility
397 SECTION:=net
398 CATEGORY:=Network
399 VARIANT:=supplicant-full-wolfssl
400 CONFLICTS:=$(filter-out eapol-test-openssl ,$(filter-out eapol-test-wolfssl ,$(EAPOL_TEST_PROVIDERS)))
401 DEPENDS:=$(DRV_DEPENDS) +libwolfssl
402 endef
403
404
405 ifneq ($(wildcard $(PKG_BUILD_DIR)/.config_*),$(subst .configured_,.config_,$(STAMP_CONFIGURED)))
406 define Build/Configure/rebuild
407 $(FIND) $(PKG_BUILD_DIR) -name \*.o -or -name \*.a | $(XARGS) rm -f
408 rm -f $(PKG_BUILD_DIR)/hostapd/hostapd
409 rm -f $(PKG_BUILD_DIR)/wpa_supplicant/wpa_supplicant
410 rm -f $(PKG_BUILD_DIR)/.config_*
411 touch $(subst .configured_,.config_,$(STAMP_CONFIGURED))
412 endef
413 endif
414
415 define Build/Configure
416 $(Build/Configure/rebuild)
417 $(if $(wildcard ./files/hostapd-$(CONFIG_VARIANT).config), \
418 $(CP) ./files/hostapd-$(CONFIG_VARIANT).config $(PKG_BUILD_DIR)/hostapd/.config \
419 )
420 $(CP) ./files/wpa_supplicant-$(CONFIG_VARIANT).config $(PKG_BUILD_DIR)/wpa_supplicant/.config
421 endef
422
423 TARGET_CPPFLAGS := \
424 -I$(STAGING_DIR)/usr/include/libnl-tiny \
425 -I$(PKG_BUILD_DIR)/src/crypto \
426 $(TARGET_CPPFLAGS) \
427 -DCONFIG_LIBNL20 \
428 -D_GNU_SOURCE \
429 $(if $(CONFIG_WPA_MSG_MIN_PRIORITY),-DCONFIG_MSG_MIN_PRIORITY=$(CONFIG_WPA_MSG_MIN_PRIORITY))
430
431 TARGET_CFLAGS += -ffunction-sections -fdata-sections
432 TARGET_LDFLAGS += -Wl,--gc-sections
433 ifeq ($(findstring supplicant,$(BUILD_VARIANT)),)
434 TARGET_LDFLAGS += -lubox -lubus
435 endif
436
437 ifdef CONFIG_PACKAGE_kmod-cfg80211
438 TARGET_LDFLAGS += -lm -lnl-tiny
439 endif
440
441 define Build/RunMake
442 CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
443 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(1) \
444 $(TARGET_CONFIGURE_OPTS) \
445 $(DRIVER_MAKEOPTS) \
446 LIBS="$(TARGET_LDFLAGS)" \
447 LIBS_c="$(TARGET_LDFLAGS_C)" \
448 BCHECK= \
449 $(2)
450 endef
451
452 define Build/Compile/wpad
453 echo ` \
454 $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \
455 $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
456 sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
457 ` > $(PKG_BUILD_DIR)/.cflags
458 sed -i 's/"/\\"/g' $(PKG_BUILD_DIR)/.cflags
459 +$(call Build/RunMake,hostapd, \
460 CFLAGS="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
461 MULTICALL=1 \
462 hostapd_cli hostapd_multi.a \
463 )
464 +$(call Build/RunMake,wpa_supplicant, \
465 CFLAGS="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
466 MULTICALL=1 \
467 wpa_cli wpa_supplicant_multi.a \
468 )
469 $(TARGET_CC) -o $(PKG_BUILD_DIR)/wpad \
470 $(TARGET_CFLAGS) \
471 ./files/multicall.c \
472 $(PKG_BUILD_DIR)/hostapd/hostapd_multi.a \
473 $(PKG_BUILD_DIR)/wpa_supplicant/wpa_supplicant_multi.a \
474 $(TARGET_LDFLAGS)
475 endef
476
477 define Build/Compile/hostapd
478 +$(call Build/RunMake,hostapd, \
479 hostapd hostapd_cli \
480 )
481 endef
482
483 define Build/Compile/supplicant
484 +$(call Build/RunMake,wpa_supplicant, \
485 wpa_cli wpa_supplicant \
486 )
487 endef
488
489 define Build/Compile/supplicant-full-internal
490 +$(call Build/RunMake,wpa_supplicant, \
491 eapol_test \
492 )
493 endef
494
495 define Build/Compile/supplicant-full-openssl
496 +$(call Build/RunMake,wpa_supplicant, \
497 eapol_test \
498 )
499 endef
500
501 define Build/Compile/supplicant-full-wolfssl
502 +$(call Build/RunMake,wpa_supplicant, \
503 eapol_test \
504 )
505 endef
506
507 define Build/Compile
508 $(Build/Compile/$(LOCAL_TYPE))
509 $(Build/Compile/$(BUILD_VARIANT))
510 endef
511
512 define Install/hostapd
513 $(INSTALL_DIR) $(1)/usr/sbin
514 endef
515
516 define Install/supplicant
517 $(INSTALL_DIR) $(1)/usr/sbin
518 endef
519
520 define Package/hostapd-common/install
521 $(INSTALL_DIR) $(1)/lib/netifd
522 $(INSTALL_DATA) ./files/hostapd.sh $(1)/lib/netifd/hostapd.sh
523 endef
524
525 define Package/hostapd/install
526 $(call Install/hostapd,$(1))
527 $(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd $(1)/usr/sbin/
528 endef
529 Package/hostapd-mini/install = $(Package/hostapd/install)
530 Package/hostapd-openssl/install = $(Package/hostapd/install)
531 Package/hostapd-wolfssl/install = $(Package/hostapd/install)
532
533 ifneq ($(LOCAL_TYPE),supplicant)
534 define Package/hostapd-utils/install
535 $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/rc.button
536 $(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd_cli $(1)/usr/sbin/
537 $(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps
538 endef
539 endif
540
541 define Package/wpad/install
542 $(call Install/hostapd,$(1))
543 $(call Install/supplicant,$(1))
544 $(INSTALL_BIN) $(PKG_BUILD_DIR)/wpad $(1)/usr/sbin/
545 $(LN) wpad $(1)/usr/sbin/hostapd
546 $(LN) wpad $(1)/usr/sbin/wpa_supplicant
547 endef
548 Package/wpad-mini/install = $(Package/wpad/install)
549 Package/wpad-openssl/install = $(Package/wpad/install)
550 Package/wpad-wolfssl/install = $(Package/wpad/install)
551 Package/wpad-mesh-openssl/install = $(Package/wpad/install)
552 Package/wpad-mesh-wolfssl/install = $(Package/wpad/install)
553
554 define Package/wpa-supplicant/install
555 $(call Install/supplicant,$(1))
556 $(INSTALL_BIN) $(PKG_BUILD_DIR)/wpa_supplicant/wpa_supplicant $(1)/usr/sbin/
557 endef
558 Package/wpa-supplicant-mini/install = $(Package/wpa-supplicant/install)
559 Package/wpa-supplicant-p2p/install = $(Package/wpa-supplicant/install)
560 Package/wpa-supplicant-openssl/install = $(Package/wpa-supplicant/install)
561 Package/wpa-supplicant-wolfssl/install = $(Package/wpa-supplicant/install)
562 Package/wpa-supplicant-mesh-openssl/install = $(Package/wpa-supplicant/install)
563 Package/wpa-supplicant-mesh-wolfssl/install = $(Package/wpa-supplicant/install)
564
565 ifneq ($(LOCAL_TYPE),hostapd)
566 define Package/wpa-cli/install
567 $(INSTALL_DIR) $(1)/usr/sbin
568 $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/wpa_cli $(1)/usr/sbin/
569 endef
570 endif
571
572 ifeq ($(BUILD_VARIANT),supplicant-full-internal)
573 define Package/eapol-test/install
574 $(INSTALL_DIR) $(1)/usr/sbin
575 $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/eapol_test $(1)/usr/sbin/
576 endef
577 endif
578
579 ifeq ($(BUILD_VARIANT),supplicant-full-openssl)
580 define Package/eapol-test-openssl/install
581 $(INSTALL_DIR) $(1)/usr/sbin
582 $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/eapol_test $(1)/usr/sbin/
583 endef
584 endif
585
586 ifeq ($(BUILD_VARIANT),supplicant-full-wolfssl)
587 define Package/eapol-test-wolfssl/install
588 $(INSTALL_DIR) $(1)/usr/sbin
589 $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/eapol_test $(1)/usr/sbin/
590 endef
591 endif
592
593 $(eval $(call BuildPackage,hostapd))
594 $(eval $(call BuildPackage,hostapd-mini))
595 $(eval $(call BuildPackage,hostapd-openssl))
596 $(eval $(call BuildPackage,hostapd-wolfssl))
597 $(eval $(call BuildPackage,wpad))
598 $(eval $(call BuildPackage,wpad-mesh-openssl))
599 $(eval $(call BuildPackage,wpad-mesh-wolfssl))
600 $(eval $(call BuildPackage,wpad-mini))
601 $(eval $(call BuildPackage,wpad-openssl))
602 $(eval $(call BuildPackage,wpad-wolfssl))
603 $(eval $(call BuildPackage,wpa-supplicant))
604 $(eval $(call BuildPackage,wpa-supplicant-mesh-openssl))
605 $(eval $(call BuildPackage,wpa-supplicant-mesh-wolfssl))
606 $(eval $(call BuildPackage,wpa-supplicant-mini))
607 $(eval $(call BuildPackage,wpa-supplicant-p2p))
608 $(eval $(call BuildPackage,wpa-supplicant-openssl))
609 $(eval $(call BuildPackage,wpa-supplicant-wolfssl))
610 $(eval $(call BuildPackage,wpa-cli))
611 $(eval $(call BuildPackage,hostapd-utils))
612 $(eval $(call BuildPackage,hostapd-common))
613 $(eval $(call BuildPackage,eapol-test))
614 $(eval $(call BuildPackage,eapol-test-openssl))
615 $(eval $(call BuildPackage,eapol-test-wolfssl))