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.