diff options
author | Andy Fleming <afleming@freescale.com> | 2012-05-09 20:36:28 +0000 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2012-05-18 13:49:04 +0200 |
commit | f50bf50d7f6f99c5ad4666d63a7eef43d3940500 (patch) | |
tree | 388e994e2bacef0ad9bcdf451a850207fc2c2815 /MAKEALL | |
parent | bb1c01eaf69047b975d6ecf0ccbedee22a217942 (diff) | |
download | u-boot-f50bf50d7f6f99c5ad4666d63a7eef43d3940500.tar.gz |
Improve MAKEALL parallel builds
The patch that added parallel builds broke MAKEALL -l, so this
fixes that. At the same time, it improves the termination so
that it shuts down the build threads if you cancel the build.
Lastly, it removes a bunch of debug code.
Signed-off-by: Andy Fleming <afleming@freescale.com>
Tested-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'MAKEALL')
-rwxr-xr-x | MAKEALL | 34 |
1 files changed, 18 insertions, 16 deletions
@@ -340,12 +340,7 @@ LIST_ARM9="$(boards_by_cpu arm920t) \ ######################################################################### ## ARM11 Systems ######################################################################### -LIST_ARM11="$(boards_by_cpu arm1136) \ - imx31_phycore \ - imx31_phycore_eet \ - mx31pdk \ - smdk6400 \ -" +LIST_ARM11="$(boards_by_cpu arm1136)" ######################################################################### ## ARMV7 Systems @@ -615,6 +610,11 @@ build_target() { target=$1 build_idx=$2 + if [ "$ONLY_LIST" == 'y' ] ; then + list_target ${target} + return + fi + if [ $BUILD_MANY == 1 ] ; then output_dir="${OUTPUT_PREFIX}/${target}" mkdir -p "${output_dir}" @@ -624,11 +624,6 @@ build_target() { export BUILD_DIR="${output_dir}" - if [ "$ONLY_LIST" == 'y' ] ; then - list_target ${target} - return - fi - ${MAKE} distclean >/dev/null ${MAKE} -s ${target}_config @@ -666,16 +661,15 @@ build_target() { [ -e "${LOG_DIR}/${target}.ERR" ] && cat "${LOG_DIR}/${target}.ERR" - #echo "Writing ${donep}${build_idx}" touch "${donep}${build_idx}" } manage_builds() { search_idx=${OLDEST_IDX} - #echo "Searching ${OLDEST_IDX} to ${TOTAL_CNT}" + if [ "$ONLY_LIST" == 'y' ] ; then return ; fi + while true; do if [ -e "${donep}${search_idx}" ] ; then - # echo "Found ${donep}${search_idx}" : $(( CURRENT_CNT-- )) [ ${OLDEST_IDX} -eq ${search_idx} ] && : $(( OLDEST_IDX++ )) @@ -687,10 +681,8 @@ manage_builds() { [ ${OLDEST_IDX} -eq ${search_idx} ] && : $(( OLDEST_IDX++ )) fi - #echo "Checking search ${search_idx} vs ${TOTAL_CNT}" : $(( search_idx++ )) if [ ${search_idx} -gt ${TOTAL_CNT} ] ; then - #echo "Checking current ${CURRENT_CNT} vs ${BUILD_NBUILDS}" if [ ${CURRENT_CNT} -ge ${BUILD_NBUILDS} ] ; then search_idx=${OLDEST_IDX} sleep 1 @@ -739,6 +731,12 @@ build_targets() { #----------------------------------------------------------------------- +kill_children() { + kill -- "-$1" + + exit +} + print_stats() { if [ "$ONLY_LIST" == 'y' ] ; then return ; fi @@ -759,6 +757,10 @@ print_stats() { fi echo "----------------------------------------------------------" + if [ $BUILD_MANY == 1 ] ; then + kill_children $$ & + fi + exit $RC } |