-CXX := g++
-CXXFLAGS := -O0 -g -Wall
+# Set the command for your C++ compiler, and specify any compiler flags you
+# want to use (e.g. -g -Werror).
+CXX = g++
+CXXFLAGS = -ggdb -Wall
+
+# The driver outputs TAP (Test Anything Protocol), so it can also be used with
+# any TAP test harness (e.g. prove). Set the path to your test harness here,
+# then use the `prove' target to run the tests with that harness.
+PROVE = prove
+PROVEFLAGS = -e ""
+
+
+ifeq ($(OS),Windows_NT)
+EXEEXT = .exe
+endif
+
+
+all: driver$(EXEEXT)
+
+clean:
+ rm -f driver$(EXEEXT)
+
+distclean: clean
+ rm -f $CLASSNAME$
-all: driver
-
run: all
- ./driver
-
+ ./driver$(EXEEXT)
+
test: all
- ./driver -exit_on_fail
+ ./driver$(EXEEXT) --abort-on-fail
+
+prove: all
+ $(PROVE) $(PROVEFLAGS) ./driver$(EXEEXT)
+
+
+%$(EXEEXT): %.cc
+ $(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) -o $@
-driver: driver.o
- $(CXX) $(CXXFLAGS) $< -o $@ $(LDFLAGS) $(LIBS)
+driver$(EXEEXT): $CLASSNAME$.cc
-.PHONY: all run test
+.PHONY: all clean distclean run test prove
+# vim:ft=make:noet:ts=8