summaryrefslogtreecommitdiff
path: root/mips/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'mips/Makefile')
-rw-r--r--mips/Makefile13
1 files changed, 12 insertions, 1 deletions
diff --git a/mips/Makefile b/mips/Makefile
index 3592ac54..a8bce143 100644
--- a/mips/Makefile
+++ b/mips/Makefile
@@ -18,8 +18,19 @@ mips: $(MIPS_PRE) $(MIPS_TLB) $(MIPS_SAILS) $(MIPS_MAIN) ../sail
mips.c: $(MIPS_PRE) $(MIPS_TLB) $(MIPS_SAILS) $(MIPS_MAIN) Makefile ../sail
$(SAIL) -O -memo_z3 -c $(filter %.sail, $^) 1> $@
+C_WARNINGS=-Wall -Wno-unused-but-set-variable -Wno-unused-label -Wno-maybe-uninitialized -Wno-return-type
+C_OPT=-O2
+GCOV_FLAGS=
mips_c: mips.c ../lib/sail.h ../lib/*.c Makefile
- gcc -Wall -Wno-unused-but-set-variable -Wno-unused-label -Wno-maybe-uninitialized -Wno-return-type -O2 -g -I ../lib $< ../lib/*.c -lgmp -lz -o $@
+ gcc $(C_OPT) $(C_WARNINGS) $(GCOV_FLAGS) -g -I ../lib $< ../lib/*.c -lgmp -lz -o $@
+
+# Note that for coverage purposes O1 appears optimal. O0 means lots of obviously dead code but O2 risks reducing granularity too much.
+mips_c_gcov: C_OPT=-O1
+mips_c_gcov: GCOV_FLAGS=-fprofile-arcs -ftest-coverage
+mips_c_gcov: mips_c
+
+gcovr:
+ gcovr -r . --html --html-detail -o index.html
sim.dtb: sim.dts
dtc -O dtb -o $@ -b 0 $<