diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2013-08-12 23:13:54 +0200 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2013-08-12 23:18:45 +0200 |
commit | fcab1ec1a1a71265d86ae0b615a091c674041654 (patch) | |
tree | bfc5aa5bc9908bf479afcfe39db1794c28fb4ace | |
parent | bce6f96faa3fbb50538712436ea2f4771d6491f9 (diff) |
build: Add Makefile target for Coverity scanner
Add a Makefile target to build and upload a snapshot of netsniff-ng to
the Coverity scanner. The variables COV_EMAIL and COV_PASSWD need to be
set accordingly:
make coverity COV_EMAIL=tklauser@distanz.ch COV_PASSWD=...
Currently the sub-make which is part of the cov-built call issues
warnings about undefined variables from the template. This can be
ignored, the build works just fine.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
-rw-r--r-- | Cmds | 3 | ||||
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | Misc | 18 |
3 files changed, 24 insertions, 0 deletions
@@ -26,6 +26,8 @@ else INSTX = echo -e " INST\t$(1)" && install -C $(1) $(2)/$(shell basename $(1)) endif +MKDIR = echo -e " MKDIR\t$(1)" && mkdir -p $(1) + RM = echo -e " RM\t$(1)" && rm -rf $(1) RMDIR = echo -e " RM\t$(1)" && rmdir --ignore-fail-on-non-empty $(1) 2> /dev/null || true @@ -39,3 +41,4 @@ GIT_LOG = git shortlog -n $(shell git tag | tail -n2 | head -n1)..HEAD GIT_REM = git ls-files -o | xargs rm -rf GIT_PEOPLE = git log --no-merges $(shell git tag | tail -n2 | head -n1)..HEAD | grep Author: | cut -d: -f2 | \ cut -d\< -f1 | sort | uniq -c | sort -nr +GIT_VERSION = git describe --always @@ -109,6 +109,7 @@ VERSION_LONG = "$(VERSION_SHORT)$(CONFIG_RC) ($(NAME))" export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION export CROSS_COMPILE +export DEBUG DISTRO HARDENING bold = $(shell tput bold) normal = $(shell tput sgr0) @@ -141,6 +142,8 @@ distclean: clean $(Q)$(call RM,Config) $(Q)$(call RM,config.h) $(Q)$(call RM,config.log) + $(Q)$(call RM,cov-int) + $(Q)$(call RM,netsniff-ng-coverity.tgz) mrproper: distclean $(Q)$(GIT_REM) @@ -49,6 +49,24 @@ cscope: $(Q)$(call RM,cscope*) $(FIND_SOURCE_FILES) | xargs cscope -b +# these need to be specified on the command line +COV_EMAIL = +COV_PASSWD = + +coverity: + $(Q)test -n "$(COV_EMAIL)" || (echo "COV_EMAIL not set" && false) + $(Q)test -n "$(COV_PASSWD)" || (echo "COV_PASSWD not set" && false) + $(Q)$(MAKE) distclean + $(Q)$(call RM,cov-int) + $(Q)$(call MKDIR,cov-int) + $(Q)./configure + $(Q)cov-build --dir cov-int $(MAKE) CCACHE= + $(Q)tar czvf netsniff-ng-coverity.tgz cov-int + $(Q)echo "Uploading snapshot to Coverity scanner" + $(Q)curl --form file=@netsniff-ng-coverity.tgz --form project=netsniff-ng \ + --form password=$(COV_PASSWD) --form email=$(COV_EMAIL) \ + --form version=`$(GIT_VERSION)` http://scan5.coverity.com/cgi-bin/upload.py + help: $(Q)echo "$(bold)Available tools from the toolkit:$(normal)" $(Q)echo " <tool>:={$(TOOLS)}" |