major Makefile improvements