NMAKE uses a description file to determine what to do. In its simplest form, a description file tells NMAKE which files depend on others and which commands need to be executed if a file changes.
A description file looks like this:
targets...: dependents...│
command │ ──description block
: │
targets... : dependents...
command