blob: ed8b71eb9503b4ceba00b9f6915f541be1958dd6 [file] [log] [blame]
Zack Williams36451912022-03-04 20:31:37 -07001Make
2====
3
4Make is a unix tool that provides a dependency-based way to execute commands.
5
6The make command takes a parameter, known as the **target** which is usually
7the name of a file you would like to generate, or set of commands you would
8like to run.
9
10
11Best Practices
12--------------
13
14Include a ``help`` target in the Makefile. This can be automatically generated
15from comments in the Makefile. There are many forms for this - this one is
16recommended::
17
18 # makefile example...
19
20This will work on both GNU and BSD implementations (``sed`` specifically).
21
22Formatting
23----------
24
25Each line of a Makefile is a new shell invocation - if you need to maintain the
26state of a shell (ex: entering a virtualenv, setting variables, etc.) you
27should wrap lines with ``;\\`` to separate individual commands while retaining
28the same shell instance.