kernel: qca-ssdk: renumber patches
[openwrt/staging/jow.git] / package / kernel / qca-ssdk / patches / 0010-Support-Linux-Style-Makefile-for-SSDK.patch
1 From 2276a0b93751f015ef719dedf9a0d4b55ae684d5 Mon Sep 17 00:00:00 2001
2 From: crao <quic_crao@quicinc.com>
3 Date: Tue, 15 Nov 2022 18:50:01 +0800
4 Subject: [PATCH 10/14] Support Linux-Style Makefile for SSDK
5
6 Change-Id: I8c4399433b6422ef6192f70bf08b0d3023cc94b6
7 Signed-off-by: crao <quic_crao@quicinc.com>
8 ---
9 Makefile | 15 +++++++++++++
10 Makefile.modules | 16 ++++++++++++++
11 make/defs.mk | 1 +
12 make/linux_opt.mk | 54 ++++++++++++++++++++++++++++-------------------
13 make/target.mk | 12 +++++++++++
14 src/api/Makefile | 2 +-
15 6 files changed, 77 insertions(+), 23 deletions(-)
16 create mode 100644 Makefile.modules
17
18 --- a/Makefile
19 +++ b/Makefile
20 @@ -12,6 +12,9 @@ include ./make/$(OS)_opt.mk
21 SUB_DIR=$(patsubst %/, %, $(dir $(wildcard src/*/Makefile)))
22 SUB_LIB=$(subst src/, , $(SUB_DIR))
23
24 +####################################################################
25 +# SSDK-Style Makefile
26 +####################################################################
27 all: $(BIN_DIR) kslib
28 mkdir -p ./temp/;cd ./temp;cp ../build/bin/ssdk_ks_km.a ./;ar -x ssdk_ks_km.a; cp ../ko_Makefile ./Makefile;
29 make -C $(SYS_PATH) M=$(PRJ_PATH)/temp/ CROSS_COMPILE=$(TOOLPREFIX) modules
30 @@ -20,6 +23,18 @@ all: $(BIN_DIR) kslib
31 rm -Rf ./temp/*.o ./temp/*.ko ./temp/*.a
32 @echo "---Build [SSDK-$(VERSION)] at $(BUILD_DATE) finished."
33
34 +####################################################################
35 +# LNX Modules-Style Makefile
36 +####################################################################
37 +modules: $(BIN_DIR) kslib_c
38 + cp Makefile.modules ./Makefile;
39 + make -C $(SYS_PATH) M=$(PRJ_PATH)/ $(LNX_MAKEOPTS) modules
40 + cp *.ko build/bin;
41 + @echo "---Build [SSDK-$(VERSION)] at $(BUILD_DATE) finished."
42 +
43 +kslib_c:
44 + $(foreach i, $(SUB_LIB), $(MAKE) MODULE_TYPE=KSLIB -C src/$i src_list_loop || exit 1;)
45 +
46 kslib:kslib_o
47 $(AR) -r $(BIN_DIR)/$(KS_MOD)_$(RUNMODE).a $(wildcard $(BLD_DIR)/KSLIB/*.o)
48
49 --- /dev/null
50 +++ b/Makefile.modules
51 @@ -0,0 +1,16 @@
52 +####################################################################
53 +# Add All Local Flags
54 +####################################################################
55 +ccflags-y += $(LNX_LOCAL_CFLAGS) -Wno-error
56 +
57 +####################################################################
58 +# Build Object List
59 +####################################################################
60 +SRC_LIST := $(shell cat $(PRJ_PATH)/src_list.dep)
61 +OBJ_LIST := $(patsubst %.c,%.o,$(SRC_LIST))
62 +
63 +####################################################################
64 +# Linux Kernel Module
65 +####################################################################
66 +obj-m := qca-ssdk.o
67 +qca-ssdk-objs := $(OBJ_LIST)
68 --- a/make/defs.mk
69 +++ b/make/defs.mk
70 @@ -7,6 +7,7 @@ ifeq (,$(findstring $(LIB), $(COMPONENTS
71 endif
72
73 SRC_FILE=$(addprefix $(PRJ_PATH)/$(LOC_DIR)/, $(SRC_LIST))
74 +LOC_SRC_FILE=$(addprefix $(LOC_DIR)/, $(SRC_LIST))
75
76 OBJ_LIST=$(SRC_LIST:.c=.o)
77 OBJ_FILE=$(addprefix $(DST_DIR)/, $(OBJ_LIST))
78 --- a/make/linux_opt.mk
79 +++ b/make/linux_opt.mk
80 @@ -295,7 +295,7 @@ ifeq (TRUE, $(DEBUG_ON))
81 MODULE_CFLAG += -g
82 endif
83
84 -MODULE_CFLAG += $(OPT_FLAG) -Wall -DVERSION=\"$(VERSION)\" -DBUILD_DATE=\"$(BUILD_DATE)\" -DOS=\"$(OS)\" -D"KBUILD_STR(s)=\#s" -D"KBUILD_MODNAME=KBUILD_STR(qca-ssdk)"
85 +MODULE_CFLAG += $(OPT_FLAG) -Wall -DVERSION=\"$(VERSION)\" -DBUILD_DATE=\"$(BUILD_DATE)\" -DOS=\"$(OS)\" -D"KBUILD_STR(s)=\#s"
86
87 MODULE_INC += -I$(PRJ_PATH)/include \
88 -I$(PRJ_PATH)/include/common \
89 @@ -450,7 +450,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
90 MODULE_CFLAG += -DKVER34
91 MODULE_CFLAG += -DKVER32
92 MODULE_CFLAG += -DLNX26_22
93 - MODULE_INC += -I$(SYS_PATH) \
94 + SYS_INC += -I$(SYS_PATH) \
95 -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
96 -I$(SYS_PATH)/include \
97 -I$(SYS_PATH)/source/include \
98 @@ -473,7 +473,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
99 MODULE_CFLAG += -DKVER32
100 MODULE_CFLAG += -DLNX26_22
101 ifeq ($(ARCH), arm64)
102 - MODULE_INC += -I$(SYS_PATH) \
103 + SYS_INC += -I$(SYS_PATH) \
104 -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
105 -I$(SYS_PATH)/include \
106 -I$(SYS_PATH)/source \
107 @@ -492,13 +492,13 @@ ifeq (KSLIB, $(MODULE_TYPE))
108 -I$(SYS_PATH)/source/include/uapi
109
110 ifneq ($(wildcard $(SYS_PATH)/include/linux/kconfig.h),)
111 - MODULE_INC += -include $(SYS_PATH)/include/linux/kconfig.h
112 + SYS_INC += -include $(SYS_PATH)/include/linux/kconfig.h
113 else
114 - MODULE_INC += -include $(KERNEL_SRC)/include/linux/kconfig.h
115 + SYS_INC += -include $(KERNEL_SRC)/include/linux/kconfig.h
116 endif
117
118 else ifeq ($(ARCH), arm)
119 - MODULE_INC += -I$(SYS_PATH) \
120 + SYS_INC += -I$(SYS_PATH) \
121 -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
122 -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/7.5.0/include/ \
123 -I$(TOOL_PATH)/../../lib/armv7a-vfp-neon-rdk-linux-gnueabi/gcc/arm-rdk-linux-gnueabi/4.8.4/include/ \
124 @@ -522,13 +522,13 @@ ifeq (KSLIB, $(MODULE_TYPE))
125 -I$(TOOL_PATH)/../../lib/arm-rdk-linux-gnueabi/gcc/arm-rdk-linux-gnueabi/9.3.0/include/
126
127 ifneq ($(wildcard $(SYS_PATH)/include/linux/kconfig.h),)
128 - MODULE_INC += -include $(SYS_PATH)/include/linux/kconfig.h
129 + SYS_INC += -include $(SYS_PATH)/include/linux/kconfig.h
130 else
131 - MODULE_INC += -include $(KERNEL_SRC)/include/linux/kconfig.h
132 + SYS_INC += -include $(KERNEL_SRC)/include/linux/kconfig.h
133 endif
134
135 else
136 - MODULE_INC += -I$(SYS_PATH) \
137 + SYS_INC += -I$(SYS_PATH) \
138 -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
139 -I$(SYS_PATH)/include \
140 -I$(SYS_PATH)/source \
141 @@ -564,7 +564,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
142 MODULE_CFLAG += -DLNX26_22
143 ifeq ($(ARCH), arm64)
144 KCONF_FILE = $(SYS_PATH)/source/include/linux/kconfig.h
145 - MODULE_INC += -I$(SYS_PATH) \
146 + SYS_INC += -I$(SYS_PATH) \
147 -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
148 -I$(SYS_PATH)/include \
149 -I$(SYS_PATH)/source/include \
150 @@ -581,7 +581,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
151 -I$(SYS_PATH)/source/arch/arm64/include/asm/mach \
152 -include $(KCONF_FILE)
153 else ifeq ($(ARCH), arm)
154 - MODULE_INC += -I$(SYS_PATH) \
155 + SYS_INC += -I$(SYS_PATH) \
156 -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
157 -I$(TOOL_PATH)/../../lib/armv7a-vfp-neon-rdk-linux-gnueabi/gcc/arm-rdk-linux-gnueabi/4.8.4/include/ \
158 -I$(SYS_PATH)/include \
159 @@ -604,7 +604,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
160 MODULE_CFLAG += -DKVER34
161 MODULE_CFLAG += -DKVER32
162 MODULE_CFLAG += -DLNX26_22
163 - MODULE_INC += -I$(SYS_PATH) \
164 + SYS_INC += -I$(SYS_PATH) \
165 -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
166 -I$(TOOL_PATH)/../../lib/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/5.3.0/include/ \
167 -I$(TOOL_PATH)/../../lib/armv7a-vfp-neon-rdk-linux-gnueabi/gcc/arm-rdk-linux-gnueabi/4.8.4/include/ \
168 @@ -627,10 +627,10 @@ ifeq (KSLIB, $(MODULE_TYPE))
169 -I$(EXT_PATH) \
170 -I$(SYS_PATH)/source/arch/arm/include/asm/mach
171 ifneq ($(wildcard $(SYS_PATH)/include/linux/kconfig.h),)
172 - MODULE_INC += \
173 + SYS_INC += \
174 -include $(SYS_PATH)/include/linux/kconfig.h
175 else
176 - MODULE_INC += \
177 + SYS_INC += \
178 -include $(SYS_PATH)/source/include/linux/kconfig.h
179 endif
180
181 @@ -641,7 +641,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
182 MODULE_CFLAG += -DKVER32
183 MODULE_CFLAG += -DLNX26_22
184 MODULE_CFLAG += -Werror
185 - MODULE_INC += -I$(SYS_PATH) \
186 + SYS_INC += -I$(SYS_PATH) \
187 -I$(SYS_PATH)/include \
188 -I$(SYS_PATH)/source/include \
189 -I$(SYS_PATH)/source/arch/arm/mach-msm/include \
190 @@ -657,7 +657,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
191 MODULE_CFLAG += -DKVER32
192 MODULE_CFLAG += -DLNX26_22
193 ifeq (mips, $(CPU))
194 - MODULE_INC += -I$(SYS_PATH) \
195 + SYS_INC += -I$(SYS_PATH) \
196 -I$(SYS_PATH)/include \
197 -I$(SYS_PATH)/arch/mips/include \
198 -I$(SYS_PATH)/arch/mips/include/asm/mach-ar7240 \
199 @@ -678,7 +678,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
200 -O2 -fno-pic -pipe -mabi=32 -march=mips32r2 -DMODULE -mlong-calls -DEXPORT_SYMTAB
201 endif
202 else
203 - MODULE_INC += -I$(SYS_PATH) \
204 + SYS_INC += -I$(SYS_PATH) \
205 -I$(SYS_PATH)/include \
206 -I$(SYS_PATH)/arch/arm/include \
207 -I$(SYS_PATH)/arch/arm/include/asm \
208 @@ -695,7 +695,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
209 MODULE_CFLAG += -DKVER26
210 MODULE_CFLAG += -DLNX26_22
211 ifeq (mips, $(CPU))
212 - MODULE_INC += -I$(SYS_PATH) \
213 + SYS_INC += -I$(SYS_PATH) \
214 -I$(SYS_PATH)/include \
215 -I$(SYS_PATH)/arch/mips/include \
216 -I$(SYS_PATH)/arch/mips/include/asm/mach-ar7240 \
217 @@ -708,7 +708,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
218 -O2 -fno-pic -pipe -mabi=32 -march=mips32r2 -DMODULE -mlong-calls -DEXPORT_SYMTAB
219 endif
220 else
221 - MODULE_INC += -I$(SYS_PATH) \
222 + SYS_INC += -I$(SYS_PATH) \
223 -I$(SYS_PATH)/include \
224 -I$(SYS_PATH)/arch/arm/include \
225 -I$(SYS_PATH)/arch/arm/include/asm \
226 @@ -721,8 +721,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
227
228 endif
229
230 - MODULE_CFLAG += -D__KERNEL__ -DKERNEL_MODULE $(CPU_CFLAG)
231 -
232 + MODULE_CFLAG += -D__KERNEL__ -DKERNEL_MODULE
233
234 endif
235
236 @@ -748,4 +747,15 @@ ifneq (TRUE, $(KERNEL_MODE))
237 endif
238 endif
239
240 -LOCAL_CFLAGS += $(MODULE_INC) $(MODULE_CFLAG) $(EXTRA_CFLAGS)
241 +LOCAL_CFLAGS += $(MODULE_INC) $(SYS_INC) $(MODULE_CFLAG) $(EXTRA_CFLAGS)
242 +
243 +####################################################################
244 +# cflags for SSDK-Style Makefile
245 +####################################################################
246 +LOCAL_CFLAGS += $(CPU_CFLAG) -D"KBUILD_MODNAME=KBUILD_STR(qca-ssdk)"
247 +
248 +####################################################################
249 +# cflags for LNX Modules-Style Makefile
250 +####################################################################
251 +LNX_LOCAL_CFLAGS += $(MODULE_INC) $(MODULE_CFLAG) ${EXTRA_INC}
252 +export LNX_LOCAL_CFLAGS
253 --- a/make/target.mk
254 +++ b/make/target.mk
255 @@ -3,6 +3,18 @@ include $(PRJ_PATH)/make/$(OS)_opt.mk
256
257 include $(PRJ_PATH)/make/tools.mk
258
259 +####################################################################
260 +# LNX Modules-Style Makefile
261 +####################################################################
262 +src_list_loop: src_list
263 + $(foreach i, $(SUB_DIR), $(MAKE) -C $(i) src_list_loop || exit 1;)
264 +
265 +src_list:
266 + echo -n "$(LOC_SRC_FILE) " >> $(PRJ_PATH)/src_list.dep
267 +
268 +####################################################################
269 +# SSDK-Style Makefile
270 +####################################################################
271 obj: $(OBJ_LIST)
272 $(OBJ_LOOP)
273
274 --- a/src/api/Makefile
275 +++ b/src/api/Makefile
276 @@ -1,4 +1,4 @@
277 -LOC_DIR=src/sal
278 +LOC_DIR=src/api
279 LIB=API
280
281 include $(PRJ_PATH)/make/config.mk