New Makefile logic, make them reusable