Makefile 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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:=2018-10-05
  9. PKG_SOURCE_VERSION:=d533f1351834ba2899897b090aa56a5f5b922bd7
  10. PKG_MIRROR_HASH:=27e9c4cf876ad26a6f854d2b00d7e3b100980e820444f13986bf66f3f539eed3
  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 @PCI_SUPPORT @!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 +kmod-mt76x02-usb
  70. HIDDEN:=1
  71. FILES:=$(PKG_BUILD_DIR)/mt76x0/mt76x0-common.ko
  72. endef
  73. define KernelPackage/mt76x0u
  74. $(KernelPackage/mt76-default)
  75. TITLE:=MediaTek MT76x2U wireless driver
  76. DEPENDS+=+kmod-mt76x0-common +kmod-mt76x02-usb
  77. FILES:=\
  78. $(PKG_BUILD_DIR)/mt76x0/mt76x0u.ko
  79. AUTOLOAD:=$(call AutoProbe,mt76x0u)
  80. endef
  81. define KernelPackage/mt76x2-common
  82. $(KernelPackage/mt76-default)
  83. TITLE:=MediaTek MT76x2 wireless driver common code
  84. DEPENDS+=+kmod-mt76-core +kmod-mt76x02-common
  85. HIDDEN:=1
  86. FILES:=$(PKG_BUILD_DIR)/mt76x2/mt76x2-common.ko
  87. endef
  88. define KernelPackage/mt76x2u
  89. $(KernelPackage/mt76-default)
  90. TITLE:=MediaTek MT76x2U wireless driver
  91. DEPENDS+=+kmod-mt76x2-common +kmod-mt76x02-usb
  92. FILES:=\
  93. $(PKG_BUILD_DIR)/mt76x2/mt76x2u.ko
  94. AUTOLOAD:=$(call AutoProbe,mt76x2u)
  95. endef
  96. define KernelPackage/mt76x2
  97. $(KernelPackage/mt76-default)
  98. TITLE:=MediaTek MT76x2 wireless driver
  99. DEPENDS+=+kmod-mt76x2-common
  100. FILES:=\
  101. $(PKG_BUILD_DIR)/mt76x2/mt76x2e.ko
  102. AUTOLOAD:=$(call AutoProbe,mt76x2e)
  103. endef
  104. define KernelPackage/mt7603
  105. $(KernelPackage/mt76-default)
  106. TITLE:=MediaTek MT7603 wireless driver
  107. DEPENDS+=+kmod-mt76-core
  108. FILES:=\
  109. $(PKG_BUILD_DIR)/mt7603/mt7603e.ko
  110. AUTOLOAD:=$(call AutoProbe,mt7603e)
  111. endef
  112. NOSTDINC_FLAGS = \
  113. -I$(PKG_BUILD_DIR) \
  114. -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
  115. -I$(STAGING_DIR)/usr/include/mac80211-backport \
  116. -I$(STAGING_DIR)/usr/include/mac80211/uapi \
  117. -I$(STAGING_DIR)/usr/include/mac80211 \
  118. -include backport/autoconf.h \
  119. -include backport/backport.h
  120. ifdef CONFIG_PACKAGE_MAC80211_MESH
  121. NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
  122. endif
  123. ifdef CONFIG_PACKAGE_kmod-mt76-usb
  124. PKG_MAKE_FLAGS += CONFIG_MT76_USB=m
  125. endif
  126. ifdef CONFIG_PACKAGE_kmod-mt76x02-common
  127. PKG_MAKE_FLAGS += CONFIG_MT76x02_LIB=m
  128. endif
  129. ifdef CONFIG_PACKAGE_kmod-mt76x02-usb
  130. PKG_MAKE_FLAGS += CONFIG_MT76x02_USB=m
  131. endif
  132. ifdef CONFIG_PACKAGE_kmod-mt76x0-common
  133. PKG_MAKE_FLAGS += CONFIG_MT76x0_COMMON=m
  134. endif
  135. ifdef CONFIG_PACKAGE_kmod-mt76x0u
  136. PKG_MAKE_FLAGS += CONFIG_MT76x0U=m
  137. endif
  138. ifdef CONFIG_PACKAGE_kmod-mt76x2-common
  139. PKG_MAKE_FLAGS += CONFIG_MT76x2_COMMON=m
  140. endif
  141. ifdef CONFIG_PACKAGE_kmod-mt76x2
  142. PKG_MAKE_FLAGS += CONFIG_MT76x2E=m
  143. endif
  144. ifdef CONFIG_PACKAGE_kmod-mt76x2u
  145. PKG_MAKE_FLAGS += CONFIG_MT76x2U=m
  146. endif
  147. ifdef CONFIG_PACKAGE_kmod-mt7603
  148. PKG_MAKE_FLAGS += CONFIG_MT7603E=m
  149. endif
  150. define Build/Compile
  151. +$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
  152. $(KERNEL_MAKE_FLAGS) \
  153. $(PKG_MAKE_FLAGS) \
  154. SUBDIRS="$(PKG_BUILD_DIR)" \
  155. NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
  156. modules
  157. endef
  158. define Package/kmod-mt76/install
  159. true
  160. endef
  161. define KernelPackage/mt76x2/install
  162. $(INSTALL_DIR) $(1)/lib/firmware
  163. cp \
  164. $(PKG_BUILD_DIR)/firmware/mt7662_rom_patch.bin \
  165. $(PKG_BUILD_DIR)/firmware/mt7662.bin \
  166. $(1)/lib/firmware
  167. endef
  168. define KernelPackage/mt7603/install
  169. $(INSTALL_DIR) $(1)/lib/firmware
  170. cp $(if $(CONFIG_TARGET_ramips_mt76x8), \
  171. $(PKG_BUILD_DIR)/firmware/mt7628_e1.bin \
  172. $(PKG_BUILD_DIR)/firmware/mt7628_e2.bin \
  173. ,\
  174. $(PKG_BUILD_DIR)/firmware/mt7603_e1.bin \
  175. $(PKG_BUILD_DIR)/firmware/mt7603_e2.bin \
  176. ) \
  177. $(1)/lib/firmware
  178. endef
  179. $(eval $(call KernelPackage,mt76-core))
  180. $(eval $(call KernelPackage,mt76-usb))
  181. $(eval $(call KernelPackage,mt76x02-usb))
  182. $(eval $(call KernelPackage,mt76x02-common))
  183. $(eval $(call KernelPackage,mt76x0-common))
  184. $(eval $(call KernelPackage,mt76x0u))
  185. $(eval $(call KernelPackage,mt76x2-common))
  186. $(eval $(call KernelPackage,mt76x2u))
  187. $(eval $(call KernelPackage,mt76x2))
  188. $(eval $(call KernelPackage,mt7603))
  189. $(eval $(call KernelPackage,mt76))