Make parameterized generic Makefiles

No one else will understand.  But it avoids repetition.