[carl9170] carl9170 depends on usb
[openwrt-10.03/.git] / package / carl9170 / Makefile
1 #
2 # Copyright (C) 2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=carl9170
12 PKG_VERSION:=0.9.9.1
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
16 PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/chr/carl9170/$(PKG_VERSION) \
17         @KERNEL/linux/kernel/people/chr/carl9170/old/$(PKG_VERSION)
18 PKG_MD5SUM:=122610b254125d93c7f64cc559d3341a
19
20 include $(INCLUDE_DIR)/package.mk
21
22 DRV_PATH:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/carl9170
23
24 define KernelPackage/carl9170
25   SUBMENU:=Wireless Drivers
26   TITLE:=Driver for Atheros AR9170 USB sticks
27   DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core
28   URL:=http://www.kernel.org/pub/linux/kernel/people/chr/carl9170
29   FILES:=$(DRV_PATH)/carl9170usb.$(LINUX_KMOD_SUFFIX)
30   AUTOLOAD:=$(call AutoLoad,60,carl9170usb)
31 endef
32
33 define KernelPackage/carl9170/description
34  This package contains a driver for Atheros AR9170 USB sticks using the free firmware
35 endef
36
37 define Build/Prepare
38         rm -rf $(PKG_BUILD_DIR)
39         mkdir -p $(PKG_BUILD_DIR)
40         $(HOST_TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(PKG_SOURCE)
41         $(HOST_TAR) -C $(PKG_BUILD_DIR) -xf $(PKG_BUILD_DIR)/$(PKG_VERSION)/driver/carl9170-driver-$(PKG_VERSION).tar
42         ln -sf Makefile.standalone $(DRV_PATH)/Makefile
43         ln -s $(STAGING_DIR)/usr/include/mac80211/ath/*.h $(PKG_BUILD_DIR)/drivers/net/wireless/ath/
44         $(Build/Patch)
45 endef
46
47 BUILDFLAGS = \
48         CONFIG_MAC80211_DEBUGFS=$(CONFIG_PACKAGE_MAC80211_DEBUGFS)
49
50 EXTRA_CFLAGS = \
51         $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD)
52
53 define Build/Compile
54         $(MAKE) -C $(LINUX_DIR) \
55                 SUBDIRS="$(DRV_PATH)" \
56                 ARCH="$(LINUX_KARCH)" \
57                 CROSS_COMPILE="$(KERNEL_CROSS)" \
58                 CC="$(TARGET_CC) -I$(STAGING_DIR)/usr/include/mac80211 $(EXTRA_CFLAGS)" \
59                 $(BUILDFLAGS)
60 endef
61
62 define KernelPackage/carl9170/install
63         $(INSTALL_DIR) $(1)/lib/firmware
64         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_VERSION)/firmware_build/carl9170.fw $(1)/lib/firmware/
65 endef
66
67 $(eval $(call KernelPackage,carl9170))