3 # Print statistics when we exit
7 # Determine number of CPU cores if no default was set
8 : ${BUILD_NCPUS:="`getconf _NPROCESSORS_ONLN`"}
10 if [ "$BUILD_NCPUS" -gt 1 ]
12 JOBS="-j $((BUILD_NCPUS + 1))"
18 if [ "${CROSS_COMPILE}" ] ; then
19 MAKE="make CROSS_COMPILE=${CROSS_COMPILE}"
24 if [ "${MAKEALL_LOGDIR}" ] ; then
25 LOG_DIR=${MAKEALL_LOGDIR}
30 if [ ! "${BUILD_DIR}" ] ; then
34 [ -d ${LOG_DIR} ] || mkdir ${LOG_DIR} || exit 1
38 # Keep track of the number of builds and errors
44 # Helper funcs for parsing boards.cfg
50 '($1 !~ /^#/ && $field == select) { print $1 }' \
53 boards_by_arch() { boards_by_field 2 "$@" ; }
54 boards_by_cpu() { boards_by_field 3 "$@" ; }
56 #########################################################################
58 #########################################################################
60 LIST_5xx="$(boards_by_cpu mpc5xx)"
62 #########################################################################
64 #########################################################################
66 LIST_5xxx="$(boards_by_cpu mpc5xxx)
86 #########################################################################
88 #########################################################################
90 LIST_512x="$(boards_by_cpu mpc512x)
94 #########################################################################
96 #########################################################################
98 LIST_8xx="$(boards_by_cpu mpc8xx)
138 #########################################################################
140 #########################################################################
142 LIST_4xx="$(boards_by_cpu ppc4xx)
177 xilinx-ppc440-generic \
178 xilinx-ppc440-generic_flash \
183 #########################################################################
185 #########################################################################
187 LIST_8220="$(boards_by_cpu mpc8220)"
189 #########################################################################
191 #########################################################################
193 LIST_824x="$(boards_by_cpu mpc824x)
202 #########################################################################
203 ## MPC8260 Systems (includes 8250, 8255 etc.)
204 #########################################################################
206 LIST_8260="$(boards_by_cpu mpc8260)
222 #########################################################################
223 ## MPC83xx Systems (includes 8349, etc.)
224 #########################################################################
226 LIST_83xx="$(boards_by_cpu mpc83xx)
229 MPC8313ERDB_NAND_66 \
247 #########################################################################
248 ## MPC85xx Systems (includes 8540, 8560 etc.)
249 #########################################################################
251 LIST_85xx="$(boards_by_cpu mpc85xx)
288 sbc8548_PCI_33_PCIE \
289 sbc8548_PCI_66_PCIE \
301 #########################################################################
303 #########################################################################
305 LIST_86xx="$(boards_by_cpu mpc86xx)
310 #########################################################################
312 #########################################################################
334 #########################################################################
336 #########################################################################
360 # Alias "ppc" -> "powerpc" to not break compatibility with older scripts
361 # still using "ppc" instead of "powerpc"
366 #########################################################################
368 #########################################################################
370 LIST_SA="$(boards_by_cpu sa1100)"
372 #########################################################################
374 #########################################################################
390 #########################################################################
392 #########################################################################
456 davinci_dm355leopard \
461 #########################################################################
463 #########################################################################
469 #########################################################################
471 #########################################################################
487 #########################################################################
489 #########################################################################
510 #########################################################################
512 #########################################################################
545 #########################################################################
547 #########################################################################
549 LIST_pxa="$(boards_by_cpu pxa)
556 LIST_ixp="$(boards_by_cpu ixp)
561 #########################################################################
563 #########################################################################
577 #########################################################################
578 ## MIPS Systems (default = big endian)
579 #########################################################################
586 vct_platinum_onenand \
587 vct_platinum_onenand_small \
589 vct_platinumavc_small \
590 vct_platinumavc_onenand \
591 vct_platinumavc_onenand_small \
594 vct_premium_onenand \
595 vct_premium_onenand_small \
617 #########################################################################
618 ## MIPS Systems (little endian)
619 #########################################################################
636 #########################################################################
638 #########################################################################
640 LIST_x86="$(boards_by_arch i386)
644 #########################################################################
646 #########################################################################
648 LIST_nios2="$(boards_by_arch nios2)
652 #########################################################################
653 ## MicroBlaze Systems
654 #########################################################################
656 LIST_microblaze="$(boards_by_arch microblaze)"
658 #########################################################################
660 #########################################################################
662 LIST_coldfire="$(boards_by_arch m68k)
666 EB+MCF-EV123_internal \
677 #########################################################################
679 #########################################################################
681 LIST_avr32="$(boards_by_arch avr32)"
683 #########################################################################
685 #########################################################################
687 LIST_blackfin="$(boards_by_arch blackfin)
691 #########################################################################
693 #########################################################################
721 #########################################################################
723 #########################################################################
725 LIST_sparc="$(boards_by_arch sparc)"
727 #-----------------------------------------------------------------------
732 ${MAKE} distclean >/dev/null
733 ${MAKE} -s ${target}_config
735 ${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \
736 | tee ${LOG_DIR}/$target.ERR
738 # Check for 'make' errors
739 if [ ${PIPESTATUS[0]} -ne 0 ] ; then
743 if [ -s ${LOG_DIR}/$target.ERR ] ; then
744 ERR_CNT=$((ERR_CNT + 1))
745 ERR_LIST="${ERR_LIST} $target"
747 rm ${LOG_DIR}/$target.ERR
750 TOTAL_CNT=$((TOTAL_CNT + 1))
752 ${CROSS_COMPILE}size ${BUILD_DIR}/u-boot \
753 | tee -a ${LOG_DIR}/$target.MAKELOG
757 # If a LIST_xxx var exists, use it. But avoid variable
758 # expansion in the eval when a board name contains certain
759 # characters that the shell interprets.
762 *) list=$(eval echo '${LIST_'$t'}') ;;
764 if [ -n "${list}" ] ; then
765 build_targets ${list}
772 #-----------------------------------------------------------------------
776 echo "--------------------- SUMMARY ----------------------------"
777 echo "Boards compiled: ${TOTAL_CNT}"
778 if [ ${ERR_CNT} -gt 0 ] ; then
779 echo "Boards with warnings or errors: ${ERR_CNT} (${ERR_LIST} )"
781 echo "----------------------------------------------------------"
786 #-----------------------------------------------------------------------
788 #----- for now, just run PowerPC by default -----
789 [ $# = 0 ] && set -- powerpc