\r
# Static anlysis of the entire LUFA source tree, using the free cross-platform "cppcheck" tool.\r
\r
-# Path to the root of the LUFA tree to scan\r
-LUFA_ROOT_PATH = ../..\r
+LUFA_ROOT_PATH = ../..\r
\r
-# Filenames or directories (including fragments) to exclude from the analysis\r
-EXCLUDE_LIST = FATFs/ \\r
+CPPCHECK_EXCLUDES = FATFs/ \\r
PetiteFATFs/ \\r
uip/\r
+CPPCHECK_INCLUDES = $(LUFA_ROOT_PATH)/LUFA/CodeTemplates/ \\r
+ $(LUFA_ROOT_PATH)/Projects/AVRISP-MKII/\r
+CPPCHECK_PATH = $(LUFA_ROOT_PATH)\r
\r
-# Output message template for found warnings and errors\r
-MESSAGE_TEMPLATE = "{file}:{line}: {severity} ({id}): {message}"\r
-\r
-# Checks to suppress so that generated warnings are discarded\r
-SUPPRESS_WARNINGS = variableScope \\r
- missingInclude\r
-\r
-# Extra paths to search for include files\r
-INCLUDE_PATHS = $(LUFA_ROOT_PATH)/LUFA/CodeTemplates/ \\r
- $(LUFA_ROOT_PATH)/Projects/AVRISP-MKII/\r
-\r
-# Configuration options to pass to cppcheck\r
-CPPCHECK_OPTIONS = --template=$(MESSAGE_TEMPLATE) $(INCLUDE_PATHS:%=-I%) $(EXCLUDE_LIST:%=-i%) --inline-suppr --force --error-exitcode=1 --std=c99\r
-\r
-\r
-all: begin staticcheck end\r
+all: begin cppcheck-config cppcheck end\r
\r
begin:\r
@echo Executing build test "StaticAnalysisTest".\r
@echo Build test "StaticAnalysisTest" complete.\r
@echo\r
\r
-staticcheck:\r
- cppcheck --quiet $(CPPCHECK_OPTIONS) --check-config $(LUFA_ROOT_PATH)\r
- cppcheck --quiet $(CPPCHECK_OPTIONS) --enable=all $(SUPPRESS_WARNINGS:%=--suppress=%) $(LUFA_ROOT_PATH)\r
-\r
%:\r
-
\ No newline at end of file
+\r
+.PHONY: all begin end\r
+\r
+# Include LUFA build script makefiles\r
+include $(LUFA_ROOT_PATH)/LUFA/Build/lufa.core.in\r
+include $(LUFA_ROOT_PATH)/LUFA/Build/lufa.cppcheck.in
\ No newline at end of file