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