shell.mk 613 B

1234567891011121314151617
  1. SHELL_FILES_ALL := $(shell find -type f -perm /a+x | grep -vE "/(\.git|debian/.*)/" \
  2. | xargs grep -lI '^\#!/bin/.*sh')
  3. SHELL_FILES_DASH = $(shell echo "$(SHELL_FILES_ALL)" | xargs grep -l '^\#!/bin/sh$$')
  4. SHELL_FILES_BASH = $(shell echo "$(SHELL_FILES_ALL)" | xargs grep -l '^\#!/bin/bash$$')
  5. # we allow external scripts to be sourced
  6. SHELLCHECK_CALL = shellcheck -x
  7. .PHONY: test
  8. test: test-shell
  9. .PHONY: test-shell
  10. test-shell:
  11. @if [ -n "$(SHELL_FILES_BASH)" ]; then $(SHELLCHECK_CALL) $(SHELL_FILES_BASH); fi
  12. @if [ -n "$(SHELL_FILES_DASH)" ]; then $(SHELLCHECK_CALL) --shell dash $(SHELL_FILES_DASH); fi