EXTRA_CLANG-TIDYFLAGS :=
CLANG-TIDYFLAGS := $(DEFAULT_CLANG-TIDYFLAGS) $(EXTRA_CLANG-TIDYFLAGS)
+DEFAULT_CPPLINTFLAGS :=
+EXTRA_CPPLINTFLAGS :=
+CPPLINTFLAGS := $(DEFAULT_CPPLINTFLAGS) $(EXTRA_CPPLINTFLAGS)
+
DEFAULT_IWYUFLAGS := -Xiwyu --no_fwd_decls
DEFAULT_IWYUFLAGS += -Xiwyu --error
EXTRA_IWYUFLAGS :=
RM := rm
RMDIR := rmdir --ignore-fail-on-non-empty
CLANG-TIDY := clang-tidy
+CPPLINT := cpplint
IWYU := iwyu
CC := cc
LD := $(CC) $(CFLAGS)
_UNITS_o := $(patsubst %.c,%.o,$(_UNITS_c))
_UNITS_bin := $(patsubst %.c,%,$(_UNITS_c))
_LINT_clang-tidy := $(patsubst %.c,%.lint.clang-tidy.touch,$(_UNITS_c))
+_LINT_cpplint := $(patsubst %.c,%.lint.cpplint.touch,$(_UNITS_c))
_LINT_iwyu := $(patsubst %.c,%.lint.iwyu.touch,$(_UNITS_c))
MANDIRS := $(sort $(shell find $(MANDIR)/man? -type d))
########################################################################
# lint
-linters := clang-tidy iwyu groff mandoc
+linters := clang-tidy cpplint iwyu groff mandoc
lint := $(foreach x,$(linters),lint-$(x))
$(_LINT_clang-tidy): %.lint.clang-tidy.touch: %.c
| sed '/generated\.$$/d'
touch $@
+$(_LINT_cpplint): %.lint.cpplint.touch: %.c
+ $(info LINT (cpplint) $@)
+ $(CPPLINT) $(CPPLINTFLAGS) $< >/dev/null
+ touch $@
+
$(_LINT_iwyu): %.lint.iwyu.touch: %.c
$(info LINT (iwyu) $@)
$(IWYU) $(IWYUFLAGS) $(CPPFLAGS) $(CFLAGS) $< 2>&1 \
--- /dev/null
+filter=-build/include_subdir,-legal/copyright,-readability/alt_tokens,-readability/casting,-readability/multiline_comment,-runtime/int,-runtime/threadsafe_fn,-whitespace/blank_line,-whitespace/braces
+