diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-04-09 13:12:17 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-04-09 13:12:17 +0000 |
commit | 418d221cde3d0c5a4e2ff3c7e84e369af550f965 (patch) | |
tree | c8ac7fd7399d14868776ece0a6989cea78db76b5 /demos | |
parent | a8a6649caa7a12aef55883d5c1907a7f5cbca386 (diff) | |
download | ChibiOS-418d221cde3d0c5a4e2ff3c7e84e369af550f965.tar.gz ChibiOS-418d221cde3d0c5a4e2ff3c7e84e369af550f965.tar.bz2 ChibiOS-418d221cde3d0c5a4e2ff3c7e84e369af550f965.zip |
Gcov support in MinGW demo.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@883 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'demos')
-rw-r--r-- | demos/Win32-MinGW/Makefile | 20 |
1 files changed, 19 insertions, 1 deletions
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
|