Makefile 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. include $(TOPDIR)/rules.mk
  2. PKG_NAME:=mt76
  3. PKG_RELEASE=1
  4. PKG_LICENSE:=GPLv2
  5. PKG_LICENSE_FILES:=
  6. PKG_SOURCE_URL:=https://github.com/openwrt/mt76
  7. PKG_SOURCE_PROTO:=git
  8. PKG_SOURCE_DATE:=2019-03-19
  9. PKG_SOURCE_VERSION:=e7bd802cf728f76ce42b6b7529db14e7fc027f0c
  10. PKG_MIRROR_HASH:=93ad26c322fe06e57c321b9d6f4332a2a2d626a4adcfe316465216b5216fbec6
  11. PKG_MAINTAINER:=Felix Fietkau <[email protected]>
  12. PKG_BUILD_PARALLEL:=1
  13. PKG_CONFIG_DEPENDS += \
  14. CONFIG_PACKAGE_kmod-mt76-usb \
  15. CONFIG_PACKAGE_kmod-mt76x02-common \
  16. CONFIG_PACKAGE_kmod-mt76x0-common \
  17. CONFIG_PACKAGE_kmod-mt76x0u \
  18. CONFIG_PACKAGE_kmod-mt76x2-common \
  19. CONFIG_PACKAGE_kmod-mt76x2 \
  20. CONFIG_PACKAGE_kmod-mt76x2u \
  21. CONFIG_PACKAGE_kmod-mt7603
  22. STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
  23. include $(INCLUDE_DIR)/kernel.mk
  24. include $(INCLUDE_DIR)/package.mk
  25. define KernelPackage/mt76-default
  26. SUBMENU:=Wireless Drivers
  27. DEPENDS:= \
  28. +kmod-mac80211 @!LINUX_3_18 \
  29. +@DRIVER_11AC_SUPPORT +@DRIVER_11N_SUPPORT +@DRIVER_11W_SUPPORT
  30. endef
  31. define KernelPackage/mt76
  32. SUBMENU:=Wireless Drivers
  33. TITLE:=MediaTek MT76x2/MT7603 wireless driver (metapackage)
  34. DEPENDS:= \
  35. +kmod-mt76-core +kmod-mt76x2 +kmod-mt7603
  36. endef
  37. define KernelPackage/mt76-core
  38. $(KernelPackage/mt76-default)
  39. TITLE:=MediaTek MT76xx wireless driver
  40. HIDDEN:=1
  41. FILES:=\
  42. $(PKG_BUILD_DIR)/mt76.ko
  43. endef
  44. define KernelPackage/mt76-usb
  45. $(KernelPackage/mt76-default)
  46. TITLE:=MediaTek MT76xx wireless driver USB support
  47. DEPENDS += +kmod-usb-core +kmod-mt76-core
  48. HIDDEN:=1
  49. FILES:=\
  50. $(PKG_BUILD_DIR)/mt76-usb.ko
  51. endef
  52. define KernelPackage/mt76x02-usb
  53. $(KernelPackage/mt76-default)
  54. TITLE:=MediaTek MT76x0/MT76x2 USB wireless driver common code
  55. DEPENDS+=+kmod-mt76-usb +kmod-mt76x02-common
  56. HIDDEN:=1
  57. FILES:=$(PKG_BUILD_DIR)/mt76x02-usb.ko
  58. endef
  59. define KernelPackage/mt76x02-common
  60. $(KernelPackage/mt76-default)
  61. TITLE:=MediaTek MT76x0/MT76x2 wireless driver common code
  62. DEPENDS+=+kmod-mt76-core
  63. HIDDEN:=1
  64. FILES:=$(PKG_BUILD_DIR)/mt76x02-lib.ko
  65. endef
  66. define KernelPackage/mt76x0-common
  67. $(KernelPackage/mt76-default)
  68. TITLE:=MediaTek MT76x0 wireless driver common code
  69. DEPENDS+=+kmod-mt76x02-common
  70. HIDDEN:=1
  71. FILES:=$(PKG_BUILD_DIR)/mt76x0/mt76x0-common.ko
  72. endef
  73. define KernelPackage/mt76x0e
  74. $(KernelPackage/mt76-default)
  75. TITLE:=MediaTek MT76x0E wireless driver
  76. DEPENDS+=@PCI_SUPPORT +kmod-mt76x0-common
  77. FILES:=\
  78. $(PKG_BUILD_DIR)/mt76x0/mt76x0e.ko
  79. AUTOLOAD:=$(call AutoProbe,mt76x0e)
  80. endef
  81. define KernelPackage/mt76x0u
  82. $(KernelPackage/mt76-default)
  83. TITLE:=MediaTek MT76x0U wireless driver
  84. DEPENDS+=+kmod-mt76x0-common +kmod-mt76x02-usb
  85. FILES:=\
  86. $(PKG_BUILD_DIR)/mt76x0/mt76x0u.ko
  87. AUTOLOAD:=$(call AutoProbe,mt76x0u)
  88. endef
  89. define KernelPackage/mt76x2-common
  90. $(KernelPackage/mt76-default)
  91. TITLE:=MediaTek MT76x2 wireless driver common code
  92. DEPENDS+=+kmod-mt76-core +kmod-mt76x02-common
  93. HIDDEN:=1
  94. FILES:=$(PKG_BUILD_DIR)/mt76x2/mt76x2-common.ko
  95. endef
  96. define KernelPackage/mt76x2u
  97. $(KernelPackage/mt76-default)
  98. TITLE:=MediaTek MT76x2U wireless driver
  99. DEPENDS+=+kmod-mt76x2-common +kmod-mt76x02-usb
  100. FILES:=\
  101. $(PKG_BUILD_DIR)/mt76x2/mt76x2u.ko
  102. AUTOLOAD:=$(call AutoProbe,mt76x2u)
  103. endef
  104. define KernelPackage/mt76x2
  105. $(KernelPackage/mt76-default)
  106. TITLE:=MediaTek MT76x2 wireless driver
  107. DEPENDS+=@PCI_SUPPORT +kmod-mt76x2-common
  108. FILES:=\
  109. $(PKG_BUILD_DIR)/mt76x2/mt76x2e.ko
  110. AUTOLOAD:=$(call AutoProbe,mt76x2e)
  111. endef
  112. define KernelPackage/mt7603
  113. $(KernelPackage/mt76-default)
  114. TITLE:=MediaTek MT7603 wireless driver
  115. DEPENDS+=@PCI_SUPPORT +kmod-mt76-core
  116. FILES:=\
  117. $(PKG_BUILD_DIR)/mt7603/mt7603e.ko
  118. AUTOLOAD:=$(call AutoProbe,mt7603e)
  119. endef
  120. NOSTDINC_FLAGS = \
  121. -I$(PKG_BUILD_DIR) \
  122. -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
  123. -I$(STAGING_DIR)/usr/include/mac80211-backport \
  124. -I$(STAGING_DIR)/usr/include/mac80211/uapi \
  125. -I$(STAGING_DIR)/usr/include/mac80211 \
  126. -include backport/autoconf.h \
  127. -include backport/backport.h
  128. ifdef CONFIG_PACKAGE_MAC80211_MESH
  129. NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
  130. endif
  131. ifdef CONFIG_PACKAGE_kmod-mt76-usb
  132. PKG_MAKE_FLAGS += CONFIG_MT76_USB=m
  133. endif
  134. ifdef CONFIG_PACKAGE_kmod-mt76x02-common
  135. PKG_MAKE_FLAGS += CONFIG_MT76x02_LIB=m
  136. endif
  137. ifdef CONFIG_PACKAGE_kmod-mt76x02-usb
  138. PKG_MAKE_FLAGS += CONFIG_MT76x02_USB=m
  139. endif
  140. ifdef CONFIG_PACKAGE_kmod-mt76x0-common
  141. PKG_MAKE_FLAGS += CONFIG_MT76x0_COMMON=m
  142. endif
  143. ifdef CONFIG_PACKAGE_kmod-mt76x0e
  144. PKG_MAKE_FLAGS += CONFIG_MT76x0E=m
  145. endif
  146. ifdef CONFIG_PACKAGE_kmod-mt76x0u
  147. PKG_MAKE_FLAGS += CONFIG_MT76x0U=m
  148. endif
  149. ifdef CONFIG_PACKAGE_kmod-mt76x2-common
  150. PKG_MAKE_FLAGS += CONFIG_MT76x2_COMMON=m
  151. endif
  152. ifdef CONFIG_PACKAGE_kmod-mt76x2
  153. PKG_MAKE_FLAGS += CONFIG_MT76x2E=m
  154. endif
  155. ifdef CONFIG_PACKAGE_kmod-mt76x2u
  156. PKG_MAKE_FLAGS += CONFIG_MT76x2U=m
  157. endif
  158. ifdef CONFIG_PACKAGE_kmod-mt7603
  159. PKG_MAKE_FLAGS += CONFIG_MT7603E=m
  160. endif
  161. define Build/Compile
  162. +$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
  163. $(KERNEL_MAKE_FLAGS) \
  164. $(PKG_MAKE_FLAGS) \
  165. SUBDIRS="$(PKG_BUILD_DIR)" \
  166. NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
  167. modules
  168. endef
  169. define Package/kmod-mt76/install
  170. true
  171. endef
  172. define KernelPackage/mt76x0-common/install
  173. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  174. cp \
  175. $(PKG_BUILD_DIR)/firmware/mt7610e.bin \
  176. $(1)/lib/firmware/mediatek
  177. endef
  178. define KernelPackage/mt76x2-common/install
  179. $(INSTALL_DIR) $(1)/lib/firmware
  180. cp \
  181. $(PKG_BUILD_DIR)/firmware/mt7662_rom_patch.bin \
  182. $(PKG_BUILD_DIR)/firmware/mt7662.bin \
  183. $(1)/lib/firmware
  184. endef
  185. define KernelPackage/mt76x0u/install
  186. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  187. ln -sf mt7610e.bin $(1)/lib/firmware/mediatek/mt7610u.bin
  188. endef
  189. define KernelPackage/mt76x2u/install
  190. $(INSTALL_DIR) $(1)/lib/firmware/mediatek
  191. ln -sf ../mt7662.bin $(1)/lib/firmware/mediatek/mt7662u.bin
  192. ln -sf ../mt7662_rom_patch.bin $(1)/lib/firmware/mediatek/mt7662u_rom_patch.bin
  193. endef
  194. define KernelPackage/mt7603/install
  195. $(INSTALL_DIR) $(1)/lib/firmware
  196. cp $(if $(CONFIG_TARGET_ramips_mt76x8), \
  197. $(PKG_BUILD_DIR)/firmware/mt7628_e1.bin \
  198. $(PKG_BUILD_DIR)/firmware/mt7628_e2.bin \
  199. ,\
  200. $(PKG_BUILD_DIR)/firmware/mt7603_e1.bin \
  201. $(PKG_BUILD_DIR)/firmware/mt7603_e2.bin \
  202. ) \
  203. $(1)/lib/firmware
  204. endef
  205. $(eval $(call KernelPackage,mt76-core))
  206. $(eval $(call KernelPackage,mt76-usb))
  207. $(eval $(call KernelPackage,mt76x02-usb))
  208. $(eval $(call KernelPackage,mt76x02-common))
  209. $(eval $(call KernelPackage,mt76x0-common))
  210. $(eval $(call KernelPackage,mt76x0e))
  211. $(eval $(call KernelPackage,mt76x0u))
  212. $(eval $(call KernelPackage,mt76x2-common))
  213. $(eval $(call KernelPackage,mt76x2u))
  214. $(eval $(call KernelPackage,mt76x2))
  215. $(eval $(call KernelPackage,mt7603))
  216. $(eval $(call KernelPackage,mt76))