improve Makefile flexibility