rules.mk: Add targets to check shell syntax #32
2 changed files with 29 additions and 5 deletions
15
make/defs.mk
15
make/defs.mk
|
|
@ -98,6 +98,14 @@ endif
|
|||
ifndef PRISTINE_MAKE
|
||||
PRISTINE_MAKE := umask $(MINIMAL_UMASK) && MAKEFLAGS=$(MINIMAL_MAKEFLAGS) LD_LIBRARY_PATH=$(MINIMAL_LD_LIBRARY_PATH) PATH=$(MINIMAL_PATH) $(MAKE)
|
||||
endif
|
||||
ifndef SHELLCHECK
|
||||
SHELLCHECK := $(shell $(WHICH) shellcheck)
|
||||
endif
|
||||
ifdef SHELLCHECK
|
||||
SHELLCHECK += -f gcc
|
||||
else
|
||||
SHELLCHECK := bash -n
|
||||
endif
|
||||
|
||||
# ----- Function definitions
|
||||
|
||||
|
|
@ -356,17 +364,18 @@ INSTALLED_DOC ?= $(addprefix $(INSTALL_DOCDIR)/,$(DOCS))
|
|||
|
||||
# -- EXE
|
||||
INSTALLATION_FILE_TYPES += EXE
|
||||
EXE_SH += $(filter-out $(DONT_INSTALL),$(wildcard *.sh *.pl *.pm *.py *.bat *.feedfs))
|
||||
EXE_SH += $(wildcard *.sh)
|
||||
EXE_SH += $(patsubst %.sh.tmpl,%.sh,$(filter-out $(DONT_INSTALL),$(wildcard *.sh.tmpl)))
|
||||
EXE_SCRIPTS += $(EXE_SH) $(filter-out $(DONT_INSTALL),$(wildcard *.pl *.pm *.py *.bat *.feedfs))
|
||||
|
||||
#EXE_ALL += $(EXE) $(wildcard *.a *.dll *.so *.so.*)
|
||||
BUILD_EXE_BIN += $(addprefix $(BUILD_EXEDIR)/,$(EXE) $(EXE_SH))
|
||||
BUILD_EXE_BIN += $(addprefix $(BUILD_EXEDIR)/,$(EXE) $(EXE_SCRIPTS))
|
||||
INSTALLED_EXE_BIN += $(addprefix $(INSTALL_EXEDIR)/,$(EXE_BIN))
|
||||
|
||||
BUILD_EXEDIR = $(TOPDIR)/bin
|
||||
INSTALL_EXEDIR ?= $(EXE_PREFIX)/bin
|
||||
BUILD_EXE += $(BUILD_EXE_BIN)
|
||||
INSTALLED_EXE += $(addprefix $(INSTALL_EXEDIR)/,$(EXE) $(EXE_SH)) $(INSTALLED_EXE_BIN)
|
||||
INSTALLED_EXE += $(addprefix $(INSTALL_EXEDIR)/,$(EXE) $(EXE_SCRIPTS)) $(INSTALLED_EXE_BIN)
|
||||
|
||||
# -- CGI
|
||||
INSTALLATION_FILE_TYPES += CGI
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ distclean: clean
|
|||
%.this \
|
||||
allclean \
|
||||
checkroot \
|
||||
check-syntax \
|
||||
collect \
|
||||
coreclean \
|
||||
depclean \
|
||||
|
|
@ -39,6 +40,7 @@ distclean: clean
|
|||
rccclean \
|
||||
remake \
|
||||
runclean \
|
||||
sh-check-syntax \
|
||||
textclean \
|
||||
tmpclean \
|
||||
uicclean \
|
||||
|
|
@ -58,8 +60,6 @@ installexe: all checkroot $(INSTALLED_EXE)
|
|||
|
||||
installso: all checkroot install_dir_LIB $(INSTALLED_SHOBJS)
|
||||
|
||||
installsh: all checkroot $(INSTALL_EXEDIR) $(INSTALLED_EXE_SH)
|
||||
|
||||
pckgclean:
|
||||
$(RM) -rf *.zip *.tar.gz *.rpm *.deb
|
||||
|
||||
|
|
@ -432,4 +432,19 @@ find:
|
|||
collect:
|
||||
bash $(JWB_SCRIPT_DIR)/collect-installed-pkg-changes.sh -t $(TOPDIR)
|
||||
|
||||
check: check-syntax
|
||||
check-syntax: sh-check-syntax
|
||||
sh-check-syntax:
|
||||
|
||||
ifneq ($(strip $(EXE_SH)),)
|
||||
$(info EXE_SH=>$(EXE_SH)<)
|
||||
sh-check-syntax: sh-check-syntax-rule
|
||||
sh-check-syntax-rule: $(EXE_SH)
|
||||
$(SHELLCHECK) $^
|
||||
set -e; for script in $^; do \
|
||||
echo "Checking $$script" ;\
|
||||
$(SHELLCHECK) $$script ;\
|
||||
done
|
||||
endif
|
||||
|
||||
endif # ifndef JW_PKG_RULES_MK_INCLUDED
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue