Makefile 5.6 KB

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