--smatch check with smatch;
--cppcheck check with cppcheck;
--coccinelle check with coccinelle (spatch);
+ --check-only=FILE check only files listed in FILE;
-h, --help show this text and exit.
EOF
}
}
set_cleanup_handler cleanup_handler
-TEMP=`getopt -n $PROG -o h --long sparse,smatch,cppcheck,coccinelle,help -- "$@"` ||
+TEMP=`getopt -n $PROG -o h --long sparse,smatch,cppcheck,coccinelle,check-only:,help -- "$@"` ||
fail_usage ""
eval set -- "$TEMP"
run_smatch=
run_cppcheck=
run_coccinelle=
+check_only=
while true; do
case "$1" in
run_coccinelle=1
program_required "spatch" "Usually Linux distribution provide a 'spatch' or 'coccinelle' package"
;;
+ --check-only)
+ check_only="$(opt_check_read "$1" "$2")"
+ shift
+ ;;
-h|--help)
show_usage
exit 0
exit 0
fi
+if [ -n "$check_only" ]; then
+ match=
+ files="$(cat "$check_only")"
+ for file in $files; do
+ match="$(printf "%s" "$@" | sed -n "/$(quote_sed_regexp "$file")/p")"
+ [ -z "$match" ] || break
+ done
+
+ [ -n "$match" ] || exit 0
+fi
+
# Run all the tools in background
if [ -n "$run_sparse" ]; then
--smatch check with smatch while building;
--cppcheck check with cppcheck while building;
--coccinelle check with coccinelle (spatch) while building;
+ --check-only=FILE check only files listed in FILE;
-M, --kmake-opts additional options to append to the final kernel
compilation 'make' command
(e.g., W=2 KALLSYMS_EXTRA_PASS=1)
aiaiai-locker $split -l "$lockfile" -c \
"make $keep_going -j $jobs -C $kernel_tree ${arch:+ARCH="$arch"} \
${cross:+CROSS_COMPILE="$cross"} ${objdir:+O="$objdir"} \
- CHECK=\"aiaiai-checker $sparse $smatch $cppcheck $coccinelle --\" \
+ CHECK=\"aiaiai-checker $sparse $smatch $cppcheck $coccinelle $check_only --\" \
KCFLAGS='-Wno-missing-field-initializers -Wno-sign-compare' \
C=$check ${check:+CF="-D__CHECK_ENDIAN__"} W=1 SHELL=\"aiaiai-locker $split -l $lockfile\" \
$kmake_opts $target"
}
set_cleanup_handler cleanup_handler
-TEMP=`getopt -n $PROG -o o:,D:,j:,O:,E:,k:,a:,M:,v,h --long objdir:,defconfig:,jobs:,stdout:,stderr:,keep-going,arch:,sparse,smatch,cppcheck,coccinelle,kmake-opts:,verbose,help -- "$@"` ||
+TEMP=`getopt -n $PROG -o o:,D:,j:,O:,E:,k:,a:,M:,v,h --long objdir:,defconfig:,jobs:,stdout:,stderr:,keep-going,arch:,sparse,smatch,cppcheck,coccinelle,check-only:,kmake-opts:,verbose,help -- "$@"` ||
fail_usage ""
eval set -- "$TEMP"
smatch=
cppcheck=
coccinelle=
+check_only=
check=0
kmake_opts=
verbose=
coccinelle="--coccinelle"
check=1
;;
+ --check-only)
+ check_only="--check-only $(opt_check_read "$1" "$2")"
+ shift
+ ;;
-M|--kmake-opts)
kmake_opts="$2"
shift