24 shift
25 elif [[ "$1" == "--target" ]] ; then
26 shift
27 TARGET="$1"
28 shift
29 elif [[ "$1" == "--log" ]] ; then
30 shift
31 LOG="$1"
32 shift
33 elif [[ "$1" == "--wlog" ]] ; then
34 shift
35 WLOG="$1"
36 shift
37 elif [[ "$1" == "--help" ]] ; then
38 usage
39 else
40 break
41 fi
42 done
43
44 SCRIPT_DIR=$(dirname $0)
45 if [ -e $SCRIPT_DIR/../smatch ] ; then
46 cp $SCRIPT_DIR/../smatch $SCRIPT_DIR/../bak.smatch
47 CMD=$SCRIPT_DIR/../bak.smatch
48 elif which smatch | grep smatch > /dev/null ; then
49 CMD=smatch
50 else
51 echo "Smatch binary not found."
52 exit 1
53 fi
54
55 make clean
56 find -name \*.c.smatch -exec rm \{\} \;
57 make -j${NR_CPU} $ENDIAN -k CHECK="$CMD -p=kernel --file-output --succeed $*" \
58 C=1 $TARGET 2>&1 | tee $LOG
59 find -name \*.c.smatch -exec cat \{\} \; -exec rm \{\} \; > $WLOG
60 find -name \*.c.smatch.sql -exec cat \{\} \; -exec rm \{\} \; > $WLOG.sql
61 find -name \*.c.smatch.caller_info -exec cat \{\} \; -exec rm \{\} \; > $WLOG.caller_info
62
63 echo "Done. The warnings are saved to $WLOG"
|
24 shift
25 elif [[ "$1" == "--target" ]] ; then
26 shift
27 TARGET="$1"
28 shift
29 elif [[ "$1" == "--log" ]] ; then
30 shift
31 LOG="$1"
32 shift
33 elif [[ "$1" == "--wlog" ]] ; then
34 shift
35 WLOG="$1"
36 shift
37 elif [[ "$1" == "--help" ]] ; then
38 usage
39 else
40 break
41 fi
42 done
43
44 # receive parameters from environment, which override
45 [ -z "${SMATCH_ENV_TARGET:-}" ] || TARGET="$SMATCH_ENV_TARGET"
46 [ -z "${SMATCH_ENV_BUILD_PARAM:-}" ] || BUILD_PARAM="$SMATCH_ENV_BUILD_PARAM"
47
48 SCRIPT_DIR=$(dirname $0)
49 if [ -e $SCRIPT_DIR/../smatch ] ; then
50 cp $SCRIPT_DIR/../smatch $SCRIPT_DIR/../bak.smatch
51 CMD=$SCRIPT_DIR/../bak.smatch
52 elif which smatch | grep smatch > /dev/null ; then
53 CMD=smatch
54 else
55 echo "Smatch binary not found."
56 exit 1
57 fi
58
59 make clean
60 find -name \*.c.smatch -exec rm \{\} \;
61 make -j${NR_CPU} $ENDIAN -k CHECK="$CMD -p=kernel --file-output --succeed $*" \
62 C=1 $BUILD_PARAM $TARGET 2>&1 | tee $LOG
63 BUILD_STATUS=${PIPESTATUS[0]}
64 find -name \*.c.smatch -exec cat \{\} \; -exec rm \{\} \; > $WLOG
65 find -name \*.c.smatch.sql -exec cat \{\} \; -exec rm \{\} \; > $WLOG.sql
66 find -name \*.c.smatch.caller_info -exec cat \{\} \; -exec rm \{\} \; > $WLOG.caller_info
67
68 echo "Done. Build with status $BUILD_STATUS. The warnings are saved to $WLOG"
69 exit $BUILD_STATUS
|