parent
8f8f347891
commit
41b4c5b645
File diff suppressed because one or more lines are too long
@ -0,0 +1,84 @@ |
|||||||
|
# |
||||||
|
# LUFA Library |
||||||
|
# Copyright (C) Dean Camera, 2012. |
||||||
|
# |
||||||
|
# dean [at] fourwalledcubicle [dot] com |
||||||
|
# www.lufa-lib.org |
||||||
|
# |
||||||
|
|
||||||
|
LUFA_BUILD_MODULES += CPPCHECK |
||||||
|
LUFA_BUILD_TARGETS += cppcheck cppcheck-config |
||||||
|
LUFA_BUILD_MANDATORY_VARS += |
||||||
|
LUFA_BUILD_OPTIONAL_VARS += CPPCHECK_PATH CPPCHECK_INCLUDES CPPCHECK_EXCLUDES CPPCHECK_MSG_TEMPLATE \ |
||||||
|
CPPCHECK_ENABLE CPPCHECK_SUPPRESS CPPCHECK_FAIL_ON_WARNING CPPCHECK_QUIET |
||||||
|
|
||||||
|
# ----------------------------------------------------------------------------- |
||||||
|
# LUFA CPPCheck Buildsystem Makefile Module. |
||||||
|
# ----------------------------------------------------------------------------- |
||||||
|
# DESCRIPTION: |
||||||
|
# Provides a set of targets to scan a project with the free "cppcheck" static |
||||||
|
# analysis tool, to check for code errors at runtime (see http://cppcheck.sourceforge.net). |
||||||
|
# ----------------------------------------------------------------------------- |
||||||
|
# TARGETS: |
||||||
|
# |
||||||
|
# cppcheck - Scan the project with CPPCheck |
||||||
|
# cppcheck-config - Use CPPCheck to look for missing include files |
||||||
|
# |
||||||
|
# MANDATORY PARAMETERS: |
||||||
|
# |
||||||
|
# (None) |
||||||
|
# |
||||||
|
# OPTIONAL PARAMETERS: |
||||||
|
# |
||||||
|
# CPPCHECK_PATH - Path of the files to statically analyze |
||||||
|
# CPPCHECK_INCLUDES - Extra include paths to search for missing |
||||||
|
# header files |
||||||
|
# CPPCHECK_EXCLUDES - Source file paths to exclude checking (can be |
||||||
|
# a path fragment if desired) |
||||||
|
# CPPCHECK_MSG_TEMPLATE - Template for cppcheck error and warning output |
||||||
|
# CPPCHECK_ENABLE - General cppcheck category checks to enable |
||||||
|
# CPPCHECK_SUPPRESS - Specific cppcheck warnings to disable by ID |
||||||
|
# CPPCHECK_FAIL_ON_WARNING - Set to Y to fail the build on cppcheck |
||||||
|
# warnings, N to continue even if warnings occur |
||||||
|
# CPPCHECK_QUIET - Enable cppcheck verbose or quiet output mode |
||||||
|
# |
||||||
|
# ----------------------------------------------------------------------------- |
||||||
|
|
||||||
|
# Default values of optionally user-supplied variables |
||||||
|
CPPCHECK_PATH ?= . |
||||||
|
CPPCHECK_INCLUDES ?= |
||||||
|
CPPCHECK_EXCLUDES ?= |
||||||
|
CPPCHECK_MSG_TEMPLATE ?= {file}:{line}: {severity} ({id}): {message} |
||||||
|
CPPCHECK_ENABLE ?= all |
||||||
|
CPPCHECK_SUPPRESS ?= variableScope missingInclude |
||||||
|
CPPCHECK_FAIL_ON_WARNING ?= Y |
||||||
|
CPPCHECK_QUIET ?= Y |
||||||
|
|
||||||
|
# Build a default argument list for cppcheck |
||||||
|
CPPCHECK_OPTIONS := --template="$(CPPCHECK_MSG_TEMPLATE)" $(CPPCHECK_INCLUDES:%=-I%) $(CPPCHECK_EXCLUDES:%=-i%) --inline-suppr --force --std=c99 |
||||||
|
|
||||||
|
# Sanity check parameters and construct additional command line arguments to cppcheck |
||||||
|
ifeq ($(CPPCHECK_PATH),) |
||||||
|
$(error Makefile CPPCHECK_PATH option cannot be blank) |
||||||
|
endif |
||||||
|
ifeq ($(CPPCHECK_FAIL_ON_WARNING), Y) |
||||||
|
CPPCHECK_OPTIONS += --error-exitcode=1 |
||||||
|
else ifneq ($(CPPCHECK_FAIL_ON_WARNING), N) |
||||||
|
$(error CPPCHECK_FAIL_ON_WARNING must be Y or N) |
||||||
|
endif |
||||||
|
ifeq ($(CPPCHECK_QUIET), Y) |
||||||
|
CPPCHECK_OPTIONS += --quiet |
||||||
|
else ifneq ($(CPPCHECK_QUIET), N) |
||||||
|
$(error CPPCHECK_QUIET must be Y or N) |
||||||
|
endif |
||||||
|
|
||||||
|
# Output Messages |
||||||
|
MSG_CPPCHECK_CMD := ' [CPPCHECK]:' |
||||||
|
|
||||||
|
cppcheck-config: |
||||||
|
@echo $(MSG_CPPCHECK_CMD) Checking cppcheck configuration for path \"$(CPPCHECK_PATH)\" |
||||||
|
cppcheck $(CPPCHECK_OPTIONS) --check-config $(CPPCHECK_PATH) |
||||||
|
|
||||||
|
cppcheck: |
||||||
|
@echo $(MSG_CPPCHECK_CMD) Performing cppcheck analysis on path \"$(CPPCHECK_PATH)\" |
||||||
|
cppcheck $(CPPCHECK_OPTIONS) --enable=$(CPPCHECK_ENABLE) $(CPPCHECK_SUPPRESS:%=--suppress=%) $(CPPCHECK_PATH) |
Loading…
Reference in new issue