Makefile 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #
  2. # Copyright (C) 2007 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. # $Id: Makefile 7440 2007-06-02 02:22:01Z nbd $
  8. include $(TOPDIR)/rules.mk
  9. include $(INCLUDE_DIR)/kernel.mk
  10. PKG_NAME:=b43
  11. PKG_RELEASE:=1
  12. include $(INCLUDE_DIR)/package.mk
  13. PKG_FWV4_NAME:=broadcom-wl
  14. PKG_FWV4_VERSION=4.150.10.5
  15. PKG_FWV4_OBJECT:=driver/wl_apsta_mimo.o
  16. PKG_FWV4_SOURCE:=$(PKG_FWV4_NAME)-$(PKG_FWV4_VERSION).tar.bz2
  17. PKG_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
  18. PKG_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
  19. PKG_FWCUTTER_NAME:=b43-fwcutter
  20. PKG_FWCUTTER_VERSION=011
  21. PKG_FWCUTTER_SOURCE:=$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION).tar.bz2
  22. PKG_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
  23. PKG_FWCUTTER_MD5SUM:=3db2f4de85a459451f5b391cf67a8d44
  24. define KernelPackage/b43
  25. SUBMENU:=Wireless Drivers
  26. TITLE:=Broadcom 43xx wireless support
  27. DEPENDS:=@TARGET_brcm47xx +kmod-mac80211
  28. FILES:=$(PKG_BUILD_DIR)/b43.$(LINUX_KMOD_SUFFIX)
  29. AUTOLOAD:=$(call AutoLoad,30,b43)
  30. endef
  31. define KernelPackage/b43/description
  32. Kernel module for Broadcom 43xx wireless support (mac80211)
  33. endef
  34. EXTRA_KCONFIG:= \
  35. CONFIG_B43=m \
  36. CONFIG_B43_NPHY=y \
  37. CONFIG_B43_DEBUG=y \
  38. $(if $(CONFIG_RFKILL),CONFIG_B43_RFKILL=y) \
  39. $(if $(CONFIG_LEDS_TRIGGERS),CONFIG_B43_LEDS=y) \
  40. EXTRA_CFLAGS:= \
  41. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
  42. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
  43. MAKE_OPTS:= \
  44. ARCH="$(LINUX_KARCH)" \
  45. CROSS_COMPILE="$(TARGET_CROSS)" \
  46. SUBDIRS="$(PKG_BUILD_DIR)" \
  47. EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
  48. LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include -include linux/autoconf.h" \
  49. $(EXTRA_KCONFIG)
  50. $(STAMP_PREPARED): $(DL_DIR)/$(PKG_FWV4_SOURCE) $(DL_DIR)/$(PKG_FWCUTTER_SOURCE)
  51. $(DL_DIR)/$(PKG_FWV4_SOURCE):
  52. $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWV4_SOURCE)" "$(PKG_FWV4_MD5SUM)" $(PKG_FWV4_SOURCE_URL)
  53. $(DL_DIR)/$(PKG_FWCUTTER_SOURCE):
  54. $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWCUTTER_SOURCE)" "$(PKG_FWCUTTER_MD5SUM)" $(PKG_FWCUTTER_SOURCE_URL)
  55. define Build/Prepare
  56. mkdir -p $(PKG_BUILD_DIR)
  57. $(CP) ./src/* $(PKG_BUILD_DIR)/
  58. tar xjf "$(DL_DIR)/$(PKG_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  59. tar xjf "$(DL_DIR)/$(PKG_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
  60. $(Build/Patch)
  61. $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
  62. endef
  63. define Build/Configure
  64. endef
  65. define Build/Compile
  66. $(MAKE) -C "$(LINUX_DIR)" \
  67. $(MAKE_OPTS) \
  68. modules
  69. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION)" \
  70. CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
  71. endef
  72. define KernelPackage/b43/install
  73. $(INSTALL_DIR) $(1)/lib/firmware/
  74. $(PKG_BUILD_DIR)/$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION)/b43-fwcutter \
  75. -w $(1)/lib/firmware/ \
  76. $(PKG_BUILD_DIR)/$(PKG_FWV4_NAME)-$(PKG_FWV4_VERSION)/$(PKG_FWV4_OBJECT)
  77. endef
  78. $(eval $(call KernelPackage,b43))