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
|
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 if [[ ! -z $ARCH ]]; then
60 KERNEL_ARCH="ARCH=$ARCH"
61 fi
62 if [[ ! -z $CROSS_COMPILE ]] ; then
63 KERNEL_CROSS_COMPILE="CROSS_COMPILE=$CROSS_COMPILE"
64 fi
65
66 make $KERNEL_ARCH $KERNEL_CROSS_COMPILE clean
67 find -name \*.c.smatch -exec rm \{\} \;
68 make $KERNEL_ARCH $KERNEL_CROSS_COMPILE -j${NR_CPU} $ENDIAN -k CHECK="$CMD -p=kernel --file-output --succeed $*" \
69 C=1 $BUILD_PARAM $TARGET 2>&1 | tee $LOG
70 BUILD_STATUS=${PIPESTATUS[0]}
71 find -name \*.c.smatch -exec cat \{\} \; -exec rm \{\} \; > $WLOG
72 find -name \*.c.smatch.sql -exec cat \{\} \; -exec rm \{\} \; > $WLOG.sql
73 find -name \*.c.smatch.caller_info -exec cat \{\} \; -exec rm \{\} \; > $WLOG.caller_info
74
75 echo "Done. Build with status $BUILD_STATUS. The warnings are saved to $WLOG"
76 exit $BUILD_STATUS
|