add a c++ version of makefile