From f93286397ed2a7084efb0362a43ee09f11702349 Mon Sep 17 00:00:00 2001 From: Marian Balakowicz Date: Fri, 1 Sep 2006 19:49:50 +0200 Subject: Add support for a saving build objects in a separate directory. Modifications are based on the linux kernel approach and support two use cases: 1) Add O= to the make command line 'make O=/tmp/build all' 2) Set environement variable BUILD_DIR to point to the desired location 'export BUILD_DIR=/tmp/build' 'make' The second approach can also be used with a MAKEALL script 'export BUILD_DIR=/tmp/build' './MAKEALL' Command line 'O=' setting overrides BUILD_DIR environent variable. When none of the above methods is used the local build is performed and the object files are placed in the source directory. --- MAKEALL | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'MAKEALL') diff --git a/MAKEALL b/MAKEALL index 720ab03bd3..d2f86d3ac8 100755 --- a/MAKEALL +++ b/MAKEALL @@ -8,7 +8,17 @@ else MAKE=make fi -[ -d LOG ] || mkdir LOG || exit 1 +if [ "${MAKEALL_LOGDIR}" ] ; then + LOG_DIR=${MAKEALL_LOGDIR} +else + LOG_DIR="LOG" +fi + +if [ ! "${BUILD_DIR}" ] ; then + BUILD_DIR="." +fi + +[ -d ${MAKEALL_LOGDIR} ] || mkdir ${MAKEALL_LOGDIR} || exit 1 LIST="" @@ -303,8 +313,12 @@ build_target() { ${MAKE} distclean >/dev/null ${MAKE} ${target}_config - ${MAKE} ${JOBS} all 2>&1 >LOG/$target.MAKELOG | tee LOG/$target.ERR - ${CROSS_COMPILE:-ppc_8xx-}size u-boot | tee -a LOG/$target.MAKELOG + + ${MAKE} ${JOBS} all 2>&1 >${LOG_DIR}/$target.MAKELOG \ + | tee ${LOG_DIR}/$target.ERR + + ${CROSS_COMPILE:-ppc_8xx-}size ${BUILD_DIR}/u-boot \ + | tee -a ${LOG_DIR}/$target.MAKELOG } #----------------------------------------------------------------------- -- cgit v1.2.3