new makefile with auto defs