X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/ef998d64e381ed0a92fc73edf4206f7be7335caf..df80a7cb6de55e806bc7777d313491442579fc9d:/package/madwifi/Makefile diff --git a/package/madwifi/Makefile b/package/madwifi/Makefile index 380ec4ad6..530a828a1 100644 --- a/package/madwifi/Makefile +++ b/package/madwifi/Makefile @@ -10,15 +10,16 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=madwifi -PKG_VERSION:=0.9.0 +PKG_VERSION:=0.9.2.1 PKG_RELEASE:=1 -PKG_MD5SUM:=9b558d1df84cab2b0006c595feee0fba -PKG_SOURCE_URL:=@SF/$(PKG_NAME) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_CAT:=bzcat +PKG_SOURCE_URL:=@SF/$(PKG_NAME) +PKG_MD5SUM:=bf5509fccd3852e22551826063b1b61e + +include $(INCLUDE_DIR)/package.mk -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +RATE_CONTROL:=sample ifeq ($(ARCH),mips) HAL_TARGET:=mips-be-elf @@ -32,13 +33,20 @@ endif ifeq ($(ARCH),armeb) HAL_TARGET:=xscale-be-elf endif +ifeq ($(ARCH),arm) + HAL_TARGET:=xscale-le-elf +endif +ifeq ($(ARCH),powerpc) + HAL_TARGET:=powerpc-be-elf +endif -BUS := PCI -ifneq ($(CONFIG_LINUX_2_4_AR531X),) - BUS := AHB +BUS:=PCI +ifneq ($(CONFIG_LINUX_2_6_ATHEROS),) + BUS:=AHB + HAL_TARGET:=ap51 endif ifneq ($(CONFIG_LINUX_2_6_ARUBA),) - BUS := PCI AHB # no suitable HAL for AHB yet. + BUS:=PCI AHB # no suitable HAL for AHB yet. endif BUS_MODULES:= @@ -49,34 +57,75 @@ ifeq ($(findstring PCI,$(BUS)),PCI) BUS_MODULES+=$(PKG_BUILD_DIR)/ath/ath_pci.$(LINUX_KMOD_SUFFIX) endif +MADWIFI_AUTOLOAD:= \ + wlan \ + wlan_scan_ap \ + wlan_scan_sta \ + ath_hal \ + ath_rate_$(RATE_CONTROL) \ + wlan_acl \ + wlan_ccmp \ + wlan_tkip \ + wlan_wep \ + wlan_xauth + +ifeq ($(findstring AHB,$(BUS)),AHB) + MADWIFI_AUTOLOAD += ath_ahb +endif +ifeq ($(findstring PCI,$(BUS)),PCI) + MADWIFI_AUTOLOAD += ath_pci +endif + +define KernelPackage/madwifi + SUBMENU:=Wireless Drivers + TITLE:=Driver for Atheros wireless chipsets + DEPENDS:=+wireless-tools + DESCRIPTION:=\ + This package contains a driver for Atheros 802.11a/b/g chipsets. + URL:=http://madwifi.org/ + VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) + FILES:= \ + $(PKG_BUILD_DIR)/ath/ath_hal.$(LINUX_KMOD_SUFFIX) \ + $(BUS_MODULES) \ + $(PKG_BUILD_DIR)/ath_rate/$(RATE_CONTROL)/ath_rate_$(RATE_CONTROL).$(LINUX_KMOD_SUFFIX) \ + $(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,50,$(MADWIFI_AUTOLOAD)) +endef + MADWIFI_MAKEOPTS= -C $(PKG_BUILD_DIR) \ + PATH="$(TARGET_PATH)" \ ARCH="$(LINUX_KARCH)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ - CC="$(TARGET_CC)" \ TARGET="$(HAL_TARGET)" \ TOOLPREFIX="$(KERNEL_CROSS)" \ TOOLPATH="$(KERNEL_CROSS)" \ KERNELPATH="$(LINUX_DIR)" \ - LDOPTS="" \ + LDOPTS="--no-warn-mismatch " \ + ATH_RATE="ath_rate/$(RATE_CONTROL)" \ DOMULTI=1 -include $(INCLUDE_DIR)/package.mk - ifeq ($(findstring AHB,$(BUS)),AHB) -define Build/Compile/ahb - $(MAKE) $(MADWIFI_MAKEOPTS) BUS="AHB" all -endef + define Build/Compile/ahb + $(MAKE) $(MADWIFI_MAKEOPTS) BUS="AHB" modules + endef endif ifeq ($(findstring PCI,$(BUS)),PCI) -define Build/Compile/pci - $(MAKE) $(MADWIFI_MAKEOPTS) BUS="PCI" all -endef + define Build/Compile/pci + $(MAKE) $(MADWIFI_MAKEOPTS) BUS="PCI" modules + endef endif +define Build/Configure + $(SED) 's,-E[LB] ,,g' $(PKG_BUILD_DIR)/hal/public/*.inc +endef + define Build/Compile -$(call Build/Compile/ahb) -$(call Build/Compile/pci) + $(call Build/Compile/ahb) + $(call Build/Compile/pci) + $(MAKE) $(MADWIFI_MAKEOPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + tools endef define Build/InstallDev @@ -87,39 +136,14 @@ define Build/InstallDev endef define Build/UninstallDev - rm -rf $(STAGING_DIR)/usr/include/madwifi + rm -rf $(STAGING_DIR)/usr/include/madwifi endef -define Package/kmod-madwifi - SECTION:=drivers - CATEGORY:=Drivers - DEFAULT:=y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE, m if ALL - TITLE:=Driver for Atheros wireless chipsets - DESCRIPTION:=Driver for Atheros 802.11a/b/g chipsets - URL:=http://madwifi.org/ - VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) -endef - -define Package/kmod-madwifi/install - mkdir -p $(1)/etc/modules.d - mkdir -p $(1)/etc/init.d - mkdir -p $(1)/lib/modules/$(LINUX_VERSION) - mkdir -p $(1)/usr/sbin - install -m0644 ./files/madwifi.modules $(1)/etc/modules.d/20-madwifi -ifeq ($(findstring AHB,$(BUS)),AHB) - echo ath_ahb >> $(1)/etc/modules.d/20-madwifi -endif -ifeq ($(findstring PCI,$(BUS)),PCI) - echo ath_pci >> $(1)/etc/modules.d/20-madwifi -endif - install -m0755 ./files/madwifi.init $(1)/etc/init.d/S20madwifi - $(CP) \ - $(PKG_BUILD_DIR)/ath_hal/ath_hal.$(LINUX_KMOD_SUFFIX) \ - $(BUS_MODULES) \ - $(PKG_BUILD_DIR)/ath_rate/sample/ath_rate_sample.$(LINUX_KMOD_SUFFIX) \ - $(PKG_BUILD_DIR)/net80211/*.$(LINUX_KMOD_SUFFIX) \ - $(1)/lib/modules/$(LINUX_VERSION)/ - $(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211debug,80211stats,athchans,athctrl,athdebug,athkey,athstats,wlanconfig} $(1)/usr/sbin/ +define KernelPackage/madwifi/install + $(INSTALL_DIR) $(1)/lib/wifi + $(INSTALL_DATA) ./files/lib/wifi/madwifi.sh $(1)/lib/wifi + $(INSTALL_DIR) $(1)/usr/sbin + $(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211stats,athchans,athctrl,athkey,athstats,wlanconfig} $(1)/usr/sbin/ endef -$(eval $(call BuildPackage,kmod-madwifi)) +$(eval $(call KernelPackage,madwifi))