Even better would be to have tools share configuration files. Plain make files don't have this problem. Build scripts also don't have this sort of problem. Ofc once you start with autotools, things go pretty bad. Build scripts usually suck once a project is larger than a toy. Golang has an interesting approach.