28a6cc5b39a8e749685a2a61c99a1023a1db71b9
[openwrt/svn-archive/archive.git] / package / b43 / Makefile
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
9 include $(TOPDIR)/rules.mk
10 include $(INCLUDE_DIR)/kernel.mk
11
12 PKG_NAME:=b43
13 PKG_RELEASE:=1
14
15 include $(INCLUDE_DIR)/package.mk
16
17 PKG_FWV4_NAME:=broadcom-wl
18 PKG_FWV4_VERSION=4.150.10.5
19 PKG_FWV4_OBJECT:=driver/wl_apsta_mimo.o
20
21 PKG_FWV4_SOURCE:=$(PKG_FWV4_NAME)-$(PKG_FWV4_VERSION).tar.bz2
22 PKG_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
23 PKG_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
24
25 PKG_FWCUTTER_NAME:=b43-fwcutter
26 PKG_FWCUTTER_VERSION=011
27
28 PKG_FWCUTTER_SOURCE:=$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION).tar.bz2
29 PKG_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
30 PKG_FWCUTTER_MD5SUM:=3db2f4de85a459451f5b391cf67a8d44
31
32 PKG_SRC_NAME:=b43-src
33 PKG_SRC_VERSION:=2008-08-06
34
35 PKG_SRC_SOURCE:=compat-wireless-$(PKG_SRC_VERSION).tar.bz2
36 PKG_SRC_SOURCE_URL:=http://www.orbit-lab.org/kernel/compat-wireless-2.6/2008/08/
37 PKG_SRC_MD5SUM:=9563ceeed86bca0859ad5f010623277c
38
39 define KernelPackage/b43
40 SUBMENU:=Wireless Drivers
41 TITLE:=Broadcom 43xx wireless support
42 DEPENDS:=@TARGET_brcm47xx +kmod-mac80211
43 FILES:=$(PKG_BUILD_DIR)/b43.$(LINUX_KMOD_SUFFIX)
44 AUTOLOAD:=$(call AutoLoad,30,b43)
45 endef
46
47 define KernelPackage/b43/description
48 Kernel module for Broadcom 43xx wireless support (mac80211)
49 endef
50
51 EXTRA_KCONFIG:= \
52 CONFIG_B43=m \
53 CONFIG_B43_NPHY=y \
54 CONFIG_B43_DEBUG=y \
55 $(if $(CONFIG_RFKILL),CONFIG_B43_RFKILL=y) \
56 $(if $(CONFIG_LEDS_TRIGGERS),CONFIG_B43_LEDS=y) \
57
58
59 EXTRA_CFLAGS:= \
60 $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
61 $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
62
63 MAKE_OPTS:= \
64 ARCH="$(LINUX_KARCH)" \
65 CROSS_COMPILE="$(TARGET_CROSS)" \
66 SUBDIRS="$(PKG_BUILD_DIR)" \
67 EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
68 LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include -include linux/autoconf.h" \
69 $(EXTRA_KCONFIG)
70
71 $(STAMP_PREPARED): $(DL_DIR)/$(PKG_FWV4_SOURCE) $(DL_DIR)/$(PKG_FWCUTTER_SOURCE)
72
73 $(DL_DIR)/$(PKG_FWV4_SOURCE):
74 $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWV4_SOURCE)" "$(PKG_FWV4_MD5SUM)" $(PKG_FWV4_SOURCE_URL)
75
76 $(DL_DIR)/$(PKG_FWCUTTER_SOURCE):
77 $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWCUTTER_SOURCE)" "$(PKG_FWCUTTER_MD5SUM)" $(PKG_FWCUTTER_SOURCE_URL)
78
79
80 define Build/Prepare
81 mkdir -p $(PKG_BUILD_DIR)
82 tar xjf "$(DL_DIR)/$(PKG_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
83 tar xjf "$(DL_DIR)/$(PKG_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
84 tar xjf "$(DL_DIR)/$(PKG_SRC_SOURCE)" -C "$(PKG_BUILD_DIR)"
85 $(CP) $(PKG_BUILD_DIR)/compat-wireless-$(PKG_SRC_VERSION)/drivers/net/wireless/b43/* $(PKG_BUILD_DIR)/
86 $(Build/Patch)
87 $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
88 endef
89
90 define Build/Configure
91 endef
92
93 define Build/Compile
94 $(MAKE) -C "$(LINUX_DIR)" \
95 $(MAKE_OPTS) \
96 modules
97
98 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION)" \
99 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
100 endef
101
102 define KernelPackage/b43/install
103 $(INSTALL_DIR) $(1)/lib/firmware/
104
105 $(PKG_BUILD_DIR)/$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION)/b43-fwcutter \
106 -w $(1)/lib/firmware/ \
107 $(PKG_BUILD_DIR)/$(PKG_FWV4_NAME)-$(PKG_FWV4_VERSION)/$(PKG_FWV4_OBJECT)
108 endef
109
110 $(eval $(call KernelPackage,b43))