@ -8,30 +8,16 @@
# Static anlysis of the entire LUFA source tree, using the free cross-platform "cppcheck" tool.
# Path to the root of the LUFA tree to scan
LUFA_ROOT_PATH = ../..
LUFA_ROOT_PATH = ../..
# Filenames or directories (including fragments) to exclude from the analysis
EXCLUDE_LIST = FATFs/ \
CPPCHECK_EXCLUDES = FATFs/ \
PetiteFATFs/ \
uip/
CPPCHECK_INCLUDES = $( LUFA_ROOT_PATH) /LUFA/CodeTemplates/ \
$( LUFA_ROOT_PATH) /Projects/AVRISP-MKII/
CPPCHECK_PATH = $( LUFA_ROOT_PATH)
# Output message template for found warnings and errors
MESSAGE_TEMPLATE = "{file}:{line}: {severity} ({id}): {message}"
# Checks to suppress so that generated warnings are discarded
SUPPRESS_WARNINGS = variableScope \
missingInclude
# Extra paths to search for include files
INCLUDE_PATHS = $( LUFA_ROOT_PATH) /LUFA/CodeTemplates/ \
$( LUFA_ROOT_PATH) /Projects/AVRISP-MKII/
# Configuration options to pass to cppcheck
CPPCHECK_OPTIONS = --template= $( MESSAGE_TEMPLATE) $( INCLUDE_PATHS:%= -I%) $( EXCLUDE_LIST:%= -i%) --inline-suppr --force --error-exitcode= 1 --std= c99
all : begin staticcheck end
all : begin cppcheck -config cppcheck end
begin :
@echo Executing build test "StaticAnalysisTest" .
@ -41,9 +27,10 @@ end:
@echo Build test "StaticAnalysisTest" complete.
@echo
staticcheck :
cppcheck --quiet $( CPPCHECK_OPTIONS) --check-config $( LUFA_ROOT_PATH)
cppcheck --quiet $( CPPCHECK_OPTIONS) --enable= all $( SUPPRESS_WARNINGS:%= --suppress= %) $( LUFA_ROOT_PATH)
% :
.PHONY : all begin end
# Include LUFA build script makefiles
i n c l u d e $( LUFA_ROOT_PATH ) / L U F A / B u i l d / l u f a . c o r e . i n
i n c l u d e $( LUFA_ROOT_PATH ) / L U F A / B u i l d / l u f a . c p p c h e c k . i n