Makefile 17 KB

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