treewide: make use of new toolchain define
[openwrt/staging/stintel.git] / package / kernel / qca-ssdk / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=qca-ssdk
4 PKG_RELEASE:=1
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-06-06
9 PKG_SOURCE_VERSION:=74caf88aa3b6793c300f676e4fb1c62da7507be9
10 PKG_MIRROR_HASH:=6bdb90919b773f5fb432c8b374c9419feac32ba6583ad82dfec5e41628a32dd9
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 $(LNX_CONFIG_OPTS)
47
48 ifeq ($(CONFIG_TARGET_SUBTARGET), "ipq807x")
49 MAKE_FLAGS+= CHIP_TYPE=HPPE PTP_FEATURE=disable SWCONFIG_FEATURE=disable
50 endif
51
52 define Build/InstallDev
53 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk
54 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/api
55 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/ref
56 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/fal
57 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/sal
58 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/init
59 $(CP) -rf $(PKG_BUILD_DIR)/include/api/sw_ioctl.h $(1)/usr/include/qca-ssdk/api
60 if [ -f $(PKG_BUILD_DIR)/include/ref/ref_vsi.h ]; then \
61 $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_vsi.h $(1)/usr/include/qca-ssdk/ref/; \
62 fi
63 if [ -f $(PKG_BUILD_DIR)/include/ref/ref_fdb.h ]; then \
64 $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_fdb.h $(1)/usr/include/qca-ssdk/ref/; \
65 fi
66 if [ -f $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h ]; then \
67 $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h $(1)/usr/include/qca-ssdk/ref/; \
68 fi
69 if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_init.h ]; then \
70 $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_init.h $(1)/usr/include/qca-ssdk/init/; \
71 fi
72 if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_netlink.h ]; then \
73 $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_netlink.h $(1)/usr/include/qca-ssdk/init/; \
74 fi
75 $(CP) -rf $(PKG_BUILD_DIR)/include/fal $(1)/usr/include/qca-ssdk
76 $(CP) -rf $(PKG_BUILD_DIR)/include/common/*.h $(1)/usr/include/qca-ssdk
77 $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/linux/*.h $(1)/usr/include/qca-ssdk
78 $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/*.h $(1)/usr/include/qca-ssdk
79
80 endef
81
82 $(eval $(call KernelPackage,qca-ssdk))