X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a4a6443af12b7758b12020f561fa7fe2e0a3e87f..ebe4d354283f45ba15f83d080e8a93a46ee29a9e:/package/rt2x00/Makefile diff --git a/package/rt2x00/Makefile b/package/rt2x00/Makefile index c9502d83c..1e95e27a9 100644 --- a/package/rt2x00/Makefile +++ b/package/rt2x00/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2007 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,42 +10,175 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=rt2x00 -PKG_VERSION:=1.1.0-b1 -PKG_RELEASE:=1 +PKG_VERSION:=cvs-20070712 -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/rt61-$(PKG_VERSION)/ -PKG_SOURCE:=rt61-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=@SF/rt2400 -PKG_MD5SUM:=3f2600400a3d6d878a5d27d0a2e47eed -PKG_CAT:=zcat +PKG_FW6X_NAME:=RT61_Firmware_V1.2.zip +PKG_FW6X_URL:=http://www.ralinktech.com.tw/data/ +PKG_FW6X_MD5SUM:=d4c690c93b470bc9a681297c2adc6281 + +PKG_FW7X_NAME:=RT71W_Firmware_V1.8.zip +PKG_FW7X_URL:=http://www.ralinktech.com.tw/data/ +PKG_FW7X_MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7 include $(INCLUDE_DIR)/package.mk -define Package/kmod-rt2x00 - SECTION:=kernel - CATEGORY:=Kernel drivers - DEPENDS:=@LINUX_2_6_RDC - TITLE:=Driver for Ralink RT61xx based boards - URL:=http://rt2x00.serialmonkey.com/ - VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) +# XXX: remove @!TARGET_* later when we have PCI & USB support properly detected on all targets +define KernelPackage/rt2x00/Default + SUBMENU:=Wireless Drivers + TITLE:=Ralink Drivers for RT2x00 cards + DEPENDS:=@LINUX_2_6 @!TARGET_atheros @!TARGET_uml + KCONFIG:=CONFIG_MAC80211 endef -define Build/Compile - $(MAKE) -C $(LINUX_DIR) \ +define KernelPackage/rt2x00-lib +$(call KernelPackage/rt2x00/Default) + DEPENDS+= @PCI_SUPPORT||USB_SUPPORT +kmod-mac80211 + TITLE+= (LIB) + FILES:=$(PKG_BUILD_DIR)/rt2x00lib.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,25,blkcipher ecb arc4 rt2x00lib) +endef + +define KernelPackage/rt2x00-pci +$(call KernelPackage/rt2x00/Default) + DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-lib +kmod-eeprom-93cx6 + TITLE+= (PCI) + FILES:=$(PKG_BUILD_DIR)/rt2x00pci.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,26,rt2x00pci) +endef + +define KernelPackage/rt2x00-usb +$(call KernelPackage/rt2x00/Default) + DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core + TITLE+= (USB) + FILES:=$(PKG_BUILD_DIR)/rt2x00usb.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,26,rt2x00usb) +endef + +define KernelPackage/rt2400-pci +$(call KernelPackage/rt2x00/Default) + DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci + TITLE+= (RT2400 PCI) + FILES:=$(PKG_BUILD_DIR)/rt2400pci.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,27,rt2400pci) +endef + +define KernelPackage/rt2500-pci +$(call KernelPackage/rt2x00/Default) + DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci + TITLE+= (RT2500 PCI) + FILES:=$(PKG_BUILD_DIR)/rt2500pci.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,27,rt2500pci) +endef + +define KernelPackage/rt2500-usb +$(call KernelPackage/rt2x00/Default) + DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-crc-itu-t + TITLE+= (RT2500 USB) + FILES:=$(PKG_BUILD_DIR)/rt2500usb.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,27,rt2500usb) +endef + +define KernelPackage/rt61-pci +$(call KernelPackage/rt2x00/Default) + DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci +kmod-crc-itu-t + TITLE+= (RT2x61 PCI) + FILES:=$(PKG_BUILD_DIR)/rt61pci.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,27,rt61pci) +endef + +define KernelPackage/rt73-usb + $(call KernelPackage/rt2x00/Default) + DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb + TITLE+= (RT73 USB) + FILES:=$(PKG_BUILD_DIR)/rt73usb.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,27,rt73usb) +endef + +$(STAMP_PREPARED): $(DL_DIR)/$(PKG_FW6X_NAME) $(DL_DIR)/$(PKG_FW7X_NAME) + +$(DL_DIR)/$(PKG_FW6X_NAME): + $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FW6X_NAME)" "$(PKG_FW6X_MD5SUM)" $(PKG_FW6X_URL) + +$(DL_DIR)/$(PKG_FW7X_NAME): + $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FW7X_NAME)" "$(PKG_FW7X_MD5SUM)" $(PKG_FW7X_URL) + +# only try to build if the kernel is recent enough (has in-kernel mac80211) +ifndef ($(CONFIG_MAC80211),) + + PKG_EXTRA_KCONFIG:= \ + CONFIG_RT2X00=y \ + CONFIG_RT2X00_DEBUG=y \ + + ifneq ($(CONFIG_PACKAGE_kmod-rt2x00-pci),) + PKG_EXTRA_KCONFIG+= CONFIG_RT2X00PCI=y + endif + ifneq ($(CONFIG_PACKAGE_kmod-rt2x00-usb),) + PKG_EXTRA_KCONFIG+= CONFIG_RT2X00USB=y + endif + ifneq ($(CONFIG_PACKAGE_kmod-rt2400-pci),) + PKG_EXTRA_KCONFIG+= CONFIG_RT2400PCI=y + endif + ifneq ($(CONFIG_PACKAGE_kmod-rt2500-pci),) + PKG_EXTRA_KCONFIG+= CONFIG_RT2500PCI=y + endif + ifneq ($(CONFIG_PACKAGE_kmod-rt2500-usb),) + PKG_EXTRA_KCONFIG+= CONFIG_RT2500USB=y + endif + ifneq ($(CONFIG_PACKAGE_kmod-rt61-pci),) + PKG_EXTRA_KCONFIG+= CONFIG_RT61PCI=y + endif + ifneq ($(CONFIG_PACKAGE_kmod-rt73-usb),) + PKG_EXTRA_KCONFIG+= CONFIG_RT73USB=y + endif + + PKG_EXTRA_CFLAGS:= \ + -I$(STAGING_DIR)/usr/include/mac80211 \ + $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \ + $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \ + + define Build/Compile/it + $(MAKE) -C "$(LINUX_DIR)" \ ARCH="$(LINUX_KARCH)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ - PATCHLEVEL="$(LINUX_VERSION)" \ - KERNDIR="$(LINUX_DIR)" \ - SUBDIRS="$(PKG_BUILD_DIR)/Module" \ + SUBDIRS="$(PKG_BUILD_DIR)" \ + $(PKG_EXTRA_KCONFIG) \ + EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS)" \ + V="$(V)" \ modules + endef + +endif + +define Build/Prepare + $(call Build/Prepare/Default) + $(CP) -r src/* $(PKG_BUILD_DIR)/ + unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_FW6X_NAME) + unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_FW7X_NAME) +endef + +define Build/Configure + touch $(PKG_BUILD_DIR)/rt2x00_config.h +endef + +define Build/Compile +$(call Build/Compile/it) +endef + +define KernelPackage/rt61-pci/install + $(INSTALL_DIR) $(1)/lib/firmware + $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/ endef -define Package/kmod-rt2x00/install - mkdir -p $(1)/etc/modules.d - $(INSTALL_DATA) ./files/rt2x00.modules $(1)/etc/modules.d/10-ralink - $(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION) - $(CP) $(PKG_BUILD_DIR)/Module/rt61.$(LINUX_KMOD_SUFFIX) \ - $(1)/lib/modules/$(LINUX_VERSION)/ +define KernelPackage/rt73-usb/install + $(INSTALL_DIR) $(1)/lib/firmware + $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/ endef -$(eval $(call BuildPackage,kmod-rt2x00)) +$(eval $(call KernelPackage,rt2x00-lib)) +$(eval $(call KernelPackage,rt2x00-pci)) +$(eval $(call KernelPackage,rt2x00-usb)) +$(eval $(call KernelPackage,rt2400-pci)) +$(eval $(call KernelPackage,rt2500-pci)) +$(eval $(call KernelPackage,rt2500-usb)) +$(eval $(call KernelPackage,rt61-pci)) +$(eval $(call KernelPackage,rt73-usb))