| #!/bin/bash |
| OK=0 |
| FAIL=1 |
| TOPDIR=`pwd` |
| LOG_FILE=$1.log |
| LOG_DIR=${TOPDIR}/log/ |
| LOG=${LOG_DIR}/${LOG_FILE} |
| DEPENDENCY=${LOG_DIR}/DEPEND/$1.depend.txt |
| |
| LOG_OK_DIR=${LOG_DIR}/OK |
| LOG_FAIL_DIR=${LOG_DIR}/FAIL |
| LOG_OK_FILE=${LOG_OK_DIR}/${LOG_FILE}.OK |
| LOG_FAIL_FILE=${LOG_FAIL_DIR}/${LOG_FILE}.FAIL |
| |
| mkdir -p ${LOG_DIR} |
| mkdir -p ${LOG_OK_DIR} |
| mkdir -p ${LOG_FAIL_DIR} |
| mkdir -p ${LOG_DIR}/DEPEND |
| |
| test=${OK} |
| |
| function clean_files() |
| { |
| rm -f ${LOG} |
| rm -f ${LOG_OK_FILE} |
| rm -f ${LOG_FAIL_FILE} |
| rm -f ${DEPENDENCY} |
| } |
| |
| function dirclean () |
| { |
| make $1-dirclean > /dev/null 2>&1 |
| } |
| |
| function process () |
| { |
| make $1 >> ${LOG} 2>&1 || test=${FAIL} |
| grep "\.tar\." ${LOG} > ${DEPENDENCY} |
| if [ ${test} == ${OK} ] ; then |
| mv ${LOG} ${LOG_OK_FILE} |
| echo "OK " |
| else |
| mv ${LOG} ${LOG_FAIL_FILE} |
| printf "FAIL " |
| echo \"$2\" |
| fi |
| } |
| |
| function build_package () |
| { |
| printf "mk %-31s" "$1" |
| if [ "$2X" == "X" ] ; then # no parameters |
| clean_files $1 |
| dirclean $1 |
| process $1 |
| elif [ "$2X" == "OKX" ] ; then # Previous build was OK |
| clean_files $1 |
| dirclean $1 |
| process $1 |
| elif [ "$2X" == "FAILX" ] ; then |
| clean_files $1 |
| dirclean $1 |
| process $1 $3 |
| elif [ "$2X" == "BROKENX" ] ; then |
| printf "BROKEN " |
| echo \"$3\" |
| fi |
| } |
| |
| build_package $1 $2 $3 |
| |
| |
| |