adds cppcheck make target

Tue, 19 Sep 2017 14:13:40 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 19 Sep 2017 14:13:40 +0200
changeset 246
21bb9849a765
parent 245
db732f8c083a
child 247
ecd242949641

adds cppcheck make target

Makefile file | annotate | diff | comparison | revisions
cppcheck.mk file | annotate | diff | comparison | revisions
ucx/Makefile file | annotate | diff | comparison | revisions
--- a/Makefile	Sat Jul 15 22:36:29 2017 +0200
+++ b/Makefile	Tue Sep 19 14:13:40 2017 +0200
@@ -40,6 +40,7 @@
 PREFIX=/usr/local
 
 include $(CONF).mk
+include cppcheck.mk
 
 all: ucx test
 
@@ -81,6 +82,14 @@
 
 clean: FORCE
 	$(RM) $(RMFLAGS) build
+	
+build:
+	mkdir -p build
+	
+cppcheck: FORCE build
+	truncate -s0 $(CPPCHECK_LOG)
+	cd ucx; $(MAKE) CONF=$(CONF) cppcheck
+	@echo "Static code analysis complete. See $(CPPCHECK_LOG) for the results."
 
 FORCE:
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cppcheck.mk	Tue Sep 19 14:13:40 2017 +0200
@@ -0,0 +1,33 @@
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2016 Olaf Wintermann. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#   1. Redistributions of source code must retain the above copyright
+#      notice, this list of conditions and the following disclaimer.
+#
+#   2. Redistributions in binary form must reproduce the above copyright
+#      notice, this list of conditions and the following disclaimer in the
+#      documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+CPPCHECK=cppcheck
+CPPCHECK_CONFIG=--max-configs=32 -j 4
+CPPCHECK_FLAGS=--enable=warning,performance,portability,unusedFunction
+CPPCHECK_LOG=build/cppcheck.log
+
--- a/ucx/Makefile	Sat Jul 15 22:36:29 2017 +0200
+++ b/ucx/Makefile	Tue Sep 19 14:13:40 2017 +0200
@@ -27,6 +27,7 @@
 #
 
 include ../$(CONF).mk
+include ../cppcheck.mk
 
 # list of source files
 SRC  = utils.c
@@ -73,3 +74,6 @@
 
 ../build/debug/ucx:
 	$(MKDIR) $(MKDIRFLAGS) ../build/debug/ucx
+
+cppcheck: $(SRC)
+	$(CPPCHECK) $(CPPCHECK_CONFIG) $(CPPCHECK_FLAGS) $+ 2>> ../$(CPPCHECK_LOG)

mercurial