aboutsummaryrefslogtreecommitdiffstats
path: root/config/Shellcheck.am
diff options
context:
space:
mode:
authorнаб <[email protected]>2021-05-21 23:43:38 +0200
committerBrian Behlendorf <[email protected]>2021-06-09 13:05:34 -0700
commit132240507d0ab2999e764537b181e89ecc3c2b0e (patch)
tree3450e3a8132bbdc611944445146f259e541a0261 /config/Shellcheck.am
parentd6f8f41c21b42a1b5a36850c0f7b18be9a05ecd9 (diff)
Turn shellcheck into a normal make target. Fix new files it caught
This checks every file it checked (and a few more), but explicitly instead of "if it works it works" best-effort (which wasn't that good anyway) Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Ahelenia Ziemiańska <[email protected]> Closes #10512 Closes #12101
Diffstat (limited to 'config/Shellcheck.am')
-rw-r--r--config/Shellcheck.am8
1 files changed, 8 insertions, 0 deletions
diff --git a/config/Shellcheck.am b/config/Shellcheck.am
new file mode 100644
index 000000000..a22333ac4
--- /dev/null
+++ b/config/Shellcheck.am
@@ -0,0 +1,8 @@
+.PHONY: shellcheck
+shellcheck: $(SCRIPTS) $(SHELLCHECKSCRIPTS)
+if HAVE_SHELLCHECK
+ [ -z "$(SCRIPTS)$(SHELLCHECKSCRIPTS)" ] && exit; shellcheck $$([ -n "$(SHELLCHECK_SHELL)" ] && echo "--shell=$(SHELLCHECK_SHELL)") --exclude=SC1090,SC1091$(SHELLCHECK_IGNORE) --format=gcc $(SCRIPTS) $(SHELLCHECKSCRIPTS)
+else
+ @[ -z "$(SCRIPTS)$(SHELLCHECKSCRIPTS)" ] && exit; echo "skipping shellcheck of" $(SCRIPTS) $(SHELLCHECKSCRIPTS) "because shellcheck is not installed"
+endif
+ @set -e; for dir in $(SHELLCHECKDIRS); do $(MAKE) -C $$dir shellcheck; done