make should now work on clean compilations, right after make defconfig
[avatt.git] / buildroot / scripts / mkpkg
blobaf47f42283fbd9cf08a391a6199b1db5342c011f
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
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
15 mkdir -p ${LOG_DIR}
16 mkdir -p ${LOG_OK_DIR}
17 mkdir -p ${LOG_FAIL_DIR}
18 mkdir -p ${LOG_DIR}/DEPEND
20 test=${OK}
22 function clean_files()
24 rm -f ${LOG}
25 rm -f ${LOG_OK_FILE}
26 rm -f ${LOG_FAIL_FILE}
27 rm -f ${DEPENDENCY}
30 function dirclean ()
32 make $1-dirclean > /dev/null 2>&1
35 function process ()
37 make $1 >> ${LOG} 2>&1 || test=${FAIL}
38 grep "\.tar\." ${LOG} > ${DEPENDENCY}
39 if [ ${test} == ${OK} ] ; then
40 mv ${LOG} ${LOG_OK_FILE}
41 printf "%-16s" "OK"
42 if [ "${2}X" != "X" ] ; then
43 printf "%-16s" "\"$2\"";
45 if [ "${3}X" != "X" ] ; then
46 printf "%s" "\"$3\"";
48 echo
49 else
50 mv ${LOG} ${LOG_FAIL_FILE}
51 printf "%-16s" "FAIL"
52 if [ "${2}X" != "X" ] ; then
53 printf "%-16s" "\"$2\"";
54 else
55 printf "%-16s" "\"\""
57 if [ "${3}X" != "X" ] ; then
58 printf "%s" "\"$3\"";
60 echo
64 function build_package ()
66 # echo "BUILD PACKAGE:1=$1 2=$2 3=$3 4=$4 5=$5 6=$6 7=$7"
67 printf "mk %-32s" "$1"
68 if [ "$2X" == "X" ] ; then # no parameters
69 clean_files $1
70 dirclean $1
71 process $1 "$3"
72 elif [ "$2X" == "?X" ] ; then # no parameters
73 clean_files $1
74 dirclean $1
75 process $1 "$3"
76 elif [ "$2X" == "OKX" ] ; then # Previous build was OK
77 clean_files $1
78 dirclean $1
79 process $1 "$3"
80 elif [ "$2X" == "FAILX" ] ; then
81 clean_files $1
82 dirclean $1
83 process $1 "$3"
84 elif [ "$2X" == "BROKENX" ] ; then
85 printf "%-16s" "BROKEN"
86 if [ "${3}X" != "X" ] ; then
87 printf "%s" "\"$3\"";
89 echo
90 elif [ "$2X" == "DISABLEDX" ] ; then
91 printf "%-16s" "DISABLED"
92 if [ "${3}X" != "X" ] ; then
93 printf "%s" "\"$3\"";
95 echo
96 else
97 printf "%-16s" "?BROKEN"
98 if [ "${3}X" != "X" ] ; then
99 printf "%s" "\"$3\"";
101 echo
105 #build_package $1 $2 "\"$3\""
106 build_package $1 $2 "$3"