optimise makefile