If the command "shellcheck" exists, then find all shell scripts and
run shellcheck on them.
* Use 'gcc' format with shellcheck.
* Exclude zfs-script-config.sh (which isn't really a script).
Signed-off-by: Turbo Fredriksson <turbo@bayour.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3428
sed -i 's/Release:[[:print:]]*/Release: $(RELEASE)/' \
$(distdir)/META
-checkstyle:
+checkstyle: cstyle shellcheck
+
+cstyle:
@find ${top_srcdir} -name '*.[hc]' ! -name 'zfs_config.*' \
! -name '*.mod.c' -type f -exec scripts/cstyle.pl {} \+
+shellcheck:
+ @if type shellcheck > /dev/null 2>&1; then \
+ (find ${top_srcdir} -type f -name '*.sh.in' -o -type f \
+ -name '*.sh'; find etc/init.d/zfs*.in -type f) | \
+ grep -v 'zfs-script-config' | \
+ while read file; do \
+ shellcheck --format gcc "$$file"; \
+ done; \
+ fi
+
ctags:
$(RM) $(top_srcdir)/tags
find $(top_srcdir) -name .git -prune -o -name '*.[hc]' | xargs ctags