X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/26fecaf49101a9060bdddba1ee9d319597d90f0c..8b4aee843bbd9d4e87e2c63b9c6d9d34c142a272:/package/broadcom-wl/Makefile diff --git a/package/broadcom-wl/Makefile b/package/broadcom-wl/Makefile index ea80e2ad9..0439f1f72 100644 --- a/package/broadcom-wl/Makefile +++ b/package/broadcom-wl/Makefile @@ -1,40 +1,41 @@ -# -# Copyright (C) 2006 OpenWrt.org +# +# Copyright (C) 2006-2011 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # -# $Id$ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=broadcom-wl -PKG_VERSION:=4.80.53.0 -PKG_RELEASE:=1 -WLC_VERSION:=0.1 +PKG_VERSION:=5.10.56.27.3 +PKG_RELEASE:=3 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(ARCH).tar.bz2 PKG_SOURCE_URL:=http://downloads.openwrt.org/sources -PKG_MD5SUM:=a7d8dde3ce474c361143b83e1d9890b1 + +PKG_MD5SUM.mipsel:=3363e3a6b3d9d73c49dea870c7834eac +PKG_MD5SUM.mips:=f8de63debc75333d6b4e28193eb051ff +PKG_MD5SUM:=$(PKG_MD5SUM.$(ARCH)) include $(INCLUDE_DIR)/package.mk define Package/broadcom-wl/Default SECTION:=kernel CATEGORY:=Kernel modules - DEPENDS:=@PACKAGE_kmod-brcm-wl||PACKAGE_kmod-brcm-wl-mimo + DEPENDS:=@PACKAGE_kmod-brcm-wl||PACKAGE_kmod-brcm-wl-mini SUBMENU:=Proprietary BCM43xx WiFi driver - SUBMENUDEP:=@TARGET_brcm_2_4 + SUBMENUDEP:=@TARGET_brcm47xx||TARGET_brcm63xx endef define KernelPackage/brcm-wl/Default $(call Package/broadcom-wl/Default) SECTION:=kernel - DEPENDS:=@TARGET_brcm_2_4 + DEPENDS:=@TARGET_brcm47xx||TARGET_brcm63xx +wireless-tools TITLE:=Kernel driver for BCM43xx chipsets - FILES:=$(PKG_BUILD_DIR)/kmod/wl$(1).o - AUTOLOAD:=$(call AutoLoad,30,wl$(1)) + FILES:=$(PKG_BUILD_DIR)/driver$(1)/wl.ko $(PKG_BUILD_DIR)/glue/wl_glue.ko + AUTOLOAD:=$(call AutoLoad,30,wl_glue wl) endef define KernelPackage/brcm-wl/Default/description @@ -51,12 +52,12 @@ define KernelPackage/brcm-wl/description $(call KernelPackage/brcm-wl/Default/description) endef -define KernelPackage/brcm-wl-mimo -$(call KernelPackage/brcm-wl/Default,_mimo) - TITLE+= (MIMO version) +define KernelPackage/brcm-wl-mini +$(call KernelPackage/brcm-wl/Default,-mini) + TITLE+= (Legacy version) endef -define KernelPackage/brcm-wl-mimo/description +define KernelPackage/brcm-wl-mini/description $(call KernelPackage/brcm-wl/Default/description) endef @@ -70,16 +71,9 @@ define Package/wlc/description wl driver. endef -define Package/brcm-compat-ldso - TITLE:=Broadcom wl/nas binary compatibility libraries - SECTION:=libs - CATEGORY:=Libraries -endef - define Package/wl $(call Package/broadcom-wl/Default) TITLE:=Proprietary Broadcom wl driver config utility - DEPENDS+=+brcm-compat-ldso endef define Package/wl/description @@ -89,7 +83,6 @@ endef define Package/nas $(call Package/broadcom-wl/Default) - DEPENDS+= +nvram +brcm-compat-ldso TITLE:=Proprietary Broadcom WPA/WPA2 authenticator endef @@ -98,58 +91,69 @@ define Package/nas/description proprietary Broadcom wl driver. endef - -define install_template - $(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION) - $(INSTALL_DATA) $(PKG_BUILD_DIR)/kmod/wl$(2).o.patch $(1)/lib/modules/$(LINUX_VERSION)/ -endef - -define KernelPackage/brcm-wl/install - $(call install_template,$(1),) -endef - -define KernelPackage/brcm-wl_mimo/install - $(call install_template,$(1),_mimo) -endef - -MAKEFLAGS_KMOD:= -C "$(LINUX_DIR)" \ +MAKE_KMOD := $(MAKE) -C "$(LINUX_DIR)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ ARCH="$(LINUX_KARCH)" \ PATH="$(TARGET_PATH)" \ - SUBDIRS="$(PKG_BUILD_DIR)/kmod" + SUBDIRS="$(PKG_BUILD_DIR)/kmod" \ define Build/Prepare $(call Build/Prepare/Default) - $(CP) src/* $(PKG_BUILD_DIR)/ + $(CP) $(PKG_BUILD_DIR)/driver $(PKG_BUILD_DIR)/driver-mini + $(CP) ./src/glue $(PKG_BUILD_DIR)/glue endef define Build/Compile # Compile the kernel part - $(MAKE) $(MAKEFLAGS_KMOD) \ + $(MAKE_KMOD) \ + SUBDIRS="$(PKG_BUILD_DIR)/driver" \ + MODFLAGS="-DMODULE -mlong-calls" \ modules - $(MAKE) $(MAKEFLAGS_KMOD) MOD_NAME="_mimo" \ + + $(MAKE_KMOD) \ + SUBDIRS="$(PKG_BUILD_DIR)/driver-mini" \ + MODFLAGS="-DMODULE -mlong-calls" \ + BUILD_TYPE="wl_apsta_mini" \ modules - # Compile wlc - $(MAKE) -C $(PKG_BUILD_DIR)/wlc \ + # 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) \ - CFLAGS="-I$(PKG_BUILD_DIR)/wlc/include $(TARGET_CFLAGS)" \ + CFLAGS="$(TARGET_CFLAGS) -I. -I$(PKG_BUILD_DIR)/driver/include" \ all - $(NO_TRACE_MAKE) -C compat-ldso -f build.mk PKG_INSTALL_DIR="$(PKG_BUILD_DIR)" - $(SED) 's,ld-uClibc.so.0,ld-uClibc.brcm,' \ - $(PKG_BUILD_DIR)/wl \ - $(PKG_BUILD_DIR)/nas + + $(TARGET_CC) -o $(PKG_BUILD_DIR)/wlc \ + -I$(PKG_BUILD_DIR)/shared -I$(PKG_BUILD_DIR)/driver/include \ + ./src/wlc.c $(PKG_BUILD_DIR)/shared/libshared.a + + $(TARGET_CC) -o $(PKG_BUILD_DIR)/nas \ + $(PKG_BUILD_DIR)/nas_exe.o \ + $(PKG_BUILD_DIR)/shared/libshared.a + + $(TARGET_CC) -o $(PKG_BUILD_DIR)/wl \ + $(PKG_BUILD_DIR)/wl_exe.o \ + $(PKG_BUILD_DIR)/shared/libshared.a endef -define Package/brcm-compat-ldso/install - $(INSTALL_DIR) $(1)/lib - $(INSTALL_BIN) $(PKG_BUILD_DIR)/ld-uClibc.brcm $(1)/lib/ +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/shared/libshared.a $(1)/usr/lib/ endef define Package/wlc/install $(CP) ./files/* $(1)/ $(INSTALL_DIR) $(1)/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlc/wlc $(1)/sbin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlc $(1)/sbin/ +endef + +define Package/wlc/postinst +#!/bin/sh +[ -n "$${IPKG_INSTROOT}" ] || /etc/init.d/wlunbind enable || true endef define Package/wl/install @@ -158,8 +162,6 @@ define Package/wl/install endef define Package/nas/install - $(INSTALL_DIR) $(1)/usr/lib - $(INSTALL_BIN) $(PKG_BUILD_DIR)/libbcmcrypto.so $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/nas $(1)/usr/sbin/ ln -sf nas $(1)/usr/sbin/nas4not @@ -167,8 +169,7 @@ define Package/nas/install endef $(eval $(call KernelPackage,brcm-wl)) -$(eval $(call KernelPackage,brcm-wl-mimo)) -$(eval $(call BuildPackage,brcm-compat-ldso)) +$(eval $(call KernelPackage,brcm-wl-mini)) $(eval $(call BuildPackage,wlc)) $(eval $(call BuildPackage,wl)) $(eval $(call BuildPackage,nas))