Makefile 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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. # $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. # XXX: remove @!TARGET_* later when we have PCI & USB support properly detected on all targets
  17. define KernelPackage/p54/Default
  18. SUBMENU:=Wireless Drivers
  19. TITLE:=Prism Wireless Support (mac80211)
  20. DEPENDS:=+kmod-mac80211 @!TARGET_ar7 @!TARGET_atheros @!TARGET_uml
  21. endef
  22. define KernelPackage/p54-common
  23. $(call KernelPackage/p54/Default)
  24. TITLE+= (COMMON)
  25. DEPENDS+= @PCI_SUPPORT||USB_SUPPORT
  26. FILES:=$(PKG_BUILD_DIR)/p54common.$(LINUX_KMOD_SUFFIX)
  27. AUTOLOAD:=$(call AutoLoad,30,p54common)
  28. endef
  29. define KernelPackage/p54-pci
  30. $(call KernelPackage/p54/Default)
  31. TITLE+= (PCI)
  32. DEPENDS+= @PCI_SUPPORT +kmod-p54-common
  33. FILES:=$(PKG_BUILD_DIR)/p54pci.$(LINUX_KMOD_SUFFIX)
  34. AUTOLOAD:=$(call AutoLoad,31,p54pci)
  35. endef
  36. define KernelPackage/p54-usb
  37. $(call KernelPackage/p54/Default)
  38. TITLE+= (USB)
  39. DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
  40. FILES:=$(PKG_BUILD_DIR)/p54usb.$(LINUX_KMOD_SUFFIX)
  41. AUTOLOAD:=$(call AutoLoad,31,p54usb)
  42. endef
  43. define KernelPackage/p54/description
  44. Kernel module for Prism54 chipsets (mac80211)
  45. endef
  46. $(STAMP_PREPARED): $(DL_DIR)/$(PKG_FWP54_NAME)
  47. $(DL_DIR)/$(PKG_FWP54_NAME):
  48. $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWP54_NAME)" "$(PKG_FWP54_MD5SUM)" $(PKG_FWP54_URL)
  49. PKG_EXTRA_KCONFIG:= \
  50. CONFIG_P54_COMMON=m \
  51. ifneq ($(CONFIG_PACKAGE_kmod-p54-pci),)
  52. PKG_EXTRA_KCONFIG+= CONFIG_P54_PCI=m
  53. endif
  54. ifneq ($(CONFIG_PACKAGE_kmod-p54-usb),)
  55. PKG_EXTRA_KCONFIG+= CONFIG_P54_USB=m
  56. endif
  57. EXTRA_CFLAGS:= \
  58. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \
  59. $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \
  60. MAKE_OPTS:= \
  61. ARCH="$(LINUX_KARCH)" \
  62. CROSS_COMPILE="$(TARGET_CROSS)" \
  63. SUBDIRS="$(PKG_BUILD_DIR)" \
  64. EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
  65. LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include -include linux/autoconf.h" \
  66. $(PKG_EXTRA_KCONFIG)
  67. ifneq ($(findstring 2.6.23,$(LINUX_VERSION)),)
  68. define Build/Prepare
  69. mkdir -p $(PKG_BUILD_DIR)
  70. $(CP) ./src/* $(PKG_BUILD_DIR)/
  71. $(CP) $(DL_DIR)/$(PKG_FWP54_NAME) $(PKG_BUILD_DIR)
  72. endef
  73. define Build/Configure
  74. endef
  75. define Build/Compile
  76. $(MAKE) -C "$(LINUX_DIR)" \
  77. $(MAKE_OPTS) \
  78. modules
  79. endef
  80. else
  81. override CONFIG_PACKAGE_kmod-p54-common=
  82. override CONFIG_PACKAGE_kmod-p54-pci=
  83. override CONFIG_PACKAGE_kmod-p54-usb=
  84. endif
  85. define KernelPackage/p54-pci/install
  86. $(INSTALL_DIR) $(1)/lib/firmware
  87. $(INSTALL_DATA) $(PKG_BUILD_DIR)/2.7.0.0.arm $(1)/lib/firmware/isl3886
  88. endef
  89. define KernelPackage/p54-usb/install
  90. $(INSTALL_DIR) $(1)/lib/firmware
  91. $(INSTALL_DATA) $(PKG_BUILD_DIR)/2.7.0.0.arm $(1)/lib/firmware/isl3886
  92. endef
  93. $(eval $(call KernelPackage,p54-common))
  94. $(eval $(call KernelPackage,p54-pci))
  95. $(eval $(call KernelPackage,p54-usb))