# 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 = HostLoaderApp/ FATFs/ PetiteFATFs/ uip/\r
+EXCLUDE_LIST = FATFs/ \\r
+ PetiteFATFs/ \\r
+ uip/\r
\r
# Output message template for found warnings and errors\r
-MESSAGE_TEMPLATE = "{file}({line}): {severity} ({id}): {message}"\r
+MESSAGE_TEMPLATE = "{file}:{line}: {severity} ({id}): {message}"\r
\r
# Checks to suppress so that generated warnings are discarded\r
-SUPPRESS_WARNINGS = variableScope unusedFunction missingInclude\r
+SUPPRESS_WARNINGS = variableScope \\r
+ unusedFunction\r
\r
-all:\r
- cppcheck -q --std=c99 --check-config $(EXCLUDE_LIST:%=-i%) $(LUFA_ROOT_PATH)\r
- cppcheck -q -f --std=c99 --error-exitcode=1 --inline-suppr --enable=all $(SUPPRESS_WARNINGS:%=--suppress=%) --template $(MESSAGE_TEMPLATE) $(EXCLUDE_LIST:%=-i%) $(LUFA_ROOT_PATH)\r
+# Extra paths to search for include files\r
+INCLUDE_PATHS = $(LUFA_ROOT_PATH)/LUFA/CodeTemplates/\r
+\r
+\r
+all: begin staticcheck end\r
+\r
+begin:\r
+ @echo Executing build test "StaticAnalysisTest".\r
+ @echo\r
+\r
+end:\r
+ @echo Build test "StaticAnalysisTest" complete.\r
+ @echo\r
+\r
+staticcheck:\r
+ cppcheck --quiet --inline-suppr --check-config $(SUPPRESS_WARNINGS:%=--suppress=%) --template=$(MESSAGE_TEMPLATE) $(INCLUDE_PATHS:%=-I%) $(EXCLUDE_LIST:%=-i%) $(LUFA_ROOT_PATH)\r
+ cppcheck --quiet --inline-suppr --error-exitcode=1 --std=c99 --force --enable=all --inconclusive $(SUPPRESS_WARNINGS:%=--suppress=%) --template=$(MESSAGE_TEMPLATE) $(INCLUDE_PATHS:%=-I%) $(EXCLUDE_LIST:%=-i%) $(LUFA_ROOT_PATH)\r
\r
%:
\ No newline at end of file