purge: clean
$(call TITLE, "Purging")
touch purge
- rm -f purge $(ALLEXE:%=%.exe) $(shell [ -f .targets ] && { cat .targets | sort | uniq; echo .targets; })
+ rm -f purge $(ALLEXE:%=%.exe)
+ $(call PASS, SUCCESS)
+
+valgrinds:
+ $(MAKE) $(addprefix valgrind_,$(ALLEXE))
+
+wipe: purge
+ $(call TITLE, "Wiping")
+ touch wipe
+ rm -f wipe $(wildcard *.gcda *.gcno)
$(call PASS, SUCCESS)
tests: all
include $(wildcard *.ld)
gcov_%:
- make purge
- CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="-fprofile-arcs -ftest-coverage" make
- make test_$(@:gcov_%=%)
+ $(MAKE) purge
+ CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="-fprofile-arcs -ftest-coverage" $(MAKE)
+ $(MAKE) test_$(@:gcov_%=%)
gcov `sed -e 's/\.exe:/.c/;s/\.o/.c/g' $(@:gcov_%=%.ld)`
touch gcov
rm -f gcov $(wildcard *.gcda *.gcno)
- make purge
+ $(MAKE) purge
%.test: %.c
$(call TITLE, "Building $@")
done; \
test "$$RC" -ne 1
-valgrind_%: %
+valgrind_%: %.exe
VALGRIND="valgrind -v --leak-check=full --show-reachable=yes --log-fd=2"; \
export VALGRIND; \
- $(MAKE) test_$<
+ $(MAKE) $(@:valgrind_%=test_%)
%.d: %.c
$(call TITLE, "Building $@")