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