moving more logic into Makefile, and using macros for name and version