Makefile 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. include $(TOPDIR)/rules.mk
  2. PKG_NAME:=qca-ssdk
  3. PKG_RELEASE:=1
  4. PKG_SOURCE_URL:=https://github.com/openwrt/qca-ssdk.git
  5. PKG_SOURCE_PROTO:=git
  6. PKG_SOURCE_DATE:=2025-05-30
  7. PKG_SOURCE_VERSION:=446db12b1fd3bca2e61e45cb01c4ad52cfddd95b
  8. PKG_MIRROR_HASH:=d7bf3b83b08c61801e3ee3fe6d18da19c8c774e87f94c494c01f80b52d279589
  9. PKG_FLAGS:=nonshared
  10. PKG_BUILD_PARALLEL:=1
  11. PKG_BUILD_FLAGS:=no-lto
  12. include $(INCLUDE_DIR)/kernel.mk
  13. include $(INCLUDE_DIR)/package.mk
  14. define KernelPackage/qca-ssdk
  15. SECTION:=kernel
  16. CATEGORY:=Kernel modules
  17. SUBMENU:=Network Devices
  18. TITLE:=Qualcom SSDK switch driver
  19. DEPENDS:=@(TARGET_qualcommax)
  20. FILES:=$(PKG_BUILD_DIR)/qca-ssdk.ko
  21. AUTOLOAD:=$(call AutoLoad,30,qca-ssdk)
  22. endef
  23. define KernelPackage/qca-ssdk/Description
  24. Driver for Qualcomm Atheros switches.
  25. endef
  26. GCC_VERSION=$(shell echo "$(CONFIG_GCC_VERSION)" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/')
  27. LNX_CONFIG_OPTS = LNX_MAKEOPTS='$(KERNEL_MAKEOPTS)' PRJ_PATH=$(PKG_BUILD_DIR) MODULE_TYPE=KSLIB modules
  28. EXTRA_CFLAGS:= \
  29. -fno-stack-protector \
  30. -Wno-missing-prototypes \
  31. -Wno-missing-declarations \
  32. -I$(STAGING_DIR)/usr/include
  33. MAKE_FLAGS+= \
  34. TARGET_NAME=$(CONFIG_TARGET_NAME) \
  35. TOOL_PATH=$(firstword $(TOOLCHAIN_BIN_DIRS)) \
  36. SYS_PATH=$(LINUX_DIR) \
  37. TOOLPREFIX=$(TARGET_CROSS) \
  38. KVER=$(LINUX_VERSION) \
  39. ARCH=$(LINUX_KARCH) \
  40. TARGET_SUFFIX=$(CONFIG_TARGET_SUFFIX) \
  41. GCC_VERSION=$(GCC_VERSION) \
  42. EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
  43. SoC=$(CONFIG_TARGET_SUBTARGET) \
  44. SHELL="$(BASH)" \
  45. PTP_FEATURE=disable SWCONFIG_FEATURE=disable \
  46. ISISC_ENABLE=disable MHT_ENABLE=disable \
  47. IN_QCA803X_PHY=FALSE IN_QCA808X_PHY=FALSE \
  48. IN_MALIBU_PHY=FALSE IN_MP_PHY=FALSE \
  49. $(LNX_CONFIG_OPTS)
  50. ifeq ($(CONFIG_TARGET_SUBTARGET), "ipq807x")
  51. MAKE_FLAGS+= CHIP_TYPE=HPPE
  52. endif
  53. ifeq ($(CONFIG_TARGET_SUBTARGET), "ipq60xx")
  54. MAKE_FLAGS+= CHIP_TYPE=CPPE \
  55. IN_AQUANTIA_PHY=TRUE
  56. endif
  57. ifeq ($(CONFIG_TARGET_SUBTARGET), "ipq50xx")
  58. MAKE_FLAGS+= CHIP_TYPE=MP
  59. endif
  60. define Build/Compile
  61. +$(MAKE) $(PKG_JOBS) $(MAKE_FLAGS) -C $(PKG_BUILD_DIR) $(LNX_CONFIG_OPTS)
  62. endef
  63. define Build/InstallDev
  64. $(INSTALL_DIR) $(1)/usr/include/qca-ssdk
  65. $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/api
  66. $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/ref
  67. $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/fal
  68. $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/sal
  69. $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/init
  70. $(CP) -rf $(PKG_BUILD_DIR)/include/api/sw_ioctl.h $(1)/usr/include/qca-ssdk/api
  71. if [ -f $(PKG_BUILD_DIR)/include/ref/ref_vsi.h ]; then \
  72. $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_vsi.h $(1)/usr/include/qca-ssdk/ref/; \
  73. fi
  74. if [ -f $(PKG_BUILD_DIR)/include/ref/ref_fdb.h ]; then \
  75. $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_fdb.h $(1)/usr/include/qca-ssdk/ref/; \
  76. fi
  77. if [ -f $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h ]; then \
  78. $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h $(1)/usr/include/qca-ssdk/ref/; \
  79. fi
  80. if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_init.h ]; then \
  81. $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_init.h $(1)/usr/include/qca-ssdk/init/; \
  82. fi
  83. if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_netlink.h ]; then \
  84. $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_netlink.h $(1)/usr/include/qca-ssdk/init/; \
  85. fi
  86. $(CP) -rf $(PKG_BUILD_DIR)/include/fal $(1)/usr/include/qca-ssdk
  87. $(CP) -rf $(PKG_BUILD_DIR)/include/common/*.h $(1)/usr/include/qca-ssdk
  88. $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/linux/*.h $(1)/usr/include/qca-ssdk
  89. $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/*.h $(1)/usr/include/qca-ssdk
  90. endef
  91. $(eval $(call KernelPackage,qca-ssdk))