diff --git a/Makefile b/Makefile index c4940a086a..2ee87a465a 100755 --- a/Makefile +++ b/Makefile @@ -72,6 +72,8 @@ VPATH := $(SRC_DIR):$(SRC_DIR)/startup USBFS_DIR = $(ROOT)/lib/main/STM32_USB-FS-Device_Driver USBPERIPH_SRC = $(notdir $(wildcard $(USBFS_DIR)/src/*.c)) +CSOURCES := $(shell find $(SRC_DIR) -name '*.c') + ifeq ($(TARGET),$(filter $(TARGET),STM32F3DISCOVERY CHEBUZZF3 NAZE32PRO SPRACINGF3 SPARKY ALIENWIIF3 COLIBRI_RACE)) STDPERIPH_DIR = $(ROOT)/lib/main/STM32F30x_StdPeriph_Driver @@ -615,6 +617,11 @@ LDFLAGS = -lm \ # No user-serviceable parts below ############################################################################### +CPPCHECK = cppcheck $(CSOURCES) --enable=all --platform=unix64 \ + --std=c99 --inline-suppr --quiet --force \ + $(addprefix -I,$(INCLUDE_DIRS)) \ + -I/usr/include -I/usr/include/linux + # # Things we will build # @@ -684,6 +691,13 @@ unbrick_$(TARGET): $(TARGET_HEX) unbrick: unbrick_$(TARGET) +## cppcheck : run static analysis on C source code +cppcheck: $(CSOURCES) + $(CPPCHECK) + +cppcheck-result.xml: $(CSOURCES) + $(CPPCHECK) --xml-version=2 2> cppcheck-result.xml + help: @echo "" @echo "Makefile for the $(FORKNAME) firmware"