#
-# Copyright (C) 2006-2012 OpenWrt.org
+# Copyright (C) 2006-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
PKG_NAME:=broadcom-wl
PKG_VERSION:=5.10.56.27.3
-PKG_RELEASE:=5
+PKG_RELEASE:=8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(ARCH).tar.bz2
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
-PKG_MD5SUM.mipsel:=3363e3a6b3d9d73c49dea870c7834eac
-PKG_MD5SUM.mips:=f8de63debc75333d6b4e28193eb051ff
-PKG_MD5SUM:=$(PKG_MD5SUM.$(ARCH))
+ifeq ($(ARCH),mipsel)
+PKG_HASH:=26a8c370f48fc129d0731cfd751c36cae1419b0bc8ca35781126744e60eae009
+endif
+ifeq ($(ARCH),mips)
+PKG_HASH:=ca6a86ca3e3e9c85b6dbb665b35bcbf338c37829c1b2f1994487d55664886045
+endif
+
+PKG_EXTMOD_SUBDIRS:=driver driver-mini glue
+
+PKG_USE_MIPS16:=0
+PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/package.mk
define Package/broadcom-wl/Default
SECTION:=kernel
CATEGORY:=Kernel modules
- DEPENDS:=@PACKAGE_kmod-brcm-wl||PACKAGE_kmod-brcm-wl-mini
+ DEPENDS:=@(PACKAGE_kmod-brcm-wl||PACKAGE_kmod-brcm-wl-mini)
SUBMENU:=Proprietary BCM43xx WiFi driver
- SUBMENUDEP:=@TARGET_brcm47xx||TARGET_brcm63xx
+ SUBMENUDEP:=(TARGET_brcm47xx||TARGET_brcm63xx)
endef
define KernelPackage/brcm-wl/Default
$(call Package/broadcom-wl/Default)
SECTION:=kernel
- DEPENDS:=@TARGET_brcm47xx||TARGET_brcm63xx +wireless-tools
+ DEPENDS:=@(TARGET_brcm47xx||TARGET_brcm63xx) +wireless-tools
TITLE:=Kernel driver for BCM43xx chipsets
FILES:=$(PKG_BUILD_DIR)/driver$(1)/wl.ko $(PKG_BUILD_DIR)/glue/wl_glue.ko
- AUTOLOAD:=$(call AutoLoad,30,wl_glue wl)
+ AUTOLOAD:=$(call AutoProbe,wl)
endef
define KernelPackage/brcm-wl/Default/description
endef
MAKE_KMOD := $(MAKE) -C "$(LINUX_DIR)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH="$(LINUX_KARCH)" \
+ $(KERNEL_MAKE_FLAGS) \
PATH="$(TARGET_PATH)" \
SUBDIRS="$(PKG_BUILD_DIR)/kmod" \
endef
define Build/Compile
+ # Compile glue driver
+ $(MAKE_KMOD) -C "$(LINUX_DIR)" \
+ SUBDIRS="$(PKG_BUILD_DIR)/glue" \
+ modules
+
# Compile the kernel part
$(MAKE_KMOD) \
SUBDIRS="$(PKG_BUILD_DIR)/driver" \
MODFLAGS="-DMODULE -mlong-calls" \
+ KBUILD_EXTRA_SYMBOLS="$(PKG_BUILD_DIR)/glue/Module.symvers" \
modules
$(MAKE_KMOD) \
SUBDIRS="$(PKG_BUILD_DIR)/driver-mini" \
MODFLAGS="-DMODULE -mlong-calls" \
BUILD_TYPE="wl_apsta_mini" \
+ KBUILD_EXTRA_SYMBOLS="$(PKG_BUILD_DIR)/glue/Module.symvers" \
modules
- # Compile glue driver
- $(MAKE_KMOD) -C "$(LINUX_DIR)" \
- SUBDIRS="$(PKG_BUILD_DIR)/glue" \
- modules
-
# Compile libshared
$(MAKE) -C $(PKG_BUILD_DIR)/shared \
$(TARGET_CONFIGURE_OPTS) \
define Package/nas/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/nas $(1)/usr/sbin/
- ln -sf nas $(1)/usr/sbin/nas4not
- ln -sf nas $(1)/usr/sbin/nas4wds
+ $(LN) nas $(1)/usr/sbin/nas4not
+ $(LN) nas $(1)/usr/sbin/nas4wds
endef
$(eval $(call KernelPackage,brcm-wl))