Makefile with automatic dependency generation