Makefile 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. #
  2. # Copyright (C) 2007-2008 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. include $(INCLUDE_DIR)/kernel.mk
  9. PKG_NAME:=acx-mac80211
  10. PKG_REV:=11145e4b4895d0a8ead16cbe052baf3dde4627bd
  11. PKG_VERSION:=20110123
  12. PKG_RELEASE:=1
  13. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
  14. PKG_SOURCE_URL:=git://acx100.git.sourceforge.net/gitroot/acx100/acx-mac80211
  15. PKG_SOURCE_PROTO:=git
  16. PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
  17. PKG_SOURCE_VERSION:=$(PKG_REV)
  18. PKG_BUILD_DEPENDS:=mac80211
  19. include $(INCLUDE_DIR)/package.mk
  20. define KernelPackage/acx-mac80211
  21. SUBMENU:=Wireless Drivers
  22. TITLE:=ACX111 Mac80211 driver
  23. DEPENDS:=@PCI_SUPPORT||TARGET_ar7 +kmod-mac80211
  24. FILES:=$(PKG_BUILD_DIR)/acx-mac80211.ko
  25. AUTOLOAD:=$(call AutoLoad,50,acx-mac80211)
  26. MENU:=1
  27. endef
  28. define KernelPackage/acx-mac80211/config
  29. menu "Configuration"
  30. depends on PACKAGE_kmod-acx-mac80211
  31. choice
  32. prompt "acx firmware version"
  33. default ACX_DEFAULT if !TARGET_adm5120
  34. default ACX_1_2_1_34 if TARGET_adm5120
  35. help
  36. This option allows you to select the version of the acx firmware.
  37. config ACX_DEFAULT
  38. bool "Default"
  39. help
  40. Default firmware for ACX devices.
  41. If unsure, select this.
  42. config ACX_1_2_1_34
  43. bool "1.2.1_34"
  44. help
  45. 1.2.1_34 firmware for ACX devices. Works with Zyxel P-334WT.
  46. If unsure, select the "default" firmware.
  47. endchoice
  48. endmenu
  49. endef
  50. define KernelPackage/acx-mac80211/description
  51. Driver for acx111 cards (Mac80211 version)
  52. endef
  53. C16_FW:=tiacx111c16
  54. C19_FW:=tiacx111c19
  55. ifeq ($(CONFIG_ACX_DEFAULT),y)
  56. define Download/tiacx111c16
  57. FILE:=$(C16_FW)
  58. URL:=http://teknoraver.net/software/acx-mac80211/
  59. MD5SUM:=7026826460376f6b174f9225bd7781b9
  60. endef
  61. $(eval $(call Download,tiacx111c16))
  62. define Download/tiacx111c19
  63. FILE:=$(C19_FW)
  64. URL:=http://ipkg.k1k2.de/files/
  65. MD5SUM:=a1fa9681e297b4e36e257090fc12265a
  66. endef
  67. $(eval $(call Download,tiacx111c19))
  68. endif
  69. ifeq ($(CONFIG_ACX_1_2_1_34),y)
  70. define Download/tiacx111c16
  71. FILE:=$(C16_FW)_1.2.1_34
  72. # URL:=http://acx100.erley.org/fw/acx111_1.2.1.34/
  73. URL:=http://sites.google.com/site/atorkhov/files/
  74. MD5SUM:=fcd07de4b25e1d2aaf3b78b27c5b7ee9
  75. endef
  76. $(eval $(call Download,tiacx111c16))
  77. endif
  78. PKG_EXTRA_KCONFIG:= \
  79. CONFIG_ACX_MAC80211=m \
  80. CONFIG_ACX_MAC80211_PCI=m \
  81. PKG_EXTRA_CFLAGS:= \
  82. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \
  83. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \
  84. ifneq ($(CONFIG_LINUX_2_6_30)$(CONFIG_LINUX_2_6_31)$(CONFIG_LINUX_2_6_32),)
  85. LINUX_AUTOCONF_FILE:= linux/autoconf.h
  86. else
  87. LINUX_AUTOCONF_FILE:= generated/autoconf.h
  88. endif
  89. define Build/Compile
  90. $(MAKE) -C "$(LINUX_DIR)" \
  91. ARCH="$(LINUX_KARCH)" \
  92. CROSS_COMPILE="$(TARGET_CROSS)" \
  93. SUBDIRS="$(PKG_BUILD_DIR)" \
  94. $(PKG_EXTRA_KCONFIG) \
  95. EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS) -DCONFIG_ACX_MAC80211_VERSION=\"KERNEL_VERSION(2,6,37)\"" \
  96. LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include \
  97. -Iarch/$(LINUX_KARCH)/include \
  98. -include $(LINUX_AUTOCONF_FILE) \
  99. -include linux/compat-2.6.h" \
  100. V="$(V)" \
  101. modules
  102. endef
  103. define Build/Configure
  104. endef
  105. define KernelPackage/acx-mac80211/install
  106. $(INSTALL_DIR) $(1)/lib/firmware
  107. ifeq ($(CONFIG_ACX_DEFAULT),y)
  108. $(INSTALL_DATA) $(DL_DIR)/$(C16_FW) $(1)/lib/firmware/
  109. $(INSTALL_DATA) $(DL_DIR)/$(C19_FW) $(1)/lib/firmware/
  110. endif
  111. ifeq ($(CONFIG_ACX_1_2_1_34),y)
  112. $(INSTALL_DATA) $(DL_DIR)/$(C16_FW)_1.2.1_34 $(1)/lib/firmware/$(C16_FW)
  113. endif
  114. endef
  115. $(eval $(call KernelPackage,acx-mac80211))