A Makefile is a representation of a depency graph. The files are the vertices, for example
myprogram.c are the "input" vertices (is there a formal word for this?) and
myprogram are the "output" vertices (again, correct word?).
Then the edges of that graph are somehow related to invocation of the compiler and linker in this example. But not one-to-one, since
myprogram would have three edges connected to it (
myprogram.c), but only one call to the compiler to create
myprogram. What would be the correct way to describe that relation?