makefile and test harness