From 418d221cde3d0c5a4e2ff3c7e84e369af550f965 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 9 Apr 2009 13:12:17 +0000 Subject: Gcov support in MinGW demo. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@883 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- demos/Win32-MinGW/Makefile | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'demos') diff --git a/demos/Win32-MinGW/Makefile b/demos/Win32-MinGW/Makefile index c0e4afbca..db72f2488 100644 --- a/demos/Win32-MinGW/Makefile +++ b/demos/Win32-MinGW/Makefile @@ -19,6 +19,7 @@ TRGT = mingw32- CC = $(TRGT)gcc AS = $(TRGT)gcc -x assembler-with-cpp +COV = gcov # List all default C defines here, like -D_DEBUG=1 DDEFS = @@ -77,7 +78,10 @@ ULIBDIR = ULIBS = # Define optimisation level here -OPT = -ggdb -O0 -fomit-frame-pointer +OPT = -ggdb -O2 -fomit-frame-pointer + +# Debug target options here +DOPT = -ggdb -O0 -fomit-frame-pointer -fprofile-arcs -ftest-coverage # # End of user defines @@ -94,9 +98,11 @@ LIBS = $(DLIBS) $(ULIBS) LDFLAGS = -Wl,-Map=$(PROJECT).map,--cref,--no-warn-mismatch $(LIBDIR) ASFLAGS = -Wa,-amhls=$(<:.s=.lst) $(ADEFS) CPFLAGS = $(OPT) -Wall -Wstrict-prototypes -fverbose-asm -Wa,-alms=$(<:.c=.lst) $(DEFS) +DCPFLAGS = $(DOPT) -Wall -Wstrict-prototypes -fverbose-asm -Wa,-alms=$(<:.c=.lst) $(DEFS) # Generate dependency information CPFLAGS += -MD -MP -MF .dep/$(@F).d +DCPFLAGS += -MD -MP -MF .dep/$(@F).d # # makefile rules @@ -104,6 +110,10 @@ CPFLAGS += -MD -MP -MF .dep/$(@F).d all: $(OBJS) $(PROJECT).exe +debug: $(OBJS) $(PROJECT).exe +CPFLAGS = $(DCPFLAGS) +LDFLAGS += -lgcov + %o : %c $(CC) -c $(CPFLAGS) -I . $(INCDIR) $< -o $@ @@ -113,15 +123,23 @@ all: $(OBJS) $(PROJECT).exe %exe: $(OBJS) $(CC) $(OBJS) $(LDFLAGS) $(LIBS) -o $@ +gcov: + -mkdir gcov + $(COV) -u $(subst /,\,$(SRC)) + -mv *.gcov ./gcov + clean: -rm -f $(OBJS) -rm -f $(PROJECT).exe -rm -f $(PROJECT).map -rm -f $(SRC:.c=.c.bak) -rm -f $(SRC:.c=.lst) + -rm -f $(SRC:.c=.gcno) + -rm -f $(SRC:.c=.gcda) -rm -f $(ASRC:.s=.s.bak) -rm -f $(ASRC:.s=.lst) -rm -fR .dep + -rm -fR gcov # # Include the dependency files, should be the last of the makefile -- cgit v1.2.3