ab978f3b49b3bb3216a2fc075c09c12972d2b5b8
[openwrt/staging/jow.git] / package / kernel / qca-ssdk / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=qca-ssdk
4 PKG_RELEASE:=3
5
6 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk.git
7 PKG_SOURCE_PROTO:=git
8 PKG_SOURCE_DATE:=2023-10-04
9 PKG_SOURCE_VERSION:=23a5aa4a4d5834da7a07efb58baebfbee91786b0
10 PKG_MIRROR_HASH:=9d169ce924a46a4e530031061d3183b92f23c7f46b3106f0b9ba3587846a73ee
11
12 PKG_FLAGS:=nonshared
13 PKG_BUILD_FLAGS:=no-lto
14
15 include $(INCLUDE_DIR)/kernel.mk
16 include $(INCLUDE_DIR)/package.mk
17
18 define KernelPackage/qca-ssdk
19 SECTION:=kernel
20 CATEGORY:=Kernel modules
21 SUBMENU:=Network Devices
22 TITLE:=Qualcom SSDK switch driver
23 DEPENDS:=@(TARGET_qualcommax)
24 FILES:=$(PKG_BUILD_DIR)/build/bin/qca-ssdk.ko
25 AUTOLOAD:=$(call AutoLoad,30,qca-ssdk)
26 endef
27
28 define KernelPackage/qca-ssdk/Description
29 Driver for Qualcomm Atheros switches.
30 endef
31
32 GCC_VERSION=$(shell echo "$(CONFIG_GCC_VERSION)" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/')
33
34 LNX_CONFIG_OPTS = LNX_MAKEOPTS='$(KERNEL_MAKEOPTS)' MODULE_TYPE=KSLIB modules
35
36 MAKE_FLAGS+= \
37 TARGET_NAME=$(CONFIG_TARGET_NAME) \
38 TOOL_PATH=$(firstword $(TOOLCHAIN_BIN_DIRS)) \
39 SYS_PATH=$(LINUX_DIR) \
40 TOOLPREFIX=$(TARGET_CROSS) \
41 KVER=$(LINUX_VERSION) \
42 ARCH=$(LINUX_KARCH) \
43 TARGET_SUFFIX=$(CONFIG_TARGET_SUFFIX) \
44 GCC_VERSION=$(GCC_VERSION) \
45 EXTRA_CFLAGS=-fno-stack-protector -I$(STAGING_DIR)/usr/include \
46 SoC=$(CONFIG_TARGET_SUBTARGET) \
47 $(LNX_CONFIG_OPTS)
48
49 ifeq ($(CONFIG_TARGET_SUBTARGET), "ipq807x")
50 MAKE_FLAGS+= CHIP_TYPE=HPPE PTP_FEATURE=disable SWCONFIG_FEATURE=disable
51 endif
52
53 define Build/InstallDev
54 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk
55 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/api
56 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/ref
57 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/fal
58 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/sal
59 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/init
60 $(CP) -rf $(PKG_BUILD_DIR)/include/api/sw_ioctl.h $(1)/usr/include/qca-ssdk/api
61 if [ -f $(PKG_BUILD_DIR)/include/ref/ref_vsi.h ]; then \
62 $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_vsi.h $(1)/usr/include/qca-ssdk/ref/; \
63 fi
64 if [ -f $(PKG_BUILD_DIR)/include/ref/ref_fdb.h ]; then \
65 $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_fdb.h $(1)/usr/include/qca-ssdk/ref/; \
66 fi
67 if [ -f $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h ]; then \
68 $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h $(1)/usr/include/qca-ssdk/ref/; \
69 fi
70 if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_init.h ]; then \
71 $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_init.h $(1)/usr/include/qca-ssdk/init/; \
72 fi
73 if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_netlink.h ]; then \
74 $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_netlink.h $(1)/usr/include/qca-ssdk/init/; \
75 fi
76 $(CP) -rf $(PKG_BUILD_DIR)/include/fal $(1)/usr/include/qca-ssdk
77 $(CP) -rf $(PKG_BUILD_DIR)/include/common/*.h $(1)/usr/include/qca-ssdk
78 $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/linux/*.h $(1)/usr/include/qca-ssdk
79 $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/*.h $(1)/usr/include/qca-ssdk
80
81 endef
82
83 $(eval $(call KernelPackage,qca-ssdk))