Improve Makefile

- Use conditional assignment in vars to prevent overwriting of
usersupplied values
Tidy up Makefile sources