#!/bin/sh file= usage_message="Usage: check [OPTIONS] OPTIONS: --file= Specify file to check. If none specified, all files in src/ and include/ will be checked. " run_checkpatch() { nice scripts/checkpatch.pl --terse --no-tree --strict --file "$1" return $? } run_checks () { if [ ! -z "$file" ]; then run_checkpatch "${file}" return $? fi find src/ include/ clients/ \( -name "*.c" -o -name "*.h" \) -type f -print0 | nice xargs -0 --max-args 1 --max-procs $(nproc) \ scripts/checkpatch.pl --terse --no-tree --strict --file return $? } main () { for arg do opt=${arg%%=*} var=${arg#*=} case "$opt" in --file) file="$var" ;; -h|--help) printf '%b' "$usage_message"; exit 1 ;; *) printf '%b\n' "warn: unknown option $opt" >&2 ;; esac done run_checks } main "$@"