Makefile 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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.80.53.0
  15. PKG_FWV4_OBJECT:=kmod/wl_apsta.o
  16. PKG_FWV4_SOURCE:=$(PKG_FWV4_NAME)-$(PKG_FWV4_VERSION).tar.bz2
  17. PKG_FWV4_SOURCE_URL:=http://downloads.openwrt.org/sources/
  18. PKG_FWV4_MD5SUM:=a7d8dde3ce474c361143b83e1d9890b1
  19. PKG_FWCUTTER_NAME:=b43-fwcutter
  20. PKG_FWCUTTER_VERSION=008
  21. PKG_FWCUTTER_SOURCE:=$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION).tar.bz2
  22. PKG_FWCUTTER_SOURCE_URL:=http://download.berlios.de/bcm43xx/
  23. PKG_FWCUTTER_MD5SUM:=3f7fbf4f8dcd296c6d1b0d42eab0f9ac
  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_DMA=y \
  37. $(if $(CONFIG_LEDS_TRIGGERS),CONFIG_B43_LEDS=y) \
  38. EXTRA_CFLAGS:= \
  39. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
  40. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
  41. MAKE_OPTS:= \
  42. ARCH="$(LINUX_KARCH)" \
  43. CROSS_COMPILE="$(TARGET_CROSS)" \
  44. SUBDIRS="$(PKG_BUILD_DIR)" \
  45. EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
  46. LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include -include linux/autoconf.h" \
  47. $(EXTRA_KCONFIG)
  48. $(STAMP_PREPARED): $(DL_DIR)/$(PKG_FWV4_SOURCE) $(DL_DIR)/$(PKG_FWCUTTER_SOURCE)
  49. $(DL_DIR)/$(PKG_FWV4_SOURCE):
  50. $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWV4_SOURCE)" "$(PKG_FWV4_MD5SUM)" $(PKG_FWV4_SOURCE_URL)
  51. $(DL_DIR)/$(PKG_FWCUTTER_SOURCE):
  52. $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWCUTTER_SOURCE)" "$(PKG_FWCUTTER_MD5SUM)" $(PKG_FWCUTTER_SOURCE_URL)
  53. define Build/Prepare
  54. mkdir -p $(PKG_BUILD_DIR)
  55. $(CP) ./src/* $(PKG_BUILD_DIR)/
  56. tar xjf "$(DL_DIR)/$(PKG_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
  57. tar xjf "$(DL_DIR)/$(PKG_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
  58. endef
  59. define Build/Configure
  60. endef
  61. define Build/Compile
  62. $(MAKE) -C "$(LINUX_DIR)" \
  63. $(MAKE_OPTS) \
  64. modules
  65. $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION)"
  66. endef
  67. define KernelPackage/b43/install
  68. $(INSTALL_DIR) $(1)/lib/firmware/
  69. $(PKG_BUILD_DIR)/$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION)/b43-fwcutter \
  70. -w $(1)/lib/firmware/ \
  71. $(PKG_BUILD_DIR)/$(PKG_FWV4_NAME)-$(PKG_FWV4_VERSION)/$(PKG_FWV4_OBJECT)
  72. endef
  73. $(eval $(call KernelPackage,b43))