diff --git a/config/functions b/config/functions index d525e7e17e..e5b9ec9822 100644 --- a/config/functions +++ b/config/functions @@ -765,6 +765,22 @@ check_path() { fi } +load_build_config() { + if [ -d "${1}" -a -f ${1}/.build.conf ]; then + source ${1}/.build.conf + return 0 + fi + return 1 +} + +save_build_config() { + local var + rm -f ${BUILD}/.build.conf + for var in PROJECT DEVICE ARCH DEBUG BUILD_SUFFIX; do + echo "export ${var}=\"${!var}\"" >> ${BUILD}/.build.conf + done +} + check_config() { dashes="===========================" if [ ! -d $PROJECT_DIR/$PROJECT ]; then diff --git a/scripts/build b/scripts/build index fc62914075..dfd9cdbc61 100755 --- a/scripts/build +++ b/scripts/build @@ -20,6 +20,15 @@ . config/options $1 +if [ "$1" = "--all" ]; then + if [ ! -z "$2" ]; then + for build_dir in $(ls -1d ${ROOT}/build.*); do + load_build_config ${build_dir} && ./scripts/build $2 + done + fi + exit 0 +fi + if [ -z "$1" ]; then echo "usage: $0 package_name[:]" exit 1 diff --git a/scripts/clean b/scripts/clean index 4211c31c6e..e4fedd87dc 100755 --- a/scripts/clean +++ b/scripts/clean @@ -48,14 +48,8 @@ clean_package() { if [ "$1" = "--all" ]; then if [ ! -z "$2" ]; then - for PROJECT in $(ls -1 projects); do - for archfile in projects/$PROJECT/linux/linux.*.conf; do - if [ ! -f "$archfile" ]; then - archfile="$(ls -1 projects/$PROJECT/linux/*/linux.*.conf | head -1)" - fi - ARCH=`echo $archfile | sed -n '$s/\.conf//;$s/.*\.//p'` - PROJECT=$PROJECT ARCH=$ARCH ./scripts/clean $2 - done + for build_dir in $(ls -1d ${ROOT}/build.*); do + load_build_config "${build_dir}" && ./scripts/clean $2 done fi else diff --git a/scripts/image b/scripts/image index c2695ed91f..8859ecab80 100755 --- a/scripts/image +++ b/scripts/image @@ -25,6 +25,8 @@ unset _CACHE_PACKAGE_LOCAL _CACHE_PACKAGE_GLOBAL _DEBUG_DEPENDS_LIST _DEBUG_PACK . config/show_config show_config +save_build_config + setup_toolchain target $SCRIPTS/checkdeps