aboutgitcodebugslistschat
path: root/Makefile
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2024-02-27 17:02:27 +0100
committerStefano Brivio <sbrivio@redhat.com>2024-02-28 18:57:30 +0100
commit925af4ef821955adf66478a4d1ea6327316b107d (patch)
tree63bbde135e8d8222ac224691ade78369db98b3f0 /Makefile
parent15001b39ef1d41c0535ef0d2384e074c6f85cefd (diff)
downloadpasst-925af4ef821955adf66478a4d1ea6327316b107d.tar
passt-925af4ef821955adf66478a4d1ea6327316b107d.tar.gz
passt-925af4ef821955adf66478a4d1ea6327316b107d.tar.bz2
passt-925af4ef821955adf66478a4d1ea6327316b107d.tar.lz
passt-925af4ef821955adf66478a4d1ea6327316b107d.tar.xz
passt-925af4ef821955adf66478a4d1ea6327316b107d.tar.zst
passt-925af4ef821955adf66478a4d1ea6327316b107d.zip
Makefile: check for cppcheck's --check-level option in cppcheck target
Don't run cppcheck to find out if the --check-level=exhaustive option is available, unless we're actually going to run cppcheck later. To avoid this, move this check under the cppcheck target, and implement it in shell script instead of using Makefile directives, because we can't easily implement conditionals in recipes. Reported-by: Rahil Bhimjiani <me@rahil.website> Link: https://bugs.gentoo.org/920795 Fixes: 8640d62af719 ("cppcheck: Use "exhaustive" level checking when available") Signed-off-by: Stefano Brivio <sbrivio@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile12
1 files changed, 6 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index af4fa87..75f49dc 100644
--- a/Makefile
+++ b/Makefile
@@ -287,20 +287,20 @@ clang-tidy: $(SRCS) $(HEADERS)
-config='{CheckOptions: [{key: bugprone-suspicious-string-compare.WarnOnImplicitComparison, value: "false"}]}' \
--warnings-as-errors=* $(SRCS) -- $(filter-out -pie,$(FLAGS) $(CFLAGS) $(CPPFLAGS)) -DCLANG_TIDY_58992
-CPPCHECK_EXHAUSTIVE :=
-ifeq ($(shell cppcheck --check-level=exhaustive /dev/null > /dev/null 2>&1; echo $$?),0)
- CPPCHECK_EXHAUSTIVE += --check-level=exhaustive
-endif
-
SYSTEM_INCLUDES := /usr/include $(wildcard /usr/include/$(TARGET))
ifeq ($(shell $(CC) -v 2>&1 | grep -c "gcc version"),1)
VER := $(shell $(CC) -dumpversion)
SYSTEM_INCLUDES += /usr/lib/gcc/$(TARGET)/$(VER)/include
endif
cppcheck: $(SRCS) $(HEADERS)
+ if cppcheck --check-level=exhaustive /dev/null > /dev/null 2>&1; then \
+ CPPCHECK_EXHAUSTIVE="--check-level=exhaustive"; \
+ else \
+ CPPCHECK_EXHAUSTIVE=; \
+ fi; \
cppcheck --std=c11 --error-exitcode=1 --enable=all --force \
--inconclusive --library=posix --quiet \
- $(CPPCHECK_EXHAUSTIVE) \
+ $${CPPCHECK_EXHAUSTIVE} \
$(SYSTEM_INCLUDES:%=-I%) \
$(SYSTEM_INCLUDES:%=--config-exclude=%) \
$(SYSTEM_INCLUDES:%=--suppress=*:%/*) \