aboutsummaryrefslogtreecommitdiffstats
path: root/BuildTests/StaticAnalysisTest/makefile
blob: 817727ea34ab207b9660af9a8cb96c99af51482a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#
#             LUFA Library
#     Copyright (C) Dean Camera, 2011.
#
#  dean [at] fourwalledcubicle [dot] com
#           www.lufa-lib.org
#

# 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    = ../..

# Filenames or directories (including fragments) to exclude from the analysis
EXCLUDE_LIST      = FATFs/            \
                    PetiteFATFs/      \
                    uip/

# 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/

# 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

begin:
	@echo Executing build test "StaticAnalysisTest".
	@echo

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)

%: