A more powerful Makefile