Makefile 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564
  1. #
  2. # Copyright (C) 2007-2009 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. include $(INCLUDE_DIR)/kernel.mk
  9. PKG_NAME:=mac80211
  10. ifneq ($(CONFIG_LINUX_2_6_21)$(CONFIG_LINUX_2_6_23)$(CONFIG_LINUX_2_6_24)$(CONFIG_LINUX_2_6_25)$(CONFIG_LINUX_2_6_26),)
  11. PKG_VERSION:=2008-08-06
  12. PKG_RELEASE:=2
  13. PKG_SOURCE_URL:=http://www.orbit-lab.org/kernel/compat-wireless-2.6/2008/08
  14. PKG_MD5SUM:=9563ceeed86bca0859ad5f010623277c
  15. PATCH_DIR:=./patches-old
  16. else
  17. PKG_VERSION:=2009-05-21
  18. PKG_RELEASE:=1
  19. PKG_SOURCE_URL:= \
  20. http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/05 \
  21. http://wireless.kernel.org/download/compat-wireless-2.6
  22. PKG_MD5SUM:=9d15b1d02c7ab48e96ec2f3f9b336e66
  23. endif
  24. PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
  25. PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
  26. PKG_CONFIG_DEPENDS:= \
  27. CONFIG_PACKAGE_kmod-mac80211 \
  28. include $(INCLUDE_DIR)/package.mk
  29. WMENU:=Wireless Drivers
  30. define KernelPackage/mac80211/Default
  31. SUBMENU:=$(WMENU)
  32. URL:=http://linuxwireless.org/
  33. DEPENDS:=@LINUX_2_6 @!TARGET_avr32
  34. endef
  35. define KernelPackage/mac80211
  36. $(call KernelPackage/mac80211/Default)
  37. TITLE:=Linux 802.11 Wireless Networking Stack
  38. DEPENDS+= +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools
  39. FILES:= \
  40. $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
  41. $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
  42. AUTOLOAD:=$(call AutoLoad,20,cfg80211 mac80211)
  43. endef
  44. define KernelPackage/mac80211/description
  45. Linux 802.11 Wireless Networking Stack
  46. endef
  47. # Prism54 drivers
  48. P54PCIFW:=2.13.12.0.arm
  49. P54USBFW:=2.13.24.0.lm86.arm
  50. define Download/p54usb
  51. FILE:=$(P54USBFW)
  52. URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
  53. MD5SUM:=2efd50eab43c0d0376765576a54b7a30
  54. endef
  55. $(eval $(call Download,p54usb))
  56. define Download/p54pci
  57. FILE:=$(P54PCIFW)
  58. URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
  59. MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
  60. endef
  61. $(eval $(call Download,p54pci))
  62. define KernelPackage/p54/Default
  63. $(call KernelPackage/mac80211/Default)
  64. TITLE:=Prism54 Drivers
  65. endef
  66. define KernelPackage/p54/description
  67. Kernel module for Prism54 chipsets (mac80211)
  68. endef
  69. define KernelPackage/p54-common
  70. $(call KernelPackage/p54/Default)
  71. DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
  72. TITLE+= (COMMON)
  73. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.$(LINUX_KMOD_SUFFIX)
  74. AUTOLOAD:=$(call AutoLoad,30,p54common)
  75. endef
  76. define KernelPackage/p54-pci
  77. $(call KernelPackage/p54/Default)
  78. TITLE+= (PCI)
  79. DEPENDS+= @PCI_SUPPORT +kmod-p54-common
  80. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.$(LINUX_KMOD_SUFFIX)
  81. AUTOLOAD:=$(call AutoLoad,31,p54pci)
  82. endef
  83. define KernelPackage/p54-usb
  84. $(call KernelPackage/p54/Default)
  85. TITLE+= (USB)
  86. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
  87. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.$(LINUX_KMOD_SUFFIX)
  88. AUTOLOAD:=$(call AutoLoad,31,p54usb)
  89. endef
  90. # Ralink rt2x00 drivers
  91. RT61FW:=RT61_Firmware_V1.2.zip
  92. RT71FW:=RT71W_Firmware_V1.8.zip
  93. RT2860FW:=RT2860_Firmware_V11.zip
  94. define Download/rt61
  95. FILE:=$(RT61FW)
  96. URL:=http://www.ralinktech.com.tw/data/
  97. MD5SUM:=d4c690c93b470bc9a681297c2adc6281
  98. endef
  99. $(eval $(call Download,rt61))
  100. define Download/rt71w
  101. FILE:=$(RT71FW)
  102. URL:=http://www.ralinktech.com.tw/data/
  103. MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
  104. endef
  105. $(eval $(call Download,rt71w))
  106. define Download/rt2860
  107. FILE:=$(RT2860FW)
  108. URL:=http://www.ralinktech.com.tw/data/drivers
  109. MD5SUM:=440a81756a52c53528f16faa41c40124
  110. endef
  111. $(eval $(call Download,rt2860))
  112. define KernelPackage/rt2x00/Default
  113. $(call KernelPackage/mac80211/Default)
  114. TITLE:=Ralink Drivers for RT2x00 cards
  115. endef
  116. define KernelPackage/rt2x00-lib
  117. $(call KernelPackage/rt2x00/Default)
  118. DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211 +kmod-crc-itu-t
  119. TITLE+= (LIB)
  120. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
  121. AUTOLOAD:=$(call AutoLoad,25,blkcipher ecb arc4 rt2x00lib)
  122. endef
  123. define KernelPackage/rt2x00-pci
  124. $(call KernelPackage/rt2x00/Default)
  125. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-lib +kmod-eeprom-93cx6
  126. TITLE+= (PCI)
  127. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
  128. AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
  129. endef
  130. define KernelPackage/rt2x00-usb
  131. $(call KernelPackage/rt2x00/Default)
  132. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
  133. TITLE+= (USB)
  134. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
  135. AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
  136. endef
  137. define KernelPackage/rt2400-pci
  138. $(call KernelPackage/rt2x00/Default)
  139. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  140. TITLE+= (RT2400 PCI)
  141. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
  142. AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
  143. endef
  144. define KernelPackage/rt2500-pci
  145. $(call KernelPackage/rt2x00/Default)
  146. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  147. TITLE+= (RT2500 PCI)
  148. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
  149. AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
  150. endef
  151. define KernelPackage/rt2500-usb
  152. $(call KernelPackage/rt2x00/Default)
  153. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
  154. TITLE+= (RT2500 USB)
  155. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
  156. AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
  157. endef
  158. define KernelPackage/rt61-pci
  159. $(call KernelPackage/rt2x00/Default)
  160. DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
  161. TITLE+= (RT2x61 PCI)
  162. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
  163. AUTOLOAD:=$(call AutoLoad,27,rt61pci)
  164. endef
  165. define KernelPackage/rt73-usb
  166. $(call KernelPackage/rt2x00/Default)
  167. DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
  168. TITLE+= (RT73 USB)
  169. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
  170. AUTOLOAD:=$(call AutoLoad,27,rt73usb)
  171. endef
  172. define KernelPackage/rt2800-pci
  173. $(call KernelPackage/rt2x00/Default)
  174. DEPENDS+= +kmod-rt2x00-pci +kmod-crc-ccitt @!LINUX_2_6_21||!LINUX_2_6_23||!LINUX_2_6_24||!LINUX_2_6_25||!LINUX_2_6_26
  175. TITLE+= (RT2860 PCI)
  176. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.$(LINUX_KMOD_SUFFIX)
  177. AUTOLOAD:=$(call AutoLoad,27,rt2800pci)
  178. endef
  179. define KernelPackage/rt2800-usb
  180. $(call KernelPackage/rt2x00/Default)
  181. DEPENDS+= +kmod-rt2x00-usb +kmod-crc-ccitt @!LINUX_2_6_21||!LINUX_2_6_23||!LINUX_2_6_24||!LINUX_2_6_25||!LINUX_2_6_26
  182. TITLE+= (RT2870 USB)
  183. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.$(LINUX_KMOD_SUFFIX)
  184. AUTOLOAD:=$(call AutoLoad,27,rt2800usb)
  185. endef
  186. ZD1211FW_NAME:=zd1211-firmware
  187. ZD1211FW_VERSION:=1.4
  188. define Download/zd1211rw
  189. FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  190. URL:=@SF/zd1211/
  191. MD5SUM:=19f28781d76569af8551c9d11294c870
  192. endef
  193. $(eval $(call Download,zd1211rw))
  194. define KernelPackage/zd1211rw
  195. $(call KernelPackage/mac80211/Default)
  196. TITLE:=Zydas ZD1211 support
  197. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
  198. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
  199. AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
  200. endef
  201. define KernelPackage/ath
  202. $(call KernelPackage/mac80211/Default)
  203. TITLE:=Atheros common driver part
  204. DEPENDS+= @PCI_SUPPORT +kmod-mac80211
  205. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.$(LINUX_KMOD_SUFFIX)
  206. AUTOLOAD:=$(call AutoLoad,26,ath)
  207. endef
  208. define KernelPackage/ath/description
  209. This module contains some common parts needed by Atheros Wireless drivers.
  210. endef
  211. define KernelPackage/ath5k
  212. $(call KernelPackage/mac80211/Default)
  213. TITLE:=Atheros 5xxx wireless cards support
  214. URL:=http://linuxwireless.org/en/users/Drivers/ath5k
  215. DEPENDS+= +kmod-ath
  216. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
  217. AUTOLOAD:=$(call AutoLoad,27,ath5k)
  218. endef
  219. define KernelPackage/ath5k/description
  220. This module adds support for wireless adapters based on
  221. Atheros 5xxx chipset.
  222. endef
  223. define KernelPackage/ath9k
  224. $(call KernelPackage/mac80211/Default)
  225. TITLE:=Atheros 802.11n wireless cards support
  226. URL:=http://linuxwireless.org/en/users/Drivers/ath9k
  227. DEPENDS+= +kmod-ath @!LINUX_2_6_21||!LINUX_2_6_23||!LINUX_2_6_24||!LINUX_2_6_25||!LINUX_2_6_26
  228. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
  229. AUTOLOAD:=$(call AutoLoad,27,ath9k)
  230. endef
  231. define KernelPackage/ath9k/description
  232. This module adds support for wireless adapters based on
  233. Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
  234. endef
  235. define KernelPackage/mac80211-hwsim
  236. $(call KernelPackage/mac80211/Default)
  237. TITLE:=mac80211 HW simulation device
  238. DEPENDS+= +kmod-mac80211
  239. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.$(LINUX_KMOD_SUFFIX)
  240. AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
  241. endef
  242. #Broadcom firmware
  243. ifneq ($(CONFIG_B43_EXPERIMENTAL),)
  244. PKG_B43_FWV4_NAME:=broadcom-wl
  245. PKG_B43_FWV4_VERSION:=4.178.10.4
  246. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl.o
  247. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  248. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  249. PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
  250. else
  251. PKG_B43_FWV4_NAME:=broadcom-wl
  252. PKG_B43_FWV4_VERSION:=4.150.10.5
  253. PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
  254. PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
  255. PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  256. PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
  257. endif
  258. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  259. PKG_B43_FWV4_NAME:=broadcom-wl
  260. PKG_B43_FWV4_VERSION:=5.1
  261. PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
  262. PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
  263. PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
  264. PKG_B43_FWV4_MD5SUM:=3510c133393bb4911c4aa35742cefcfd
  265. endif
  266. PKG_B43_FWV3_NAME:=wl_apsta
  267. PKG_B43_FWV3_VERSION:=3.130.20.0
  268. PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
  269. PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
  270. PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
  271. ifneq ($(CONFIG_B43_EXPERIMENTAL)$(CONFIG_B43_OPENFIRMWARE),)
  272. PKG_B43_FWCUTTER_NAME:=b43-fwcutter
  273. PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
  274. PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
  275. PKG_B43_FWCUTTER_PROTO:=git
  276. PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
  277. PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
  278. PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
  279. else
  280. PKG_B43_FWCUTTER_NAME:=b43-fwcutter
  281. PKG_B43_FWCUTTER_VERSION:=011
  282. PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
  283. PKG_B43_FWCUTTER_PROTO:=default
  284. PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
  285. PKG_B43_FWCUTTER_MD5SUM:=3db2f4de85a459451f5b391cf67a8d44
  286. PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
  287. PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
  288. endif
  289. define Download/b43-common
  290. FILE:=$(PKG_B43_FWCUTTER_SOURCE)
  291. URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
  292. MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
  293. PROTO:=$(PKG_B43_FWCUTTER_PROTO)
  294. VERSION:=$(PKG_B43_FWCUTTER_VERSION)
  295. SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
  296. endef
  297. $(eval $(call Download,b43-common))
  298. define Download/b43
  299. FILE:=$(PKG_B43_FWV4_SOURCE)
  300. URL:=$(PKG_B43_FWV4_SOURCE_URL)
  301. MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
  302. endef
  303. $(eval $(call Download,b43))
  304. define Download/b43legacy
  305. FILE:=$(PKG_B43_FWV3_SOURCE)
  306. URL:=$(PKG_B43_FWV3_SOURCE_URL)
  307. MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
  308. endef
  309. $(eval $(call Download,b43legacy))
  310. define KernelPackage/b43-common
  311. $(call KernelPackage/mac80211/Default)
  312. TITLE:=Generic stuff for Broadcom wireless devices
  313. URL:=http://linuxwireless.org/en/users/Drivers/b43
  314. DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb @!LINUX_2_6_21||!LINUX_2_6_23||!LINUX_2_6_24
  315. endef
  316. define KernelPackage/b43
  317. $(call KernelPackage/b43-common)
  318. TITLE:=Broadcom 43xx wireless support
  319. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
  320. AUTOLOAD:=$(call AutoLoad,30,b43)
  321. endef
  322. define KernelPackage/b43/config
  323. source "$(SOURCE)/Config.in"
  324. endef
  325. define KernelPackage/b43/description
  326. Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
  327. endef
  328. define KernelPackage/b43legacy
  329. $(call KernelPackage/b43-common)
  330. TITLE:=Broadcom 43xx-legacy wireless support
  331. FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.$(LINUX_KMOD_SUFFIX)
  332. AUTOLOAD:=$(call AutoLoad,30,b43legacy)
  333. endef
  334. define KernelPackage/b43legacy/description
  335. Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
  336. endef
  337. BUILDFLAGS:= \
  338. -I$(PKG_BUILD_DIR)/include \
  339. $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
  340. $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT -DCONFIG_SSB_DRIVER_PCICORE_POSSIBLE -DCONFIG_SSB_DRIVER_PCICORE) \
  341. $(if $(CONFIG_PCI),-DCONFIG_SSB_PCIHOST_POSSIBLE -DCONFIG_SSB_PCIHOST) \
  342. $(if $(CONFIG_PCI),-DCONFIG_SSB_SPROM) \
  343. $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS) \
  344. $(if $(CONFIG_RFKILL),-DCONFIG_B43_RFKILL -DCONFIG_B43LEGACY_RFKILL) \
  345. $(if $(CONFIG_HW_RANDOM),-DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG) \
  346. $(if $(CONFIG_DEBUG_FS), -DCONFIG_MAC80211_DEBUGFS) \
  347. -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
  348. MAKE_OPTS:= \
  349. CROSS_COMPILE="$(TARGET_CROSS)" \
  350. ARCH="$(LINUX_KARCH)" \
  351. EXTRA_CFLAGS="$(BUILDFLAGS)" \
  352. $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
  353. CONFIG_NL80211=y \
  354. CONFIG_MAC80211_RC_PID=y \
  355. CONFIG_MAC80211_RC_MINSTREL=y \
  356. CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  357. CONFIG_MAC80211_DEBUGFS=$(CONFIG_DEBUG_FS) \
  358. CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
  359. $(if $(CONFIG_PCI),CONFIG_B43_PCI_AUTOSELECT=y,CONFIG_B43_PCI_AUTOSELECT=n) \
  360. $(if $(CONFIG_PCI),CONFIG_B43_PCICORE_AUTOSELECT=y,CONFIG_B43_PCICORE_AUTOSELECT=n) \
  361. $(if $(CONFIG_PCI),CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y,CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=n) \
  362. $(if $(CONFIG_PCI),CONFIG_SSB_DRIVER_PCICORE=y,CONFIG_SSB_DRIVER_PCICORE=n) \
  363. $(if $(CONFIG_PCI),CONFIG_SSB_PCIHOST_POSSIBLE=y,CONFIG_SSB_PCIHOST_POSSIBLE=n) \
  364. $(if $(CONFIG_PCI),CONFIG_SSB_PCIHOST=y,CONFIG_SSB_PCIHOST=n) \
  365. $(if $(CONFIG_RFKILL),CONFIG_B43_RFKILL=y,CONFIG_B43_RFKILL=n) \
  366. $(if $(CONFIG_RFKILL),CONFIG_B43LEGACY_RFKILL=y,CONFIG_B43LEGACY_RFKILL=n) \
  367. CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  368. CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
  369. $(if $(CONFIG_HW_RANDOM),CONFIG_B43_HWRNG=y,CONFIG_B43_HWRNG=n) \
  370. $(if $(CONFIG_HW_RANDOM),CONFIG_B43LEGACY_HWRNG=y,CONFIG_B43LEGACY_HWRNG=n) \
  371. $(if $(CONFIG_PACKAGE_kmod-b43),CONFIG_B43=m) \
  372. $(if $(CONFIG_PACKAGE_kmod-b43legacy),CONFIG_B43LEGACY=m) \
  373. KLIB_BUILD="$(LINUX_DIR)" \
  374. MODPROBE=:
  375. define Build/Prepare
  376. rm -rf $(PKG_BUILD_DIR)
  377. mkdir -p $(PKG_BUILD_DIR)
  378. $(PKG_UNPACK)
  379. $(Build/Patch)
  380. unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
  381. unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
  382. -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
  383. $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
  384. rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
  385. rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
  386. rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
  387. endef
  388. ifneq ($(CONFIG_PACKAGE_kmod-mac80211),)
  389. define Build/Compile/kmod
  390. rm -rf $(PKG_BUILD_DIR)/modules
  391. $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
  392. endef
  393. endif
  394. define Build/Compile
  395. $(call Build/Compile/kmod)
  396. endef
  397. define Build/InstallDev
  398. mkdir -p $(1)/usr/include/mac80211 $(1)/usr/include/net/mac80211
  399. $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
  400. $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
  401. endef
  402. define KernelPackage/mac80211/install
  403. $(INSTALL_DIR) $(1)/lib/wifi
  404. $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
  405. endef
  406. define KernelPackage/p54-pci/install
  407. $(INSTALL_DIR) $(1)/lib/firmware
  408. $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
  409. endef
  410. define KernelPackage/p54-usb/install
  411. $(INSTALL_DIR) $(1)/lib/firmware
  412. $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3886usb
  413. endef
  414. define KernelPackage/rt61-pci/install
  415. $(INSTALL_DIR) $(1)/lib/firmware
  416. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
  417. endef
  418. define KernelPackage/rt73-usb/install
  419. $(INSTALL_DIR) $(1)/lib/firmware
  420. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
  421. endef
  422. define KernelPackage/rt2800-pci/install
  423. $(INSTALL_DIR) $(1)/lib/firmware
  424. $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
  425. endef
  426. define KernelPackage/zd1211rw/install
  427. $(INSTALL_DIR) $(1)/lib/firmware/zd1211
  428. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
  429. endef
  430. define Build/b43-common
  431. tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
  432. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
  433. CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
  434. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
  435. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  436. $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
  437. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
  438. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
  439. $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
  440. endif
  441. $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
  442. endef
  443. define KernelPackage/b43/install
  444. rm -rf $(1)/lib/firmware/
  445. $(call Build/b43-common)
  446. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  447. tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  448. else
  449. tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  450. endif
  451. $(INSTALL_DIR) $(1)/lib/firmware/
  452. ifneq ($(CONFIG_B43_OPENFIRMWARE),)
  453. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
  454. $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
  455. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
  456. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
  457. $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
  458. else
  459. b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
  460. endif
  461. ifneq ($(CONFIG_B43_FW_SQUASH),)
  462. b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
  463. endif
  464. endef
  465. define KernelPackage/b43legacy/install
  466. $(call Build/b43-common)
  467. $(INSTALL_DIR) $(1)/lib/firmware/
  468. b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
  469. endef
  470. $(eval $(call KernelPackage,ath5k))
  471. $(eval $(call KernelPackage,mac80211))
  472. $(eval $(call KernelPackage,p54-common))
  473. $(eval $(call KernelPackage,p54-pci))
  474. $(eval $(call KernelPackage,p54-usb))
  475. $(eval $(call KernelPackage,rt2x00-lib))
  476. $(eval $(call KernelPackage,rt2x00-pci))
  477. $(eval $(call KernelPackage,rt2x00-usb))
  478. $(eval $(call KernelPackage,rt2400-pci))
  479. $(eval $(call KernelPackage,rt2500-pci))
  480. $(eval $(call KernelPackage,rt2500-usb))
  481. $(eval $(call KernelPackage,rt61-pci))
  482. $(eval $(call KernelPackage,rt73-usb))
  483. $(eval $(call KernelPackage,rt2800-pci))
  484. $(eval $(call KernelPackage,rt2800-usb))
  485. $(eval $(call KernelPackage,zd1211rw))
  486. $(eval $(call KernelPackage,mac80211-hwsim))
  487. $(eval $(call KernelPackage,ath9k))
  488. $(eval $(call KernelPackage,ath))
  489. $(eval $(call KernelPackage,b43))
  490. $(eval $(call KernelPackage,b43legacy))