Make
Make is a unix tool that provides a dependency-based way to execute commands.
The make command takes a parameter, known as the target which is usually the name of a file you would like to generate, or set of commands you would like to run.
Best Practices
Include a help
target in the Makefile. This can be automatically generated
from comments in the Makefile. There are many forms for this - this one is
recommended:
# makefile example...
This will work on both GNU and BSD implementations (sed
specifically).
Formatting
Each line of a Makefile is a new shell invocation - if you need to maintain the
state of a shell (ex: entering a virtualenv, setting variables, etc.) you
should wrap lines with ;\\
to separate individual commands while retaining
the same shell instance.