Most of my Makefiles depend heavily on GNU make. Among other
things they include two files called "GNUmakevars" and
"GNUmakerules", which define a few variables and extra rules.
I usually put this file into
/usr/local/include on all machines where I have to install my
programs and then adapt it to the local machine.
Here are some samples:
Until recently both variables and rules were in a single file: