| # -*- makefile -*- |
| # ----------------------------------------------------------------------- |
| # Copyright 2022 Open Networking Foundation (ONF) and the ONF Contributors |
| # ----------------------------------------------------------------------- |
| |
| ##-------------------## |
| ##---] GLOBALS [---## |
| ##-------------------## |
| xargs-n1-local := $(subst -t,$(null),$(xargs-n1))# inhibit cmd display |
| |
| # Gather sources to check |
| # TODO: implement deps, only check modified files |
| make-check-find := find . -name 'vendor' -prune |
| make-check-find += -o \( -iname makefile -o -name '*.mk' \) |
| make-check-find += -type f -print0 |
| |
| make-check := $(MAKE) |
| |
| make-check-args += --dry-run |
| make-check-args += --keep-going |
| make-check-args += --warn-undefined-variables |
| make-check-args += --no-print-directory |
| |
| # Quiet internal undef vars |
| make-check-args += DEBUG= |
| |
| ##-------------------## |
| ##---] TARGETS [---## |
| ##-------------------## |
| ifndef NO-LINT-MAKEFILE |
| lint : lint-make |
| endif |
| |
| ## ----------------------------------------------------------------------- |
| ## ----------------------------------------------------------------------- |
| lint-make: |
| $(HIDE)$(env-clean) $(make-check-find) \ |
| | $(xargs-n1-local) $(make-check) $(make-check-args) |
| |
| ## ----------------------------------------------------------------------- |
| ## ----------------------------------------------------------------------- |
| help :: |
| @echo ' lint-make Syntax check [Mm]akefile and *.mk' |
| |
| # [EOF] |