Generic makefile