xref: /src/sys/contrib/openzfs/config/CppCheck.am (revision 8a62a2a5659d1839d8799b4274c04469d7f17c78)
1# SPDX-License-Identifier: CDDL-1.0
2#
3# cppcheck for userspace – nodist_*_SOURCES are kernel code and cppcheck goes crazy on them.
4#
5
6PHONY += cppcheck
7
8CPPCHECKFLAGS  = --std=c99 --quiet --max-configs=1 --error-exitcode=2
9CPPCHECKFLAGS += --inline-suppr -U_KERNEL
10
11CPPCHECKDIRS    =
12CPPCHECKTARGETS =
13
14cppcheck-recursive-%:
15	$(MAKE) -C $(subst cppcheck-recursive-,,$@) cppcheck
16
17_CTGT = $(subst cppcheck-for-,,$@)
18cppcheck-for-%:
19	@[ -n "$($(_CTGT)_SOURCES)$(dist_$(_CTGT)_SOURCES)" ]
20	$(CPPCHECK) -j$(CPU_COUNT) $(CPPCHECKFLAGS) $(patsubst -U%,,$(patsubst -D%,,$(filter-out $(AM_CPPFLAGS_NOCHECK),$(or $($(_CTGT)_CPPFLAGS),$(AM_CPPFLAGS))))) $($(_CTGT)_SOURCES) $(dist_$(_CTGT)_SOURCES)
21
22cppcheck: $(addprefix cppcheck-for-,$(subst -,_,$(subst .,_,$(subst /,_,$(CPPCHECKTARGETS))))) $(addprefix cppcheck-recursive-,$(CPPCHECKDIRS))
23