Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | OK=0 |
| 3 | FAIL=1 |
| 4 | TOPDIR=`pwd` |
| 5 | LOG_FILE=$1.log |
| 6 | LOG_DIR=${TOPDIR}/log/ |
| 7 | LOG=${LOG_DIR}/${LOG_FILE} |
| 8 | DEPENDENCY=${LOG_DIR}/DEPEND/$1.depend.txt |
| 9 | |
| 10 | LOG_OK_DIR=${LOG_DIR}/OK |
| 11 | LOG_FAIL_DIR=${LOG_DIR}/FAIL |
| 12 | LOG_OK_FILE=${LOG_OK_DIR}/${LOG_FILE}.OK |
| 13 | LOG_FAIL_FILE=${LOG_FAIL_DIR}/${LOG_FILE}.FAIL |
| 14 | |
| 15 | mkdir -p ${LOG_DIR} |
| 16 | mkdir -p ${LOG_OK_DIR} |
| 17 | mkdir -p ${LOG_FAIL_DIR} |
| 18 | mkdir -p ${LOG_DIR}/DEPEND |
| 19 | |
| 20 | test=${OK} |
| 21 | |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 22 | function clean_files() |
Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 23 | { |
Ulf Samuelsson | 6b054c3 | 2009-01-11 20:37:04 +0000 | [diff] [blame] | 24 | rm -f ${LOG} |
| 25 | rm -f ${LOG_OK_FILE} |
| 26 | rm -f ${LOG_FAIL_FILE} |
Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 27 | rm -f ${DEPENDENCY} |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 28 | } |
Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 29 | |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 30 | function dirclean () |
| 31 | { |
Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 32 | make $1-dirclean > /dev/null 2>&1 |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 33 | } |
Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 34 | |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 35 | function process () |
| 36 | { |
Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 37 | make $1 >> ${LOG} 2>&1 || test=${FAIL} |
| 38 | grep "\.tar\." ${LOG} > ${DEPENDENCY} |
| 39 | if [ ${test} == ${OK} ] ; then |
| 40 | mv ${LOG} ${LOG_OK_FILE} |
Ulf Samuelsson | 070de4f | 2009-01-25 23:09:12 +0000 | [diff] [blame] | 41 | printf "%-16s" "OK" |
| 42 | if [ "${2}X" != "X" ] ; then |
| 43 | printf "%-16s" "\"$2\""; |
| 44 | fi |
| 45 | if [ "${3}X" != "X" ] ; then |
| 46 | printf "%s" "\"$3\""; |
| 47 | fi |
| 48 | echo |
Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 49 | else |
| 50 | mv ${LOG} ${LOG_FAIL_FILE} |
Ulf Samuelsson | 070de4f | 2009-01-25 23:09:12 +0000 | [diff] [blame] | 51 | printf "%-16s" "FAIL" |
| 52 | if [ "${2}X" != "X" ] ; then |
| 53 | printf "%-16s" "\"$2\""; |
| 54 | else |
| 55 | printf "%-16s" "\"\"" |
| 56 | fi |
| 57 | if [ "${3}X" != "X" ] ; then |
| 58 | printf "%s" "\"$3\""; |
| 59 | fi |
| 60 | echo |
Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 61 | fi |
| 62 | } |
| 63 | |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 64 | function build_package () |
| 65 | { |
Ulf Samuelsson | 070de4f | 2009-01-25 23:09:12 +0000 | [diff] [blame] | 66 | # echo "BUILD PACKAGE:1=$1 2=$2 3=$3 4=$4 5=$5 6=$6 7=$7" |
| 67 | printf "mk %-32s" "$1" |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 68 | if [ "$2X" == "X" ] ; then # no parameters |
| 69 | clean_files $1 |
| 70 | dirclean $1 |
Ulf Samuelsson | 070de4f | 2009-01-25 23:09:12 +0000 | [diff] [blame] | 71 | process $1 "$3" |
| 72 | elif [ "$2X" == "?X" ] ; then # no parameters |
| 73 | clean_files $1 |
| 74 | dirclean $1 |
| 75 | process $1 "$3" |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 76 | elif [ "$2X" == "OKX" ] ; then # Previous build was OK |
| 77 | clean_files $1 |
| 78 | dirclean $1 |
Ulf Samuelsson | 070de4f | 2009-01-25 23:09:12 +0000 | [diff] [blame] | 79 | process $1 "$3" |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 80 | elif [ "$2X" == "FAILX" ] ; then |
| 81 | clean_files $1 |
| 82 | dirclean $1 |
Ulf Samuelsson | 070de4f | 2009-01-25 23:09:12 +0000 | [diff] [blame] | 83 | process $1 "$3" |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 84 | elif [ "$2X" == "BROKENX" ] ; then |
Ulf Samuelsson | 070de4f | 2009-01-25 23:09:12 +0000 | [diff] [blame] | 85 | printf "%-16s" "BROKEN" |
| 86 | if [ "${3}X" != "X" ] ; then |
| 87 | printf "%s" "\"$3\""; |
| 88 | fi |
| 89 | echo |
| 90 | elif [ "$2X" == "DISABLEDX" ] ; then |
| 91 | printf "%-16s" "DISABLED" |
| 92 | if [ "${3}X" != "X" ] ; then |
| 93 | printf "%s" "\"$3\""; |
| 94 | fi |
| 95 | echo |
| 96 | else |
| 97 | printf "%-16s" "?BROKEN" |
| 98 | if [ "${3}X" != "X" ] ; then |
| 99 | printf "%s" "\"$3\""; |
| 100 | fi |
| 101 | echo |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 102 | fi |
| 103 | } |
| 104 | |
Ulf Samuelsson | 070de4f | 2009-01-25 23:09:12 +0000 | [diff] [blame] | 105 | #build_package $1 $2 "\"$3\"" |
| 106 | build_package $1 $2 "$3" |
Ulf Samuelsson | 20fed85 | 2009-01-15 23:17:38 +0000 | [diff] [blame] | 107 | |
Ulf Samuelsson | a3afd2ce | 2009-01-10 00:26:30 +0000 | [diff] [blame] | 108 | |
| 109 | |