summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Fleming <afleming@freescale.com>2012-05-09 20:36:28 +0000
committerWolfgang Denk <wd@denx.de>2012-05-18 13:49:04 +0200
commitf50bf50d7f6f99c5ad4666d63a7eef43d3940500 (patch)
tree388e994e2bacef0ad9bcdf451a850207fc2c2815
parentbb1c01eaf69047b975d6ecf0ccbedee22a217942 (diff)
downloadu-boot-imx-f50bf50d7f6f99c5ad4666d63a7eef43d3940500.zip
u-boot-imx-f50bf50d7f6f99c5ad4666d63a7eef43d3940500.tar.gz
u-boot-imx-f50bf50d7f6f99c5ad4666d63a7eef43d3940500.tar.bz2
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>
-rwxr-xr-xMAKEALL34
1 files changed, 18 insertions, 16 deletions
diff --git a/MAKEALL b/MAKEALL
index 5b610bf..05e2d90 100755
--- a/MAKEALL
+++ b/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
}