Add support for Zbtlink ZBT-WE1526 (QCA9531 based)
[oweals/u-boot_mod.git] / Makefile
1 SHELL = bash
2
3 HOSTARCH := $(shell uname -m | \
4         sed -e s/i.86/x86_32/      \
5             -e s/sun4u/sparc64/    \
6             -e s/arm.*/arm/        \
7             -e s/sa110/arm/        \
8             -e s/powerpc/ppc/      \
9             -e s/macppc/ppc/)
10
11 HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
12             sed -e 's/\(cygwin\).*/cygwin/')
13
14 ifneq ($(HOSTOS), darwin)
15   ifneq ($(HOSTOS), linux)
16     $(error Error! Unsupported host operating system/arch: "$(HOSTOS)-$(HOSTARCH)")
17   endif
18 endif
19
20 export HOSTOS
21 export HOSTARCH
22 export BUILD_TOPDIR=$(PWD)
23 export STAGING_DIR=$(BUILD_TOPDIR)/tmp
24
25 # --------------------------------------------------------------------------
26 # Define absolute path to your toolchain directory here, for example:
27 #
28 # export TOOLCHAIN_DIR:=/home/user/toolchain-mips_34kc_gcc-5.4.0_musl-1.1.15
29 # export PATH:=$(TOOLCHAIN_DIR)/bin:$(PATH)
30 # --------------------------------------------------------------------------
31
32 ifndef CROSS_COMPILE
33 CROSS_COMPILE = mips-openwrt-linux-musl-
34 endif
35 export CROSS_COMPILE
36
37 export MAKECMD=make --silent --no-print-directory ARCH=mips
38
39 # boot delay (time to autostart boot command)
40 export CONFIG_BOOTDELAY=1
41
42 # uncomment following line, to build RAM version images (without low level initialization)
43 #export CONFIG_SKIP_LOWLEVEL_INIT=1
44
45 tplink_mr3020:  export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr3020
46 tplink_mr3020:  export CONFIG_MAX_UBOOT_SIZE_KB=123
47 ifndef CONFIG_SKIP_LOWLEVEL_INIT
48 tplink_mr3020:  export COMPRESSED_UBOOT=1
49 endif
50 tplink_mr3020:
51         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr3020_config
52         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
53         @make --no-print-directory show_size
54
55 tplink_wr703n:  export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr703n
56 tplink_wr703n:  export CONFIG_MAX_UBOOT_SIZE_KB=123
57 ifndef CONFIG_SKIP_LOWLEVEL_INIT
58 tplink_wr703n:  export COMPRESSED_UBOOT=1
59 endif
60 tplink_wr703n:
61         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr703n_config
62         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
63         @make --no-print-directory show_size
64
65 tplink_wr720n_v3_CN:    export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr720n_v3_CN
66 tplink_wr720n_v3_CN:    export CONFIG_MAX_UBOOT_SIZE_KB=123
67 ifndef CONFIG_SKIP_LOWLEVEL_INIT
68 tplink_wr720n_v3_CN:    export COMPRESSED_UBOOT=1
69 endif
70 tplink_wr720n_v3_CN:
71         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr720n_v3_CN_config
72         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
73         @make --no-print-directory show_size
74
75 tplink_wr710n:  export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr710n
76 tplink_wr710n:  export CONFIG_MAX_UBOOT_SIZE_KB=123
77 ifndef CONFIG_SKIP_LOWLEVEL_INIT
78 tplink_wr710n:  export COMPRESSED_UBOOT=1
79 endif
80 tplink_wr710n:
81         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr710n_config
82         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
83         @make --no-print-directory show_size
84
85 tplink_mr3040:  export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr3040
86 tplink_mr3040:  export CONFIG_MAX_UBOOT_SIZE_KB=123
87 ifndef CONFIG_SKIP_LOWLEVEL_INIT
88 tplink_mr3040:  export COMPRESSED_UBOOT=1
89 endif
90 tplink_mr3040:
91         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr3040_config
92         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
93         @make --no-print-directory show_size
94
95 tplink_mr10u:   export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr10u
96 tplink_mr10u:   export CONFIG_MAX_UBOOT_SIZE_KB=123
97 ifndef CONFIG_SKIP_LOWLEVEL_INIT
98 tplink_mr10u:   export COMPRESSED_UBOOT=1
99 endif
100 tplink_mr10u:
101         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr10u_config
102         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
103         @make --no-print-directory show_size
104
105 tplink_mr13u:   export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr13u
106 tplink_mr13u:   export CONFIG_MAX_UBOOT_SIZE_KB=123
107 ifndef CONFIG_SKIP_LOWLEVEL_INIT
108 tplink_mr13u:   export COMPRESSED_UBOOT=1
109 endif
110 tplink_mr13u:
111         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr13u_config
112         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
113         @make --no-print-directory show_size
114
115 tplink_wr740n_v4:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr740n_v4
116 tplink_wr740n_v4:       export CONFIG_MAX_UBOOT_SIZE_KB=123
117 ifndef CONFIG_SKIP_LOWLEVEL_INIT
118 tplink_wr740n_v4:       export COMPRESSED_UBOOT=1
119 endif
120 tplink_wr740n_v4:
121         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr740n_v4_config
122         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
123         @make --no-print-directory show_size
124
125 tplink_mr3220_v2:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr3220_v2
126 tplink_mr3220_v2:       export CONFIG_MAX_UBOOT_SIZE_KB=123
127 ifndef CONFIG_SKIP_LOWLEVEL_INIT
128 tplink_mr3220_v2:       export COMPRESSED_UBOOT=1
129 endif
130 tplink_mr3220_v2:
131         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr3220_v2_config
132         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
133         @make --no-print-directory show_size
134
135 tplink_wdr3600_43x0:    export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wdr3600-43x0
136 tplink_wdr3600_43x0:    export CONFIG_MAX_UBOOT_SIZE_KB=123
137 ifndef CONFIG_SKIP_LOWLEVEL_INIT
138 tplink_wdr3600_43x0:    export COMPRESSED_UBOOT=1
139 endif
140 tplink_wdr3600_43x0:    export ETH_CONFIG=_s17
141 tplink_wdr3600_43x0:
142         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wdr3600_43x0_config
143         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
144         @make --no-print-directory show_size
145
146 tplink_wdr3500: export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wdr3500
147 tplink_wdr3500: export CONFIG_MAX_UBOOT_SIZE_KB=123
148 ifndef CONFIG_SKIP_LOWLEVEL_INIT
149 tplink_wdr3500: export COMPRESSED_UBOOT=1
150 endif
151 tplink_wdr3500: export ETH_CONFIG=_s27
152 tplink_wdr3500:
153         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wdr3500_config
154         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
155         @make --no-print-directory show_size
156
157 tplink_mr3420_v2:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-mr3420_v2
158 tplink_mr3420_v2:       export CONFIG_MAX_UBOOT_SIZE_KB=123
159 ifndef CONFIG_SKIP_LOWLEVEL_INIT
160 tplink_mr3420_v2:       export COMPRESSED_UBOOT=1
161 endif
162 tplink_mr3420_v2:       export ETH_CONFIG=_s27
163 tplink_mr3420_v2:
164         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) mr3420_v2_config
165         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
166         @make --no-print-directory show_size
167
168 tplink_wr841n_v8:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr841n_v8
169 tplink_wr841n_v8:       export CONFIG_MAX_UBOOT_SIZE_KB=123
170 ifndef CONFIG_SKIP_LOWLEVEL_INIT
171 tplink_wr841n_v8:       export COMPRESSED_UBOOT=1
172 endif
173 tplink_wr841n_v8:       export ETH_CONFIG=_s27
174 tplink_wr841n_v8:
175         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr841n_v8_config
176         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
177         @make --no-print-directory show_size
178
179 tplink_wr841n_v9:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr841n_v9
180 tplink_wr841n_v9:       export CONFIG_MAX_UBOOT_SIZE_KB=123
181 ifndef CONFIG_SKIP_LOWLEVEL_INIT
182 tplink_wr841n_v9:       export COMPRESSED_UBOOT=1
183 endif
184 tplink_wr841n_v9:       export ETH_CONFIG=_s27
185 tplink_wr841n_v9:
186         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr841n_v9_config
187         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
188         @make --no-print-directory show_size
189
190 tplink_wa830re_v2_wa801nd_v2:   export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wa830re_v2_tl-wa801nd_v2
191 tplink_wa830re_v2_wa801nd_v2:   export CONFIG_MAX_UBOOT_SIZE_KB=123
192 ifndef CONFIG_SKIP_LOWLEVEL_INIT
193 tplink_wa830re_v2_wa801nd_v2:   export COMPRESSED_UBOOT=1
194 endif
195 tplink_wa830re_v2_wa801nd_v2:   export ETH_CONFIG=_s27
196 tplink_wa830re_v2_wa801nd_v2:
197         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wa830re_v2_wa801nd_v2_config
198         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
199         @make --no-print-directory show_size
200
201 tplink_wr820n_CN:       export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr820n_CN
202 tplink_wr820n_CN:       export CONFIG_MAX_UBOOT_SIZE_KB=123
203 ifndef CONFIG_SKIP_LOWLEVEL_INIT
204 tplink_wr820n_CN:       export COMPRESSED_UBOOT=1
205 endif
206 tplink_wr820n_CN:       export ETH_CONFIG=_s27
207 tplink_wr820n_CN:
208         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr820n_CN_config
209         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
210         @make --no-print-directory show_size
211
212 tplink_wr802n:  export UBOOT_FILE_NAME=uboot_for_tp-link_tl-wr802n
213 tplink_wr802n:  export CONFIG_MAX_UBOOT_SIZE_KB=123
214 ifndef CONFIG_SKIP_LOWLEVEL_INIT
215 tplink_wr802n:  export COMPRESSED_UBOOT=1
216 endif
217 tplink_wr802n:  export ETH_CONFIG=_s27
218 tplink_wr802n:
219         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) wr802n_config
220         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
221         @make --no-print-directory show_size
222
223 dlink_dir505:   export UBOOT_FILE_NAME=uboot_for_d-link_dir-505
224 dlink_dir505:   export CONFIG_MAX_UBOOT_SIZE_KB=64
225 ifndef CONFIG_SKIP_LOWLEVEL_INIT
226 dlink_dir505:   export COMPRESSED_UBOOT=1
227 endif
228 dlink_dir505:
229         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) dir505_config
230         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
231         @make --no-print-directory show_size
232
233 gs-oolite_v1_dev:       export UBOOT_FILE_NAME=uboot_for_gs-oolite_v1_dev
234 gs-oolite_v1_dev:       export CONFIG_MAX_UBOOT_SIZE_KB=123
235 ifndef CONFIG_SKIP_LOWLEVEL_INIT
236 gs-oolite_v1_dev:       export COMPRESSED_UBOOT=1
237 endif
238 gs-oolite_v1_dev:
239         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) gs_oolite_v1_dev_config
240         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
241         @make --no-print-directory show_size
242
243 8devices_carambola2:    export UBOOT_FILE_NAME=uboot_for_8devices_carambola2
244 8devices_carambola2:    export CONFIG_MAX_UBOOT_SIZE_KB=256
245 8devices_carambola2:
246         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) carambola2_config
247         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
248         @make --no-print-directory show_size
249
250 dragino_v2_ms14:        export UBOOT_FILE_NAME=uboot_for_dragino_v2_ms14
251 dragino_v2_ms14:        export CONFIG_MAX_UBOOT_SIZE_KB=192
252 dragino_v2_ms14:        export DEVICE_VENDOR=dragino
253 dragino_v2_ms14:
254         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) dragino_v2_ms14_config
255         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
256         @make --no-print-directory show_size
257
258 black_swift_board:      export UBOOT_FILE_NAME=uboot_for_black_swift_board
259 black_swift_board:      export CONFIG_MAX_UBOOT_SIZE_KB=128
260 black_swift_board:      export COMPRESSED_UBOOT=1
261 black_swift_board:      export DEVICE_VENDOR=SE
262 black_swift_board:
263         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) black_swift_board_config
264         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
265         @make --no-print-directory show_size
266
267 villagetelco_mp2:       export UBOOT_FILE_NAME=uboot_for_villagetelco_mp2
268 villagetelco_mp2:       export CONFIG_MAX_UBOOT_SIZE_KB=192
269 villagetelco_mp2:       export DEVICE_VENDOR=villagetelco
270 villagetelco_mp2:
271         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) villagetelco_mp2_config
272         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
273         @make --no-print-directory show_size
274
275 gl-inet:        export UBOOT_FILE_NAME=uboot_for_gl-inet
276 gl-inet:        export CONFIG_MAX_UBOOT_SIZE_KB=123
277 ifndef CONFIG_SKIP_LOWLEVEL_INIT
278 gl-inet:        export COMPRESSED_UBOOT=1
279 endif
280 gl-inet:
281         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) gl-inet_config
282         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
283         @make --no-print-directory show_size
284
285 wallys_dr531:   export UBOOT_FILE_NAME=uboot_for_wallys_dr531
286 wallys_dr531:   export CONFIG_MAX_UBOOT_SIZE_KB=192
287 ifndef CONFIG_SKIP_LOWLEVEL_INIT
288 wallys_dr531:   export COMPRESSED_UBOOT=1
289 endif
290 wallys_dr531:   export ETH_CONFIG=_s27
291 wallys_dr531:
292         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) dr531_config
293         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
294         @make --no-print-directory show_size
295
296 zbtlink_zbt_we1526:     export UBOOT_FILE_NAME=uboot_for_zbtlink_zbt-we1526
297 zbtlink_zbt_we1526:     export CONFIG_MAX_UBOOT_SIZE_KB=256
298 zbtlink_zbt_we1526:     export ETH_CONFIG=_s27
299 zbtlink_zbt_we1526:
300         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) zbt-we1526_config
301         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) ENDIANNESS=-EB V=1 all
302         @make --no-print-directory show_size
303
304 ifdef CONFIG_SKIP_LOWLEVEL_INIT
305 show_size:      export UBOOT_FILE_NAME_SUFFIX=__RAM
306 endif
307 show_size:
308 ifdef COMPRESSED_UBOOT
309         @cp $(BUILD_TOPDIR)/u-boot/tuboot.bin $(BUILD_TOPDIR)/bin/temp.bin
310 else
311         @cp $(BUILD_TOPDIR)/u-boot/u-boot.bin $(BUILD_TOPDIR)/bin/temp.bin
312 endif
313         @echo -ne "\e[32m"
314 ifndef CONFIG_SKIP_LOWLEVEL_INIT
315         @echo "> Preparing $(CONFIG_MAX_UBOOT_SIZE_KB)KB file filled with 0xFF..."
316         @`tr "\000" "\377" < /dev/zero | dd ibs=1k count=$(CONFIG_MAX_UBOOT_SIZE_KB) of=$(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin 2> /dev/null`
317         @echo "> Copying U-Boot image..."
318         @`dd if=$(BUILD_TOPDIR)/bin/temp.bin of=$(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin conv=notrunc 2> /dev/null`
319         @`rm $(BUILD_TOPDIR)/bin/temp.bin`
320 else
321         @echo "> Copying U-Boot image..."
322         @`mv $(BUILD_TOPDIR)/bin/temp.bin $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin`
323 endif
324         @echo "> U-Boot image ready, size:" `wc -c < $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin`" bytes"
325         @`md5sum $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin | awk '{print $$1}' | tr -d '\n' > $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).md5`
326         @`echo ' *'$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin >> $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).md5`
327 # Do not check image size for RAM version
328 ifndef CONFIG_SKIP_LOWLEVEL_INIT
329         @if [ "`wc -c < $(BUILD_TOPDIR)/bin/$(UBOOT_FILE_NAME)$(UBOOT_FILE_NAME_SUFFIX).bin`" -gt "`echo '$(CONFIG_MAX_UBOOT_SIZE_KB)*1024' | bc`" ]; then \
330                         echo -e "\e[31m\n**************************************************"; \
331                         echo "*     WARNING: U-BOOT IMAGE SIZE IS TOO BIG!     *"; \
332                         echo -e "**************************************************"; \
333         fi;
334 endif
335         @echo -ne "\e[0m"
336
337 clean:
338         @cd $(BUILD_TOPDIR)/u-boot/ && $(MAKECMD) --no-print-directory distclean
339         @rm -f $(BUILD_TOPDIR)/u-boot/httpd/fsdata.c
340
341 clean_all:      clean
342         @echo -e "\e[32m> Removing all binary images...\e[0m"
343         @rm -f $(BUILD_TOPDIR)/bin/*.bin
344         @rm -f $(BUILD_TOPDIR)/bin/*.md5