More generality to Makefile