diff options
-rw-r--r-- | makefile | 1 | ||||
-rw-r--r-- | src/build/mkrules/cc.rules.mk | 71 |
2 files changed, 34 insertions, 38 deletions
@@ -92,6 +92,7 @@ cppcheck: ${BUILDCPPCHECK} export CXX_CHECK="$(CPPCHECK) $(filter -D%, $(CXXFLAGS)) $(INCFLAGS)" && \ export C_CHECK="$(CPPCHECK) $(filter -D%, $(CFLAGS)) $(INCFLAGS)" && \ + export DOCPPCHECK=1 && \ ${MAKE} .PHONY: gcda_clean diff --git a/src/build/mkrules/cc.rules.mk b/src/build/mkrules/cc.rules.mk index 2d465e2e3..409166e29 100644 --- a/src/build/mkrules/cc.rules.mk +++ b/src/build/mkrules/cc.rules.mk @@ -47,27 +47,44 @@ SOURCE_FILE=$< INCLUDE_DIRS=$(INCFLAGS) endif -$(OBJDIR)/%.o : %.C - @mkdir -p $(OBJDIR) - $(C2) " CXX $(notdir $<)" - $(C1)$(CXX) -c $(call FLAGS_FILTER, $(CXXFLAGS), $<) $(SOURCE_FILE) \ - -o $@.trace $(INCLUDE_DIRS) -iquote . - $(C1)$(TRACE_HASHER) $@ $(TRACE_FLAGS) - @rm $@.trace - $(C2) " CPPCHECK $(notdir $<)" # TODO RTC 215692 # The following script is used to run the cppcheck tool when enabled. If one # cppcheck error is found, the make process will stop here, the error will be # printed out to the terminal and stored in a file .`basename $<`.cppcheck in # the directory where the original file is located - $(C1) set -o pipefail && cd `dirname $<` && timeout 2m $(CXX_CHECK) `basename $<` 2>&1 | tee .`basename $<`.cppcheck; exit_code=$$? ; \ +ifdef DOCPPCHECK + CXX_PRINT=$(C2) " CPPCHECK $(notdir $<)" + # NoteL Error code 127 means that the command timed-out. We do not fail + # for timeouts + CXX_CPPCHECK_COMMAND=$(C1) set -o pipefail && cd `dirname $<` && timeout 2m $(CXX_CHECK) `basename $<` 2>&1 | tee .`basename $<`.cppcheck; exit_code=$$? ; \ if [ "$$exit_code" -ne 1 ]; then \ rm -f .`basename $<`.cppcheck; \ if [ "$$exit_code" -eq 127 ]; then \ -# Error code 127 means that the command timed-out. We do not fail for timeouts.\ exit_code=0; \ fi; \ fi; exit "$$exit_code" + C_CPPCHECK_COMMAND=$(C1) set -o pipefail && cd `dirname $<` && timeout 2m $(C_CHECK) `basename $<` 2>&1 | tee .`basename $<`.cppcheck; exit_code=$$? ; \ + if [ "$$exit_code" -ne 1 ]; then \ + rm -f .`basename $<`.cppcheck; \ + if [ "$$exit_code" -eq 127 ]; then \ + exit_code=0; \ + fi; \ + fi; exit "$$exit_code" +else + CXX_PRINT= + CXX_CPPCHECK_COMMAND= + C_CPPCHECK_COMMAND= +endif + +$(OBJDIR)/%.o : %.C + @mkdir -p $(OBJDIR) + $(C2) " CXX $(notdir $<)" + $(C1)$(CXX) -c $(call FLAGS_FILTER, $(CXXFLAGS), $<) $(SOURCE_FILE) \ + -o $@.trace $(INCLUDE_DIRS) -iquote . + $(C1)$(TRACE_HASHER) $@ $(TRACE_FLAGS) + @rm $@.trace + $(CXX_PRINT) + $(CXX_CPPCHECK_COMMAND) # Compiling *.cc files $(OBJDIR)/%.o : %.cc @@ -77,16 +94,8 @@ $(OBJDIR)/%.o : %.cc $(INCLUDE_DIRS) -iquote . $(C1)$(TRACE_HASHER) $@ $(TRACE_FLAGS) @rm $@.trace - $(C2) " CPPCHECK $(notdir $<)" -# TODO RTC 215692 - $(C1) set -o pipefail && cd `dirname $<` && timeout 2m $(CXX_CHECK) `basename $<` 2>&1 | tee .`basename $<`.cppcheck; exit_code=$$? ; \ - if [ "$$exit_code" -ne 1 ]; then \ - rm -f .`basename $<`.cppcheck; \ - if [ "$$exit_code" -eq 127 ]; then \ - exit_code=0; \ - fi; \ - fi; exit "$$exit_code" - + $(CXX_PRINT) + $(CXX_CPPCHECK_COMMAND) $(OBJDIR)/%.o : %.c @mkdir -p $(OBJDIR) @@ -96,28 +105,14 @@ ifndef CC_OVERRIDE $(C2) " CC $(notdir $<)" $(C1)$(CC) -c $(call FLAGS_FILTER, $(CFLAGS), $<) $(SOURCE_FILE) \ -o $@.trace $(INCLUDE_DIRS) -iquote . - $(C2) " CPPCHECK $(notdir $<)" -# TODO RTC 215692 - $(C1) set -o pipefail && cd `dirname $<` && timeout 2m $(C_CHECK) `basename $<` 2>&1 | tee .`basename $<`.cppcheck; exit_code=$$? ; \ - if [ "$$exit_code" -ne 1 ]; then \ - rm -f .`basename $<`.cppcheck; \ - if [ "$$exit_code" -eq 127 ]; then \ - exit_code=0; \ - fi; \ - fi; exit "$$exit_code" + $(CXX_PRINT) + $(C_CPPCHECK_COMMAND) else $(C2) " CXX $(notdir $<)" $(C1)$(CXX) -c $(call FLAGS_FILTER, $(CXXFLAGS), $<) $(SOURCE_FILE) \ -o $@.trace $(INCLUDE_DIRS) -iquote . - $(C2) " CPPCHECK $(notdir $<)" -# TODO RTC 215692 - $(C1) set -o pipefail && cd `dirname $<` && timeout 2m $(CXX_CHECK) `basename $<` 2>&1 | tee .`basename $<`.cppcheck; exit_code=$$? ; \ - if [ "$$exit_code" -ne 1 ]; then \ - rm -f .`basename $<`.cppcheck; \ - if [ "$$exit_code" -eq 127 ]; then \ - exit_code=0; \ - fi; \ - fi; exit "$$exit_code" + $(CXX_PRINT) + $(CXX_CPPCHECK_COMMAND) endif $(C1)$(TRACE_HASHER) $@ $(TRACE_FLAGS) @rm $@.trace |