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