Makefile 19 KB

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