Blame view

MAKEALL 22.7 KB
f2352877c   Peter Tyser   MAKEALL: Fix retu...
1
  #!/bin/bash
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
2
3
4
  # Tool mainly for U-Boot Quality Assurance: build one or more board
  # configurations with minimal verbosity, showing only warnings and
  # errors.
eca3aeb35   Wolfgang Denk   Licenses: introdu...
5
6
  #
  # SPDX-License-Identifier:	GPL-2.0+
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
7

d8e392d95   Mike Frysinger   MAKEALL: add -h/-...
8
9
10
11
12
13
14
15
16
17
18
19
20
  usage()
  {
  	# if exiting with 0, write to stdout, else write to stderr
  	local ret=${1:-0}
  	[ "${ret}" -eq 1 ] && exec 1>&2
  	cat <<-EOF
  	Usage: MAKEALL [options] [--] [boards-to-build]
  
  	Options:
  	  -a ARCH,   --arch ARCH       Build all boards with arch ARCH
  	  -c CPU,    --cpu CPU         Build all boards with cpu CPU
  	  -v VENDOR, --vendor VENDOR   Build all boards with vendor VENDOR
  	  -s SOC,    --soc SOC         Build all boards with soc SOC
7f79c6f2f   Marek Vasut   MAKEALL: Add -l o...
21
  	  -l,        --list            List all targets to be built
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
22
23
  	  -m,        --maintainers     List all targets and maintainer email
  	  -M,        --mails           List all targets and all affilated emails
33f336d52   Kim Phillips   MAKEALL: add a -C...
24
  	  -C,        --check           Enable build checking
085102047   Joe Hershberger   MAKEALL: Add opti...
25
26
  	  -n,        --continue        Continue (skip boards already built)
  	  -r,        --rebuild-errors  Rebuild any boards that errored
d8e392d95   Mike Frysinger   MAKEALL: add -h/-...
27
28
29
30
31
32
33
34
35
36
37
38
39
  	  -h,        --help            This help output
  
  	Selections by these options are logically ANDed; if the same option
  	is used repeatedly, such selections are ORed.  So "-v FOO -v BAR"
  	will select all configurations where the vendor is either FOO or
  	BAR.  Any additional arguments specified on the command line are
  	always build additionally.  See the boards.cfg file for more info.
  
  	If no boards are specified, then the default is "powerpc".
  
  	Environment variables:
  	  BUILD_NCPUS      number of parallel make jobs (default: auto)
  	  CROSS_COMPILE    cross-compiler toolchain prefix (default: "")
47104c37d   Allen Martin   MAKEALL: add supp...
40
  	  CROSS_COMPILE_<ARCH> cross-compiler toolchain prefix for
93e145964   Wolfgang Denk   Coding Style clea...
41
42
  			   architecture "ARCH".  Substitute "ARCH" for any
  			   supported architecture (default: "")
d8e392d95   Mike Frysinger   MAKEALL: add -h/-...
43
44
  	  MAKEALL_LOGDIR   output all logs to here (default: ./LOG/)
  	  BUILD_DIR        output build directory (default: ./)
f588bb034   Andy Fleming   Allow for paralle...
45
  	  BUILD_NBUILDS	   number of parallel targets (default: 1)
d8e392d95   Mike Frysinger   MAKEALL: add -h/-...
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  
  	Examples:
  	  - build all Power Architecture boards:
  	      MAKEALL -a powerpc
  	      MAKEALL --arch powerpc
  	      MAKEALL powerpc
  	  - build all PowerPC boards manufactured by vendor "esd":
  	      MAKEALL -a powerpc -v esd
  	  - build all PowerPC boards manufactured either by "keymile" or "siemens":
  	      MAKEALL -a powerpc -v keymile -v siemens
  	  - build all Freescale boards with MPC83xx CPUs, plus all 4xx boards:
  	      MAKEALL -c mpc83xx -v freescale 4xx
  	EOF
  	exit ${ret}
  }
085102047   Joe Hershberger   MAKEALL: Add opti...
61
62
  SHORT_OPTS="ha:c:v:s:lmMCnr"
  LONG_OPTS="help,arch:,cpu:,vendor:,soc:,list,maintainers,mails,check,continue,rebuild-errors"
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
63
64
  
  # Option processing based on util-linux-2.13/getopt-parse.bash
071bc9233   Wolfgang Denk   Coding Style cleanup
65
  # Note that we use `"$@"' to let each command-line parameter expand to a
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
66
67
68
69
70
  # separate word. The quotes around `$@' are essential!
  # We need TEMP as the `eval set --' would nuke the return value of
  # getopt.
  TEMP=`getopt -o ${SHORT_OPTS} --long ${LONG_OPTS} \
       -n 'MAKEALL' -- "$@"`
d8e392d95   Mike Frysinger   MAKEALL: add -h/-...
71
  [ $? != 0 ] && usage 1
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
72
73
74
75
76
  
  # Note the quotes around `$TEMP': they are essential!
  eval set -- "$TEMP"
  
  SELECTED=''
7f79c6f2f   Marek Vasut   MAKEALL: Add -l o...
77
  ONLY_LIST=''
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
78
79
  PRINT_MAINTS=''
  MAINTAINERS_ONLY=''
085102047   Joe Hershberger   MAKEALL: Add opti...
80
81
  CONTINUE=''
  REBUILD_ERRORS=''
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
  
  while true ; do
  	case "$1" in
  	-a|--arch)
  		# echo "Option ARCH: argument \`$2'"
  		if [ "$opt_a" ] ; then
  			opt_a="${opt_a%)} || \$2 == \"$2\")"
  		else
  			opt_a="(\$2 == \"$2\")"
  		fi
  		SELECTED='y'
  		shift 2 ;;
  	-c|--cpu)
  		# echo "Option CPU: argument \`$2'"
  		if [ "$opt_c" ] ; then
aa2e279d2   Allen Martin   MAKEALL: update t...
97
  			opt_c="${opt_c%)} || \$3 == \"$2\" || \$3 ~ /$2:/)"
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
98
  		else
aa2e279d2   Allen Martin   MAKEALL: update t...
99
  			opt_c="(\$3 == \"$2\" || \$3 ~ /$2:/)"
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
100
101
102
103
104
105
  		fi
  		SELECTED='y'
  		shift 2 ;;
  	-s|--soc)
  		# echo "Option SoC: argument \`$2'"
  		if [ "$opt_s" ] ; then
27af930e9   Albert ARIBAUD   Merge and reforma...
106
  			opt_s="${opt_s%)} || \$4 == \"$2\" || \$4 ~ /$2/)"
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
107
  		else
27af930e9   Albert ARIBAUD   Merge and reforma...
108
  			opt_s="(\$4 == \"$2\" || \$4 ~ /$2/)"
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
109
110
111
112
113
114
115
116
117
118
119
120
  		fi
  		SELECTED='y'
  		shift 2 ;;
  	-v|--vendor)
  		# echo "Option VENDOR: argument \`$2'"
  		if [ "$opt_v" ] ; then
  			opt_v="${opt_v%)} || \$5 == \"$2\")"
  		else
  			opt_v="(\$5 == \"$2\")"
  		fi
  		SELECTED='y'
  		shift 2 ;;
33f336d52   Kim Phillips   MAKEALL: add a -C...
121
122
123
  	-C|--check)
  		CHECK='C=1'
  		shift ;;
085102047   Joe Hershberger   MAKEALL: Add opti...
124
125
126
127
128
129
  	-n|--continue)
  		CONTINUE='y'
  		shift ;;
  	-r|--rebuild-errors)
  		REBUILD_ERRORS='y'
  		shift ;;
7f79c6f2f   Marek Vasut   MAKEALL: Add -l o...
130
131
132
  	-l|--list)
  		ONLY_LIST='y'
  		shift ;;
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
133
134
135
136
137
138
139
140
141
  	-m|--maintainers)
  		ONLY_LIST='y'
  		PRINT_MAINTS='y'
  		MAINTAINERS_ONLY='y'
  		shift ;;
  	-M|--mails)
  		ONLY_LIST='y'
  		PRINT_MAINTS='y'
  		shift ;;
d8e392d95   Mike Frysinger   MAKEALL: add -h/-...
142
143
  	-h|--help)
  		usage ;;
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
  	--)
  		shift ; break ;;
  	*)
  		echo "Internal error!" >&2 ; exit 1 ;;
  	esac
  done
  # echo "Remaining arguments:"
  # for arg do echo '--> '"\`$arg'" ; done
  
  FILTER="\$1 !~ /^#/"
  [ "$opt_a" ] && FILTER="${FILTER} && $opt_a"
  [ "$opt_c" ] && FILTER="${FILTER} && $opt_c"
  [ "$opt_s" ] && FILTER="${FILTER} && $opt_s"
  [ "$opt_v" ] && FILTER="${FILTER} && $opt_v"
  
  if [ "$SELECTED" ] ; then
27af930e9   Albert ARIBAUD   Merge and reforma...
160
  	SELECTED=$(awk '('"$FILTER"') { print $7 }' boards.cfg)
cd57b0bb8   Peter Tyser   MAKEALL: Do a san...
161
162
163
164
165
166
  
  	# Make sure some boards from boards.cfg are actually found
  	if [ -z "$SELECTED" ] ; then
  		echo "Error: No boards selected, invalid arguments"
  		exit 1
  	fi
0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
167
168
169
  fi
  
  #########################################################################
40a28f088   Peter Tyser   MAKEALL: Add summ...
170
171
172
  # Print statistics when we exit
  trap exit 1 2 3 15
  trap print_stats 0
7fa6a2f3b   Wolfgang Denk   MAKEALL: Automati...
173
174
175
176
177
  # Determine number of CPU cores if no default was set
  : ${BUILD_NCPUS:="`getconf _NPROCESSORS_ONLN`"}
  
  if [ "$BUILD_NCPUS" -gt 1 ]
  then
55f786d8b   Peter Tyser   MAKEALL: Use POSI...
178
  	JOBS="-j $((BUILD_NCPUS + 1))"
7fa6a2f3b   Wolfgang Denk   MAKEALL: Automati...
179
180
181
  else
  	JOBS=""
  fi
f93286397   Marian Balakowicz   Add support for a...
182
183
184
185
186
  if [ "${MAKEALL_LOGDIR}" ] ; then
  	LOG_DIR=${MAKEALL_LOGDIR}
  else
  	LOG_DIR="LOG"
  fi
887e2ec9e   Stefan Roese   Add support for A...
187

f588bb034   Andy Fleming   Allow for paralle...
188
189
190
191
192
193
194
195
  : ${BUILD_NBUILDS:=1}
  BUILD_MANY=0
  
  if [ "${BUILD_NBUILDS}" -gt 1 ] ; then
  	BUILD_MANY=1
  	: ${BUILD_DIR:=./build}
  	mkdir -p "${BUILD_DIR}/ERR"
  	find "${BUILD_DIR}/ERR/" -type f -exec rm -f {} +
f93286397   Marian Balakowicz   Add support for a...
196
  fi
f588bb034   Andy Fleming   Allow for paralle...
197
198
199
200
201
  : ${BUILD_DIR:=.}
  
  OUTPUT_PREFIX="${BUILD_DIR}"
  
  [ -d ${LOG_DIR} ] || mkdir "${LOG_DIR}" || exit 1
085102047   Joe Hershberger   MAKEALL: Add opti...
202
203
204
  if [ "$CONTINUE" != 'y' -a "$REBUILD_ERRORS" != 'y' ] ; then
  	find "${LOG_DIR}/" -type f -exec rm -f {} +
  fi
7ebf7443a   wdenk   Initial revision
205
206
  
  LIST=""
40a28f088   Peter Tyser   MAKEALL: Add summ...
207
208
209
  # Keep track of the number of builds and errors
  ERR_CNT=0
  ERR_LIST=""
b86a475c1   Joe Hershberger   MAKEALL: Report b...
210
211
  WRN_CNT=0
  WRN_LIST=""
40a28f088   Peter Tyser   MAKEALL: Add summ...
212
  TOTAL_CNT=0
085102047   Joe Hershberger   MAKEALL: Add opti...
213
  SKIP_CNT=0
f588bb034   Andy Fleming   Allow for paralle...
214
215
  CURRENT_CNT=0
  OLDEST_IDX=1
f2352877c   Peter Tyser   MAKEALL: Fix retu...
216
  RC=0
40a28f088   Peter Tyser   MAKEALL: Add summ...
217

9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
218
219
220
  # Helper funcs for parsing boards.cfg
  boards_by_field()
  {
aa2e279d2   Allen Martin   MAKEALL: update t...
221
222
  	FS="[ \t]+"
  	[ -n "$3" ] && FS="$3"
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
223
224
225
  	awk \
  		-v field="$1" \
  		-v select="$2" \
aa2e279d2   Allen Martin   MAKEALL: update t...
226
  		-F "$FS" \
27af930e9   Albert ARIBAUD   Merge and reforma...
227
  		'($1 !~ /^#/ && $field == select) { print $7 }' \
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
228
229
230
  		boards.cfg
  }
  boards_by_arch() { boards_by_field 2 "$@" ; }
aa2e279d2   Allen Martin   MAKEALL: update t...
231
  boards_by_cpu()  { boards_by_field 3 "$@" "[: \t]+" ; }
27af930e9   Albert ARIBAUD   Merge and reforma...
232
  boards_by_soc()  { boards_by_field 4 "$@" ; }
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
233

7ebf7443a   wdenk   Initial revision
234
  #########################################################################
0db5bca80   wdenk   * Patch by Martin...
235
236
  ## MPC5xx Systems
  #########################################################################
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
237
  LIST_5xx="$(boards_by_cpu mpc5xx)"
0db5bca80   wdenk   * Patch by Martin...
238
239
  
  #########################################################################
945af8d72   wdenk   * Add support for...
240
241
  ## MPC5xxx Systems
  #########################################################################
2ae182419   Wolfgang Denk   Makefile: move al...
242
  LIST_5xxx="$(boards_by_cpu mpc5xxx)"
945af8d72   wdenk   * Add support for...
243
244
  
  #########################################################################
8993e54b6   Rafal Jaworowski   [ADS5121] Support...
245
246
  ## MPC512x Systems
  #########################################################################
2ae182419   Wolfgang Denk   Makefile: move al...
247
  LIST_512x="$(boards_by_cpu mpc512x)"
945af8d72   wdenk   * Add support for...
248
249
  
  #########################################################################
7ebf7443a   wdenk   Initial revision
250
251
  ## MPC8xx Systems
  #########################################################################
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
252

2ae182419   Wolfgang Denk   Makefile: move al...
253
  LIST_8xx="$(boards_by_cpu mpc8xx)"
7ebf7443a   wdenk   Initial revision
254
255
256
257
  
  #########################################################################
  ## PPC4xx Systems
  #########################################################################
2ae182419   Wolfgang Denk   Makefile: move al...
258
  LIST_4xx="$(boards_by_cpu ppc4xx)"
7ebf7443a   wdenk   Initial revision
259
260
261
262
  
  #########################################################################
  ## MPC824x Systems
  #########################################################################
2ae182419   Wolfgang Denk   Makefile: move al...
263
  LIST_824x="$(boards_by_cpu mpc824x)"
592c5cabe   wdenk   Patch by Murray J...
264

7ebf7443a   wdenk   Initial revision
265
  #########################################################################
7aa786147   wdenk   * Add support for...
266
  ## MPC8260 Systems (includes 8250, 8255 etc.)
7ebf7443a   wdenk   Initial revision
267
  #########################################################################
2ae182419   Wolfgang Denk   Makefile: move al...
268
  LIST_8260="$(boards_by_cpu mpc8260)"
7ebf7443a   wdenk   Initial revision
269
270
  
  #########################################################################
f046ccd15   Eran Liberty   * Patch by Eran L...
271
272
  ## MPC83xx Systems (includes 8349, etc.)
  #########################################################################
2ae182419   Wolfgang Denk   Makefile: move al...
273
  LIST_83xx="$(boards_by_cpu mpc83xx)"
f046ccd15   Eran Liberty   * Patch by Eran L...
274
275
  
  #########################################################################
42d1f0394   wdenk   * Patches by Xian...
276
277
  ## MPC85xx Systems (includes 8540, 8560 etc.)
  #########################################################################
2ae182419   Wolfgang Denk   Makefile: move al...
278
  LIST_85xx="$(boards_by_cpu mpc85xx)"
42d1f0394   wdenk   * Patches by Xian...
279
280
  
  #########################################################################
822d55365   Jon Loeliger   Add LIST_86xx MAK...
281
282
  ## MPC86xx Systems
  #########################################################################
2ae182419   Wolfgang Denk   Makefile: move al...
283
  LIST_86xx="$(boards_by_cpu mpc86xx)"
822d55365   Jon Loeliger   Add LIST_86xx MAK...
284
285
  
  #########################################################################
7ebf7443a   wdenk   Initial revision
286
287
  ## 74xx/7xx Systems
  #########################################################################
2ae182419   Wolfgang Denk   Makefile: move al...
288
  LIST_74xx_7xx="$(boards_by_cpu 74xx_7xx)"
7ebf7443a   wdenk   Initial revision
289

d9a42c0ac   Wolfgang Denk   MAKEALL: sort ent...
290
291
292
293
294
295
296
297
298
  #########################################################################
  ## PowerPC groups
  #########################################################################
  
  LIST_TSEC="		\
  	${LIST_83xx}	\
  	${LIST_85xx}	\
  	${LIST_86xx}	\
  "
a47a12bec   Stefan Roese   Move arch/ppc to ...
299
  LIST_powerpc="		\
fb56579ff   Kim Phillips   make MAKEALL more...
300
  	${LIST_5xx}	\
3deca9d44   Jean-Christophe PLAGNIOL-VILLARD   MAKEALL: add miss...
301
  	${LIST_512x}	\
fb56579ff   Kim Phillips   make MAKEALL more...
302
303
  	${LIST_5xxx}	\
  	${LIST_8xx}	\
fb56579ff   Kim Phillips   make MAKEALL more...
304
305
306
307
308
309
  	${LIST_824x}	\
  	${LIST_8260}	\
  	${LIST_83xx}	\
  	${LIST_85xx}	\
  	${LIST_86xx}	\
  	${LIST_4xx}	\
2ae182419   Wolfgang Denk   Makefile: move al...
310
  	${LIST_74xx_7xx}\
fb56579ff   Kim Phillips   make MAKEALL more...
311
  "
7ebf7443a   wdenk   Initial revision
312

a47a12bec   Stefan Roese   Move arch/ppc to ...
313
314
315
316
317
  # Alias "ppc" -> "powerpc" to not break compatibility with older scripts
  # still using "ppc" instead of "powerpc"
  LIST_ppc="		\
  	${LIST_powerpc}	\
  "
7ebf7443a   wdenk   Initial revision
318
319
320
  #########################################################################
  ## StrongARM Systems
  #########################################################################
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
321
  LIST_SA="$(boards_by_cpu sa1100)"
7ebf7443a   wdenk   Initial revision
322
323
  
  #########################################################################
cce5d210e   Allen Martin   MAKEALL: fix per ...
324
325
326
327
328
329
  ## ARM7 Systems
  #########################################################################
  
  LIST_ARM7="$(boards_by_cpu arm720t)"
  
  #########################################################################
7ebf7443a   wdenk   Initial revision
330
331
  ## ARM9 Systems
  #########################################################################
6a8760d74   Wolfgang Denk   MAKEALL: drop boa...
332
333
  LIST_ARM9="$(boards_by_cpu arm920t)	\
  	$(boards_by_cpu arm926ejs)	\
cce5d210e   Allen Martin   MAKEALL: fix per ...
334
  	$(boards_by_cpu arm946es)	\
6f21347d4   wdenk   * Patch by George...
335
  "
7ebf7443a   wdenk   Initial revision
336
337
  
  #########################################################################
8ed960461   wdenk   * Patches by Rich...
338
339
  ## ARM11 Systems
  #########################################################################
cce5d210e   Allen Martin   MAKEALL: fix per ...
340
341
342
  LIST_ARM11="$(boards_by_cpu arm1136)	\
  	$(boards_by_cpu arm1176)	\
  "
8ed960461   wdenk   * Patches by Rich...
343
344
  
  #########################################################################
f56348af5   Steve Sakoman   ARM: Rename arch/...
345
  ## ARMV7 Systems
f904cdbb6   Dirk Behme   OMAP3: Add common...
346
  #########################################################################
f37586bb1   Dirk Behme   MAKEALL ARMv7: Us...
347
348
  
  LIST_ARMV7="$(boards_by_cpu armv7)"
f904cdbb6   Dirk Behme   OMAP3: Add common...
349
350
  
  #########################################################################
602cac138   Jean-Christophe PLAGNIOL-VILLARD   MAKEALL: add at91...
351
352
  ## AT91 Systems
  #########################################################################
5cfeec512   Thomas Petazzoni   atmel: Update sup...
353
  LIST_at91="$(boards_by_soc at91)"
602cac138   Jean-Christophe PLAGNIOL-VILLARD   MAKEALL: add at91...
354
355
  
  #########################################################################
7ebf7443a   wdenk   Initial revision
356
357
  ## Xscale Systems
  #########################################################################
7c957c0e7   Marek Vasut   Build: PXA: Fix T...
358
  LIST_pxa="$(boards_by_cpu pxa)"
7ebf7443a   wdenk   Initial revision
359

bb1c01eaf   Andy Fleming   Remove extra boar...
360
  LIST_ixp="$(boards_by_cpu ixp)"
7ebf7443a   wdenk   Initial revision
361

d9a42c0ac   Wolfgang Denk   MAKEALL: sort ent...
362
  #########################################################################
24dede480   Stefan Roese   MAKEALL: Add spea...
363
364
365
366
367
368
  ## SPEAr Systems
  #########################################################################
  
  LIST_spear="$(boards_by_soc spear)"
  
  #########################################################################
d9a42c0ac   Wolfgang Denk   MAKEALL: sort ent...
369
370
  ## ARM groups
  #########################################################################
2d5b561e2   wdenk   * Make sure HUSH ...
371

cce5d210e   Allen Martin   MAKEALL: fix per ...
372
  LIST_arm="$(boards_by_arch arm)"
7ebf7443a   wdenk   Initial revision
373

c021880ac   wdenk   * Add support for...
374
  #########################################################################
b62bdffb7   Wolfgang Denk   Adjust MAKEALL sc...
375
  ## MIPS Systems		(default = big endian)
c021880ac   wdenk   * Add support for...
376
  #########################################################################
fb56579ff   Kim Phillips   make MAKEALL more...
377
378
  LIST_mips4kc="		\
  	incaip		\
cce5d210e   Allen Martin   MAKEALL: fix per ...
379
380
381
  	incaip_100MHz	\
  	incaip_133MHz	\
  	incaip_150MHz	\
0764c164f   Vlad Lungu   MIPS:Target suppo...
382
  	qemu_mips	\
2a61eff6a   Stefan Roese   MIPS: Add VCT boa...
383
384
385
386
387
388
389
390
391
392
393
394
  	vct_platinum	\
  	vct_platinum_small	\
  	vct_platinum_onenand	\
  	vct_platinum_onenand_small	\
  	vct_platinumavc	\
  	vct_platinumavc_small	\
  	vct_platinumavc_onenand	\
  	vct_platinumavc_onenand_small	\
  	vct_premium	\
  	vct_premium_small	\
  	vct_premium_onenand	\
  	vct_premium_onenand_small	\
fb56579ff   Kim Phillips   make MAKEALL more...
395
  "
c021880ac   wdenk   * Add support for...
396

fb56579ff   Kim Phillips   make MAKEALL more...
397
398
399
400
401
  LIST_au1xx0="		\
  	dbau1000	\
  	dbau1100	\
  	dbau1500	\
  	dbau1550	\
fb56579ff   Kim Phillips   make MAKEALL more...
402
  "
5da627a42   wdenk   * Patch by Steven...
403

fb56579ff   Kim Phillips   make MAKEALL more...
404
405
406
407
408
  LIST_mips="		\
  	${LIST_mips4kc}	\
  	${LIST_mips5kc}	\
  	${LIST_au1xx0}	\
  "
c021880ac   wdenk   * Add support for...
409

7a8e9bed1   wdenk   * Patch by Marc S...
410
  #########################################################################
b62bdffb7   Wolfgang Denk   Adjust MAKEALL sc...
411
412
  ## MIPS Systems		(little endian)
  #########################################################################
fb56579ff   Kim Phillips   make MAKEALL more...
413
414
  LIST_au1xx0_el="	\
  	dbau1550_el	\
b09258c53   Shinya Kuribayashi   MAKEALL: Added mi...
415
  	pb1000		\
fb56579ff   Kim Phillips   make MAKEALL more...
416
  "
fb56579ff   Kim Phillips   make MAKEALL more...
417
  LIST_mips_el="			\
fb56579ff   Kim Phillips   make MAKEALL more...
418
419
  	${LIST_au1xx0_el}	\
  "
deddf5d2e   Stefan Kristiansson   openrisc: Add arc...
420
421
422
423
424
  #########################################################################
  ## OpenRISC Systems
  #########################################################################
  
  LIST_openrisc="$(boards_by_arch openrisc)"
b62bdffb7   Wolfgang Denk   Adjust MAKEALL sc...
425
426
  
  #########################################################################
fea257200   Graeme Russ   x86: Rename i386 ...
427
  ## x86 Systems
7a8e9bed1   wdenk   * Patch by Marc S...
428
  #########################################################################
fea257200   Graeme Russ   x86: Rename i386 ...
429
  LIST_x86="$(boards_by_arch x86)"
7a8e9bed1   wdenk   * Patch by Marc S...
430

c935d3bd8   wdenk   Patches by Stepha...
431
  #########################################################################
5c952cf02   wdenk   Patches by Scott ...
432
433
  ## Nios-II Systems
  #########################################################################
4827d067d   Mike Frysinger   nios2: move gener...
434
  LIST_nios2="$(boards_by_arch nios2)"
5c952cf02   wdenk   Patches by Scott ...
435
436
  
  #########################################################################
857cad37a   wdenk   Patches by Yasush...
437
438
  ## MicroBlaze Systems
  #########################################################################
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
439
  LIST_microblaze="$(boards_by_arch microblaze)"
857cad37a   wdenk   Patches by Yasush...
440

f8c3b4f31   Zachary P. Landau   Add ColdFire targ...
441
442
443
  #########################################################################
  ## ColdFire Systems
  #########################################################################
cce5d210e   Allen Martin   MAKEALL: fix per ...
444
  LIST_m68k="$(boards_by_arch m68k)"
c13f47b0d   Mike Frysinger   MAKEALL: rename c...
445
  LIST_coldfire=${LIST_m68k}
f8c3b4f31   Zachary P. Landau   Add ColdFire targ...
446

6ccec4492   Wolfgang Denk   Add ATSTK1000 and...
447
448
449
  #########################################################################
  ## AVR32 Systems
  #########################################################################
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
450
  LIST_avr32="$(boards_by_arch avr32)"
6ccec4492   Wolfgang Denk   Add ATSTK1000 and...
451

ef26a08fe   Aubrey.Li   [Blackfin][PATCH-...
452
453
454
  #########################################################################
  ## Blackfin Systems
  #########################################################################
36cf8cb45   Mike Frysinger   Blackfin: bf527-e...
455
  LIST_blackfin="$(boards_by_arch blackfin)"
ef26a08fe   Aubrey.Li   [Blackfin][PATCH-...
456

c71443734   Jean-Christophe PLAGNIOL-VILLARD   sh: Add sh3 and s...
457
458
459
  #########################################################################
  ## SH Systems
  #########################################################################
e0f0e527f   Nobuhiro Iwamatsu   sh: rsk7203: Move...
460
  LIST_sh2="$(boards_by_cpu sh2)"
3771c69d7   Nobuhiro Iwamatsu   sh: sh3: Move to ...
461
  LIST_sh3="$(boards_by_cpu sh3)"
03626be3f   Nobuhiro Iwamatsu   sh: sh4: Move to ...
462
  LIST_sh4="$(boards_by_cpu sh4)"
d9a42c0ac   Wolfgang Denk   MAKEALL: sort ent...
463

03626be3f   Nobuhiro Iwamatsu   sh: sh4: Move to ...
464
  LIST_sh="$(boards_by_arch sh)"
c71443734   Jean-Christophe PLAGNIOL-VILLARD   sh: Add sh3 and s...
465

c2f02da21   Daniel Hellstrom   SPARC: Added gene...
466
467
468
  #########################################################################
  ## SPARC Systems
  #########################################################################
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
469
  LIST_sparc="$(boards_by_arch sparc)"
7ebf7443a   wdenk   Initial revision
470

5f1719c10   Macpaul Lin   adp-ag101: add bo...
471
472
473
474
475
  #########################################################################
  ## NDS32 Systems
  #########################################################################
  
  LIST_nds32="$(boards_by_arch nds32)"
7ebf7443a   wdenk   Initial revision
476
  #-----------------------------------------------------------------------
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
477
478
479
480
481
482
483
484
  get_target_location() {
  	local target=$1
  	local BOARD_NAME=""
  	local CONFIG_NAME=""
  	local board=""
  	local vendor=""
  
  	# Automatic mode
27af930e9   Albert ARIBAUD   Merge and reforma...
485
  	local line=`awk -F '\ +' '\$7 == "'"$target"'" { print \$0 }' boards.cfg`
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
486
487
488
  	if [ -z "${line}" ] ; then echo "" ; return ; fi
  
  	set ${line}
27af930e9   Albert ARIBAUD   Merge and reforma...
489
  	CONFIG_NAME="${7%_config}"
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
490

27af930e9   Albert ARIBAUD   Merge and reforma...
491
  	[ "${BOARD_NAME}" ] || BOARD_NAME="${7%_config}"
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
492

27af930e9   Albert ARIBAUD   Merge and reforma...
493
494
495
496
497
498
  	if [ $# -gt 5 ]; then
  		if [ "$6" = "-" ] ; then
  			board=${BOARD_NAME}
  		else
  			board="$6"
  		fi
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
499
500
501
  	fi
  
  	[ $# -gt 4 ] && [ "$5" != "-" ] && vendor="$5"
27af930e9   Albert ARIBAUD   Merge and reforma...
502
503
  	[ $# -gt 6 ] && [ "$8" != "-" ] && {
  		tmp="${8%:*}"
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
504
505
506
507
508
509
  		if [ "$tmp" ] ; then
  			CONFIG_NAME="$tmp"
  		fi
  	}
  
  	# Assign board directory to BOARDIR variable
27af930e9   Albert ARIBAUD   Merge and reforma...
510
  	if [ "${vendor}" == "-" ] ; then
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
511
512
513
514
  	    BOARDDIR=${board}
  	else
  	    BOARDDIR=${vendor}/${board}
  	fi
27af930e9   Albert ARIBAUD   Merge and reforma...
515
  	echo "${CONFIG_NAME}:${BOARDDIR}:${BOARD_NAME}"
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
516
517
518
  }
  
  get_target_maintainers() {
27af930e9   Albert ARIBAUD   Merge and reforma...
519
  	local name=`echo $1 | cut -d : -f 3`
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
520

27af930e9   Albert ARIBAUD   Merge and reforma...
521
522
  	local line=`awk -F '\ +' '\$7 == "'"$target"'" { print \$0 }' boards.cfg`
  	if [ -z "${line}" ]; then
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
523
524
525
  		echo ""
  		return ;
  	fi
27af930e9   Albert ARIBAUD   Merge and reforma...
526
527
528
  	local mails=`echo ${line} | cut -d ' ' -f 9- | sed -e 's/[^<]*<//' -e 's/>.*</ /' -e 's/>[^>]*$//'`
  	[ "$mails" == "-" ] && mails=""
  	echo "$mails"
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
529
  }
47104c37d   Allen Martin   MAKEALL: add supp...
530
531
532
533
534
535
536
537
538
539
540
  get_target_arch() {
  	local target=$1
  
  	# Automatic mode
  	local line=`egrep -i "^[[:space:]]*${target}[[:space:]]" boards.cfg`
  
  	if [ -z "${line}" ] ; then echo "" ; return ; fi
  
  	set ${line}
  	echo "$2"
  }
9b96c6b11   Marek Vasut   MAKEALL: Add -m/-...
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
  list_target() {
  	if [ "$PRINT_MAINTS" != 'y' ] ; then
  		echo "$1"
  		return
  	fi
  
  	echo -n "$1:"
  
  	local loc=`get_target_location $1`
  
  	if [ -z "${loc}" ] ; then echo "ERROR" ; return ; fi
  
  	local maintainers_result=`get_target_maintainers ${loc} | tr " " "
  "`
  
  	if [ "$MAINTAINERS_ONLY" != 'y' ] ; then
  
  		local dir=`echo ${loc} | cut -d ":" -f 2`
  		local cfg=`echo ${loc} | cut -d ":" -f 1`
  		local git_result=`git log --format=%aE board/${dir} \
  				include/configs/${cfg}.h | grep "@"`
  		local git_result_recent=`echo ${git_result} | tr " " "
  " | \
  						head -n 3`
  		local git_result_top=`echo ${git_result} | tr " " "
  " | \
  			sort | uniq -c | sort -nr | head -n 3 | \
  			sed "s/^ \+[0-9]\+ \+//"`
  
  		echo -e "$git_result_recent
  $git_result_top
  $maintainers_result" | \
  			sort -u | tr "
  " " " | sed "s/ $//" ;
  	else
  		echo -e "$maintainers_result" | sort -u | tr "
  " " " | \
  						sed "s/ $//" ;
  	fi
  
  	echo ""
  }
f588bb034   Andy Fleming   Allow for paralle...
583
584
585
586
587
588
589
  # Each finished build will have a file called ${donep}${n},
  # where n is the index of the build. Each build
  # we've already noted as finished will have ${skipp}${n}.
  # The code managing the build process will use this information
  # to ensure that only BUILD_NBUILDS builds are in flight at once
  donep="${LOG_DIR}/._done_"
  skipp="${LOG_DIR}/._skip_"
c97d59cbd   Joe Hershberger   MAKEALL: Fix kill...
590
591
592
593
594
595
  build_target_killed() {
  	echo "Aborted $target build."
  	# Remove the logs for this board since it was aborted
  	rm -f ${LOG_DIR}/$target.MAKELOG ${LOG_DIR}/$target.ERR
  	exit
  }
7ebf7443a   wdenk   Initial revision
596
597
  build_target() {
  	target=$1
f588bb034   Andy Fleming   Allow for paralle...
598
  	build_idx=$2
f50bf50d7   Andy Fleming   Improve MAKEALL p...
599
600
601
602
  	if [ "$ONLY_LIST" == 'y' ] ; then
  		list_target ${target}
  		return
  	fi
f588bb034   Andy Fleming   Allow for paralle...
603
604
605
  	if [ $BUILD_MANY == 1 ] ; then
  		output_dir="${OUTPUT_PREFIX}/${target}"
  		mkdir -p "${output_dir}"
c97d59cbd   Joe Hershberger   MAKEALL: Fix kill...
606
  		trap build_target_killed TERM
f588bb034   Andy Fleming   Allow for paralle...
607
608
609
610
611
  	else
  		output_dir="${OUTPUT_PREFIX}"
  	fi
  
  	export BUILD_DIR="${output_dir}"
7ebf7443a   wdenk   Initial revision
612

47104c37d   Allen Martin   MAKEALL: add supp...
613
  	target_arch=$(get_target_arch ${target})
c17b94ec5   York Sun   MAKEALL: Fix case...
614
  	eval cross_toolchain=\$CROSS_COMPILE_`echo $target_arch | tr '[:lower:]' '[:upper:]'`
47104c37d   Allen Martin   MAKEALL: add supp...
615
616
617
618
619
620
621
  	if [ "${cross_toolchain}" ] ; then
  	    MAKE="make CROSS_COMPILE=${cross_toolchain}"
  	elif [ "${CROSS_COMPILE}" ] ; then
  	    MAKE="make CROSS_COMPILE=${CROSS_COMPILE}"
  	else
  	    MAKE=make
  	fi
7ebf7443a   wdenk   Initial revision
622
  	${MAKE} distclean >/dev/null
d70d8ccc2   Kim Phillips   silence config st...
623
  	${MAKE} -s ${target}_config
f93286397   Marian Balakowicz   Add support for a...
624

33f336d52   Kim Phillips   MAKEALL: add a -C...
625
  	${MAKE} ${JOBS} ${CHECK} all \
f588bb034   Andy Fleming   Allow for paralle...
626
  		>${LOG_DIR}/$target.MAKELOG 2> ${LOG_DIR}/$target.ERR
f2352877c   Peter Tyser   MAKEALL: Fix retu...
627
628
629
630
631
  
  	# Check for 'make' errors
  	if [ ${PIPESTATUS[0]} -ne 0 ] ; then
  		RC=1
  	fi
f588bb034   Andy Fleming   Allow for paralle...
632
  	if [ $BUILD_MANY == 1 ] ; then
c97d59cbd   Joe Hershberger   MAKEALL: Fix kill...
633
  		trap - TERM
ed296d206   Tom Rini   MAKEALL: Add -s t...
634
  		${MAKE} -s tidy
f588bb034   Andy Fleming   Allow for paralle...
635
636
  
  		if [ -s ${LOG_DIR}/${target}.ERR ] ; then
b86a475c1   Joe Hershberger   MAKEALL: Report b...
637
  			cp ${LOG_DIR}/${target}.ERR ${OUTPUT_PREFIX}/ERR/${target}
f588bb034   Andy Fleming   Allow for paralle...
638
639
640
  		else
  			rm ${LOG_DIR}/${target}.ERR
  		fi
40a28f088   Peter Tyser   MAKEALL: Add summ...
641
  	else
f588bb034   Andy Fleming   Allow for paralle...
642
  		if [ -s ${LOG_DIR}/${target}.ERR ] ; then
b86a475c1   Joe Hershberger   MAKEALL: Report b...
643
644
645
646
647
648
649
  			if grep -iw error ${LOG_DIR}/${target}.ERR ; then
  				: $(( ERR_CNT += 1 ))
  				ERR_LIST="${ERR_LIST} $target"
  			else
  				: $(( WRN_CNT += 1 ))
  				WRN_LIST="${WRN_LIST} $target"
  			fi
f588bb034   Andy Fleming   Allow for paralle...
650
651
652
  		else
  			rm ${LOG_DIR}/${target}.ERR
  		fi
40a28f088   Peter Tyser   MAKEALL: Add summ...
653
  	fi
f588bb034   Andy Fleming   Allow for paralle...
654
655
656
  	OBJS=${output_dir}/u-boot
  	if [ -e ${output_dir}/spl/u-boot-spl ]; then
  		OBJS="${OBJS} ${output_dir}/spl/u-boot-spl"
0c1856960   Scott Wood   MAKEALL: display ...
657
658
659
  	fi
  
  	${CROSS_COMPILE}size ${OBJS} | tee -a ${LOG_DIR}/$target.MAKELOG
f588bb034   Andy Fleming   Allow for paralle...
660
661
  
  	[ -e "${LOG_DIR}/${target}.ERR" ] && cat "${LOG_DIR}/${target}.ERR"
f588bb034   Andy Fleming   Allow for paralle...
662
  	touch "${donep}${build_idx}"
7ebf7443a   wdenk   Initial revision
663
  }
f588bb034   Andy Fleming   Allow for paralle...
664
665
666
  
  manage_builds() {
  	search_idx=${OLDEST_IDX}
f50bf50d7   Andy Fleming   Improve MAKEALL p...
667
  	if [ "$ONLY_LIST" == 'y' ] ; then return ; fi
f588bb034   Andy Fleming   Allow for paralle...
668
669
  	while true; do
  		if [ -e "${donep}${search_idx}" ] ; then
f588bb034   Andy Fleming   Allow for paralle...
670
671
672
673
674
675
676
677
678
679
680
  			: $(( CURRENT_CNT-- ))
  			[ ${OLDEST_IDX} -eq ${search_idx} ] &&
  				: $(( OLDEST_IDX++ ))
  
  			# Only want to count it once
  			rm -f "${donep}${search_idx}"
  			touch "${skipp}${search_idx}"
  		elif [ -e "${skipp}${search_idx}" ] ; then
  			[ ${OLDEST_IDX} -eq ${search_idx} ] &&
  				: $(( OLDEST_IDX++ ))
  		fi
f588bb034   Andy Fleming   Allow for paralle...
681
682
  		: $(( search_idx++ ))
  		if [ ${search_idx} -gt ${TOTAL_CNT} ] ; then
f588bb034   Andy Fleming   Allow for paralle...
683
684
685
686
687
688
689
690
691
  			if [ ${CURRENT_CNT} -ge ${BUILD_NBUILDS} ] ; then
  				search_idx=${OLDEST_IDX}
  				sleep 1
  			else
  				break
  			fi
  		fi
  	done
  }
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
692
693
694
695
696
697
698
699
700
701
702
703
  build_targets() {
  	for t in "$@" ; do
  		# If a LIST_xxx var exists, use it.  But avoid variable
  		# expansion in the eval when a board name contains certain
  		# characters that the shell interprets.
  		case ${t} in
  			*[-+=]*) list= ;;
  			*)       list=$(eval echo '${LIST_'$t'}') ;;
  		esac
  		if [ -n "${list}" ] ; then
  			build_targets ${list}
  		else
f588bb034   Andy Fleming   Allow for paralle...
704
705
706
707
  			: $((TOTAL_CNT += 1))
  			: $((CURRENT_CNT += 1))
  			rm -f "${donep}${TOTAL_CNT}"
  			rm -f "${skipp}${TOTAL_CNT}"
085102047   Joe Hershberger   MAKEALL: Add opti...
708
709
710
711
712
713
  			if [ "$CONTINUE" = 'y' -a -e ${LOG_DIR}/$t.MAKELOG ] ; then
  				: $((SKIP_CNT += 1))
  				touch "${donep}${TOTAL_CNT}"
  			elif [ "$REBUILD_ERRORS" = 'y' -a ! -e ${LOG_DIR}/$t.ERR ] ; then
  				: $((SKIP_CNT += 1))
  				touch "${donep}${TOTAL_CNT}"
b594bd6ab   Joe Hershberger   MAKEALL: Fix erro...
714
  			else
085102047   Joe Hershberger   MAKEALL: Add opti...
715
716
717
718
719
720
721
  				if [ $BUILD_MANY == 1 ] ; then
  					build_target ${t} ${TOTAL_CNT} &
  				else
  					CUR_TGT="${t}"
  					build_target ${t} ${TOTAL_CNT}
  					CUR_TGT=''
  				fi
b594bd6ab   Joe Hershberger   MAKEALL: Fix erro...
722
  			fi
f588bb034   Andy Fleming   Allow for paralle...
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
  		fi
  
  		# We maintain a running count of all the builds we have done.
  		# Each finished build will have a file called ${donep}${n},
  		# where n is the index of the build. Each build
  		# we've already noted as finished will have ${skipp}${n}.
  		# We track the current index via TOTAL_CNT, and the oldest
  		# index. When we exceed the maximum number of parallel builds,
  		# We look from oldest to current for builds that have completed,
  		# and update the current count and oldest index as appropriate.
  		# If we've gone through the entire list, wait a second, and
  		# reprocess the entire list until we find a build that has
  		# completed
  		if [ ${CURRENT_CNT} -ge ${BUILD_NBUILDS} ] ; then
  			manage_builds
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
738
739
740
  		fi
  	done
  }
7ebf7443a   wdenk   Initial revision
741
742
  
  #-----------------------------------------------------------------------
f50bf50d7   Andy Fleming   Improve MAKEALL p...
743
  kill_children() {
6bdd9f896   Andreas Bießmann   MAKEALL: fix kill...
744
745
746
747
748
749
750
751
752
753
754
755
756
757
  	local OS=$(uname -s)
  	local children=""
  	case "${OS}" in
  		"Darwin")
  			# Mac OS X is known to have BSD style ps
  			local pgid=$(ps -p $$ -o pgid | sed -e "/PGID/d")
  			children=$(ps -g $pgid -o pid | sed -e "/PID\|$$\|$pgid/d")
  			;;
  		*)
  			# everything else tries the GNU style
  			local pgid=$(ps -p $$ --no-headers -o "%r" | tr -d ' ')
  			children=$(pgrep -g $pgid | sed -e "/$$\|$pgid/d")
  			;;
  	esac
c97d59cbd   Joe Hershberger   MAKEALL: Fix kill...
758
759
760
  
  	kill $children 2> /dev/null
  	wait $children 2> /dev/null
f50bf50d7   Andy Fleming   Improve MAKEALL p...
761
762
763
  
  	exit
  }
40a28f088   Peter Tyser   MAKEALL: Add summ...
764
  print_stats() {
7f79c6f2f   Marek Vasut   MAKEALL: Add -l o...
765
  	if [ "$ONLY_LIST" == 'y' ] ; then return ; fi
f588bb034   Andy Fleming   Allow for paralle...
766

c97d59cbd   Joe Hershberger   MAKEALL: Fix kill...
767
768
  	# Only count boards that completed
  	: $((TOTAL_CNT = `find ${skipp}* 2> /dev/null | wc -l`))
f588bb034   Andy Fleming   Allow for paralle...
769
770
771
  	rm -f ${donep}* ${skipp}*
  
  	if [ $BUILD_MANY == 1 ] && [ -e "${OUTPUT_PREFIX}/ERR" ] ; then
033220e7a   Andy Fleming   MAKEALL: Allow em...
772
  		ERR_LIST=`grep -riwl error ${OUTPUT_PREFIX}/ERR/`
b86a475c1   Joe Hershberger   MAKEALL: Report b...
773
774
  		ERR_LIST=`for f in $ERR_LIST ; do echo -n " $(basename $f)" ; done`
  		ERR_CNT=`echo $ERR_LIST | wc -w | awk '{print $1}'`
033220e7a   Andy Fleming   MAKEALL: Allow em...
775
  		WRN_LIST=`grep -riwL error ${OUTPUT_PREFIX}/ERR/`
b86a475c1   Joe Hershberger   MAKEALL: Report b...
776
777
  		WRN_LIST=`for f in $WRN_LIST ; do echo -n " $(basename $f)" ; done`
  		WRN_CNT=`echo $WRN_LIST | wc -w | awk '{print $1}'`
c97d59cbd   Joe Hershberger   MAKEALL: Fix kill...
778
779
780
  	else
  		# Remove the logs for any board that was interrupted
  		rm -f ${LOG_DIR}/${CUR_TGT}.MAKELOG ${LOG_DIR}/${CUR_TGT}.ERR
f588bb034   Andy Fleming   Allow for paralle...
781
  	fi
085102047   Joe Hershberger   MAKEALL: Add opti...
782
  	: $((TOTAL_CNT -= ${SKIP_CNT}))
40a28f088   Peter Tyser   MAKEALL: Add summ...
783
784
  	echo ""
  	echo "--------------------- SUMMARY ----------------------------"
085102047   Joe Hershberger   MAKEALL: Add opti...
785
786
787
  	if [ "$CONTINUE" = 'y' -o "$REBUILD_ERRORS" = 'y' ] ; then
  		echo "Boards skipped: ${SKIP_CNT}"
  	fi
40a28f088   Peter Tyser   MAKEALL: Add summ...
788
789
  	echo "Boards compiled: ${TOTAL_CNT}"
  	if [ ${ERR_CNT} -gt 0 ] ; then
b86a475c1   Joe Hershberger   MAKEALL: Report b...
790
791
792
793
  		echo "Boards with errors: ${ERR_CNT} (${ERR_LIST} )"
  	fi
  	if [ ${WRN_CNT} -gt 0 ] ; then
  		echo "Boards with warnings but no errors: ${WRN_CNT} (${WRN_LIST} )"
40a28f088   Peter Tyser   MAKEALL: Add summ...
794
795
  	fi
  	echo "----------------------------------------------------------"
f2352877c   Peter Tyser   MAKEALL: Fix retu...
796

f50bf50d7   Andy Fleming   Improve MAKEALL p...
797
  	if [ $BUILD_MANY == 1 ] ; then
c97d59cbd   Joe Hershberger   MAKEALL: Fix kill...
798
  		kill_children
f50bf50d7   Andy Fleming   Improve MAKEALL p...
799
  	fi
f2352877c   Peter Tyser   MAKEALL: Fix retu...
800
  	exit $RC
40a28f088   Peter Tyser   MAKEALL: Add summ...
801
  }
7ebf7443a   wdenk   Initial revision
802

40a28f088   Peter Tyser   MAKEALL: Add summ...
803
  #-----------------------------------------------------------------------
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
804

0777eafb3   Wolfgang Denk   MAKEALL: allow ad...
805
806
807
  # Build target groups selected by options, plus any command line args
  set -- ${SELECTED} "$@"
  # run PowerPC by default
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
808
  [ $# = 0 ] && set -- powerpc
9ec49f8f8   Mike Frysinger   MAKEALL: cut down...
809
  build_targets "$@"
f588bb034   Andy Fleming   Allow for paralle...
810
  wait