aboutsummaryrefslogtreecommitdiffstats
path: root/demos/Win32-MinGW
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-04-09 13:12:17 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-04-09 13:12:17 +0000
commit418d221cde3d0c5a4e2ff3c7e84e369af550f965 (patch)
treec8ac7fd7399d14868776ece0a6989cea78db76b5 /demos/Win32-MinGW
parenta8a6649caa7a12aef55883d5c1907a7f5cbca386 (diff)
downloadChibiOS-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/Win32-MinGW')
-rw-r--r--demos/Win32-MinGW/Makefile20
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