Makefile 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. #
  2. # Copyright (C) 2007 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. # $Id: $
  8. include $(TOPDIR)/rules.mk
  9. include $(INCLUDE_DIR)/kernel.mk
  10. PKG_NAME:=p54
  11. PKG_RELEASE:=1
  12. PKG_FWP54_NAME:=2.7.0.0.arm
  13. PKG_FWP54_URL:=http://prism54.org/firmware
  14. PKG_FWP54_MD5SUM:=09f9da7ea757173c9de1a0322a1f9782
  15. include $(INCLUDE_DIR)/package.mk
  16. define KernelPackage/p54/Default
  17. SUBMENU:=Wireless Drivers
  18. TITLE:=Prism Wireless Support (mac80211)
  19. DEPENDS:=+kmod-mac80211 @!TARGET_atheros @!TARGET_uml
  20. endef
  21. define KernelPackage/p54-common
  22. $(call KernelPackage/p54/Default)
  23. TITLE+= (COMMON)
  24. DEPENDS+= @PCI_SUPPORT||USB_SUPPORT
  25. FILES:=$(PKG_BUILD_DIR)/p54common.$(LINUX_KMOD_SUFFIX)
  26. AUTOLOAD:=$(call AutoLoad,30,p54common)
  27. endef
  28. define KernelPackage/p54-pci
  29. $(call KernelPackage/p54/Default)
  30. TITLE+= (PCI)
  31. DEPENDS+= @PCI_SUPPORT +kmod-p54-common
  32. FILES:=$(PKG_BUILD_DIR)/p54pci.$(LINUX_KMOD_SUFFIX)
  33. AUTOLOAD:=$(call AutoLoad,31,p54pci)
  34. endef
  35. define KernelPackage/p54-usb
  36. $(call KernelPackage/p54/Default)
  37. TITLE+= (USB)
  38. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
  39. FILES:=$(PKG_BUILD_DIR)/p54usb.$(LINUX_KMOD_SUFFIX)
  40. AUTOLOAD:=$(call AutoLoad,31,p54usb)
  41. endef
  42. define KernelPackage/p54/description
  43. Kernel module for Prism54 chipsets (mac80211)
  44. endef
  45. $(STAMP_PREPARED): $(DL_DIR)/$(PKG_FWP54_NAME)
  46. $(DL_DIR)/$(PKG_FWP54_NAME):
  47. $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWP54_NAME)" "$(PKG_FWP54_MD5SUM)" $(PKG_FWP54_URL)
  48. PKG_EXTRA_KCONFIG:= \
  49. CONFIG_P54_COMMON=m \
  50. ifneq ($(CONFIG_PACKAGE_kmod-p54-pci),)
  51. PKG_EXTRA_KCONFIG+= CONFIG_P54_PCI=m
  52. endif
  53. ifneq ($(CONFIG_PACKAGE_kmod-p54-usb),)
  54. PKG_EXTRA_KCONFIG+= CONFIG_P54_USB=m
  55. endif
  56. EXTRA_CFLAGS:= \
  57. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \
  58. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \
  59. MAKE_OPTS:= \
  60. ARCH="$(LINUX_KARCH)" \
  61. CROSS_COMPILE="$(TARGET_CROSS)" \
  62. SUBDIRS="$(PKG_BUILD_DIR)" \
  63. EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
  64. LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include -include linux/autoconf.h" \
  65. $(PKG_EXTRA_KCONFIG)
  66. ifneq ($(findstring 2.6.23,$(LINUX_VERSION)),)
  67. define Build/Prepare
  68. mkdir -p $(PKG_BUILD_DIR)
  69. $(CP) ./src/* $(PKG_BUILD_DIR)/
  70. $(CP) $(DL_DIR)/$(PKG_FWP54_NAME) $(PKG_BUILD_DIR)
  71. endef
  72. define Build/Configure
  73. endef
  74. define Build/Compile
  75. $(MAKE) -C "$(LINUX_DIR)" \
  76. $(MAKE_OPTS) \
  77. modules
  78. endef
  79. else
  80. override CONFIG_PACKAGE_kmod-p54-common=
  81. override CONFIG_PACKAGE_kmod-p54-pci=
  82. override CONFIG_PACKAGE_kmod-p54-usb=
  83. endif
  84. define KernelPackage/p54-pci/install
  85. $(INSTALL_DIR) $(1)/lib/firmware
  86. $(INSTALL_DATA) $(PKG_BUILD_DIR)/2.7.0.0.arm $(1)/lib/firmware/isl3886
  87. endef
  88. define KernelPackage/p54-usb/install
  89. $(INSTALL_DIR) $(1)/lib/firmware
  90. $(INSTALL_DATA) $(PKG_BUILD_DIR)/2.7.0.0.arm $(1)/lib/firmware/isl3886
  91. endef
  92. $(eval $(call KernelPackage,p54-common))
  93. $(eval $(call KernelPackage,p54-pci))
  94. $(eval $(call KernelPackage,p54-usb))