mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
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>
This commit is contained in:
parent
bb1c01eaf6
commit
f50bf50d7f
1 changed files with 18 additions and 16 deletions
34
MAKEALL
34
MAKEALL
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue