102 lines
3.2 KiB
Makefile
Executable File
102 lines
3.2 KiB
Makefile
Executable File
|
|
##----------------------------------------------------------##
|
|
## ##
|
|
## Universal Makefile Lcov Function ##
|
|
## ##
|
|
## Created : Wei Liu 07/04/11 ##
|
|
## Revision: [Last]Wei Liu 07/07/09 ##
|
|
## ##
|
|
##----------------------------------------------------------##
|
|
|
|
##--------------------------------------
|
|
##
|
|
## COVER define
|
|
##
|
|
##--------------------------------------
|
|
|
|
ifeq "$(COVER_NEED)" "yes"
|
|
|
|
COVER := /usr/bin/lcov
|
|
GENHTML := /usr/bin/genhtml
|
|
GENDESC := /usr/bin/gendesc
|
|
GENPNG := /usr/bin/genpng
|
|
|
|
##Depending on the presence of the GD.pm perl module, we can use the
|
|
##special option '--frames' for genhtml
|
|
USE_GENPNG := $(shell $(GENPNG) --help >/dev/null 2>/dev/null; echo $$?)
|
|
|
|
ifeq ($(USE_GENPNG),0)
|
|
FRAMES := --frames
|
|
else
|
|
FRAMES :=
|
|
endif
|
|
|
|
##COV_SETFLAG := --zerocounters --path . -q --directory .
|
|
COV_SETFLAG := --zerocounters -q --directory ../obj
|
|
COV_SET := $(COVER) $(COV_SETFLAG)
|
|
|
|
COVER_REPORT_PATH ?= $(UTDIR)/output
|
|
|
|
INFO_FILE = $(COVER_REPORT_PATH)/$(MODULE).info
|
|
DSP_FILE = $(MODULE)_test_descriptions.txt
|
|
|
|
COV_OUTSET = --capture --directory ../obj \
|
|
--output-file $(INFO_FILE)\
|
|
--test-name $(MODULE) -q \
|
|
--base-directory ../
|
|
|
|
COV_HTMLSET= $(INFO_FILE) \
|
|
--output-directory $(COVER_REPORT_PATH)\
|
|
--title $(MODULE) \
|
|
--show-details $(FRAMES) \
|
|
--legend -q --num-spaces 4
|
|
COV_OUTPUT = $(COVER) $(COV_OUTSET)
|
|
|
|
|
|
COV_DOC_PATH := /usr/local/include/cov
|
|
|
|
endif
|
|
|
|
##--------------------------------------
|
|
##
|
|
## Make Test
|
|
##
|
|
##--------------------------------------
|
|
|
|
test:
|
|
@echo -e "\n================================Test start======================================\n"
|
|
ifeq "$(BUILD)" "exef"
|
|
ifeq "$(COVER_NEED)" "yes"
|
|
@$(MKDIR) -p $(COVER_REPORT_PATH) --mode=0777
|
|
@cp -rf $(COV_DOC_PATH)/lcovrc $(COV_DOC_PATH)/lcov_html_header\
|
|
$(COV_DOC_PATH)/lcov_html_foot /etc/
|
|
@cp -rf /usr/local/include/cgprof/cgprof /usr/local/bin/cgprof
|
|
@$(COV_SET)
|
|
$(OUTFILE)
|
|
gprof $(OUTFILE) gmon.out -p | cgprof -Tps
|
|
@$(COV_OUTPUT)
|
|
@LANG=C $(GENHTML) $(COV_HTMLSET)
|
|
@echo
|
|
@echo -e "||---------------------------------------------------------------"
|
|
@echo -e "|| Test cover report generated on the paht $(COVER_REPORT_PATH). "
|
|
@echo -e "|| Point a web browser at index.html to see results. "
|
|
@echo -e "||---------------------------------------------------------------"
|
|
else
|
|
@echo "COVER_NEED: $(COVER_NEED)BUILD: $(BUILD) "
|
|
$(OUTFILE)
|
|
endif
|
|
@echo -e "\n================================Test End========================================\n"
|
|
else
|
|
@echo -e "||---------------------------------------------------------------"
|
|
@echo -e "|| This is not exef project! "
|
|
@echo -e "||---------------------------------------------------------------"
|
|
@echo "This is not exef project!"
|
|
endif
|
|
|
|
cleanlcov:
|
|
@$(COV_SET) --reset
|
|
|
|
retest: cleanlcov test
|
|
|
|
|