blob: af47f42283fbd9cf08a391a6199b1db5342c011f [file] [log] [blame]
Ulf Samuelssona3afd2ce2009-01-10 00:26:30 +00001#!/bin/bash
2OK=0
3FAIL=1
4TOPDIR=`pwd`
5LOG_FILE=$1.log
6LOG_DIR=${TOPDIR}/log/
7LOG=${LOG_DIR}/${LOG_FILE}
8DEPENDENCY=${LOG_DIR}/DEPEND/$1.depend.txt
9
10LOG_OK_DIR=${LOG_DIR}/OK
11LOG_FAIL_DIR=${LOG_DIR}/FAIL
12LOG_OK_FILE=${LOG_OK_DIR}/${LOG_FILE}.OK
13LOG_FAIL_FILE=${LOG_FAIL_DIR}/${LOG_FILE}.FAIL
14
15mkdir -p ${LOG_DIR}
16mkdir -p ${LOG_OK_DIR}
17mkdir -p ${LOG_FAIL_DIR}
18mkdir -p ${LOG_DIR}/DEPEND
19
20test=${OK}
21
Ulf Samuelsson20fed852009-01-15 23:17:38 +000022function clean_files()
Ulf Samuelssona3afd2ce2009-01-10 00:26:30 +000023{
Ulf Samuelsson6b054c32009-01-11 20:37:04 +000024 rm -f ${LOG}
25 rm -f ${LOG_OK_FILE}
26 rm -f ${LOG_FAIL_FILE}
Ulf Samuelssona3afd2ce2009-01-10 00:26:30 +000027 rm -f ${DEPENDENCY}
Ulf Samuelsson20fed852009-01-15 23:17:38 +000028}
Ulf Samuelssona3afd2ce2009-01-10 00:26:30 +000029
Ulf Samuelsson20fed852009-01-15 23:17:38 +000030function dirclean ()
31{
Ulf Samuelssona3afd2ce2009-01-10 00:26:30 +000032 make $1-dirclean > /dev/null 2>&1
Ulf Samuelsson20fed852009-01-15 23:17:38 +000033}
Ulf Samuelssona3afd2ce2009-01-10 00:26:30 +000034
Ulf Samuelsson20fed852009-01-15 23:17:38 +000035function process ()
36{
Ulf Samuelssona3afd2ce2009-01-10 00:26:30 +000037 make $1 >> ${LOG} 2>&1 || test=${FAIL}
38 grep "\.tar\." ${LOG} > ${DEPENDENCY}
39 if [ ${test} == ${OK} ] ; then
40 mv ${LOG} ${LOG_OK_FILE}
Ulf Samuelsson070de4f2009-01-25 23:09:12 +000041 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 Samuelssona3afd2ce2009-01-10 00:26:30 +000049 else
50 mv ${LOG} ${LOG_FAIL_FILE}
Ulf Samuelsson070de4f2009-01-25 23:09:12 +000051 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 Samuelssona3afd2ce2009-01-10 00:26:30 +000061 fi
62}
63
Ulf Samuelsson20fed852009-01-15 23:17:38 +000064function build_package ()
65{
Ulf Samuelsson070de4f2009-01-25 23:09:12 +000066 # echo "BUILD PACKAGE:1=$1 2=$2 3=$3 4=$4 5=$5 6=$6 7=$7"
67 printf "mk %-32s" "$1"
Ulf Samuelsson20fed852009-01-15 23:17:38 +000068 if [ "$2X" == "X" ] ; then # no parameters
69 clean_files $1
70 dirclean $1
Ulf Samuelsson070de4f2009-01-25 23:09:12 +000071 process $1 "$3"
72 elif [ "$2X" == "?X" ] ; then # no parameters
73 clean_files $1
74 dirclean $1
75 process $1 "$3"
Ulf Samuelsson20fed852009-01-15 23:17:38 +000076 elif [ "$2X" == "OKX" ] ; then # Previous build was OK
77 clean_files $1
78 dirclean $1
Ulf Samuelsson070de4f2009-01-25 23:09:12 +000079 process $1 "$3"
Ulf Samuelsson20fed852009-01-15 23:17:38 +000080 elif [ "$2X" == "FAILX" ] ; then
81 clean_files $1
82 dirclean $1
Ulf Samuelsson070de4f2009-01-25 23:09:12 +000083 process $1 "$3"
Ulf Samuelsson20fed852009-01-15 23:17:38 +000084 elif [ "$2X" == "BROKENX" ] ; then
Ulf Samuelsson070de4f2009-01-25 23:09:12 +000085 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 Samuelsson20fed852009-01-15 23:17:38 +0000102 fi
103}
104
Ulf Samuelsson070de4f2009-01-25 23:09:12 +0000105#build_package $1 $2 "\"$3\""
106build_package $1 $2 "$3"
Ulf Samuelsson20fed852009-01-15 23:17:38 +0000107
Ulf Samuelssona3afd2ce2009-01-10 00:26:30 +0000108
109