blob: b1a083b9a743ba6ee98062b8a4441052822e377d [file] [log] [blame]
Joey Armstrong0205d332023-04-11 17:29:23 -04001# -*- makefile -*-
2# -----------------------------------------------------------------------
3# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16# -----------------------------------------------------------------------
17
18##-------------------##
19##---] GLOBALS [---##
20##-------------------##
21
22# Gather sources to check
23# TODO: implement deps, only check modified files
24shell-check-find := find .
25# vendor scripts but they really should be lintable
26shell-check-find += -name 'vendor' -prune
27shell-check-find += -o \( -name '*.sh' \)
28shell-check-find += -type f -print0
29
Joey Armstrongf548adc2023-09-08 15:59:42 -040030# shell-check := $(env-clean) pylint
31shell-check := shellcheck
Joey Armstrong0205d332023-04-11 17:29:23 -040032
Joey Armstrongf548adc2023-09-08 15:59:42 -040033shell-check-args += -a
Joey Armstrong0205d332023-04-11 17:29:23 -040034
35##-------------------##
36##---] TARGETS [---##
37##-------------------##
38ifndef NO-LINT-SHELL
39 lint : lint-shell
40endif
41
42## -----------------------------------------------------------------------
43## Intent: Perform a lint check on command line script sources
44## -----------------------------------------------------------------------
45lint-shell:
46 $(shell-check) -V
47 @echo
48 $(HIDE)$(env-clean) $(shell-check-find) \
49 | $(xargs-n1) $(shell-check) $(shell-check-args)
50
51## -----------------------------------------------------------------------
52## Intent: Display command help
53## -----------------------------------------------------------------------
54help-summary ::
55 @echo ' lint-shell Syntax check shell sources'
56
Joey Armstrong0205d332023-04-11 17:29:23 -040057# [EOF]