Here is an example of a rule:
foo.o : foo.c defs.h # module for twiddling the frobs cc -c -g foo.c
Its target is
foo.o and its prerequisites are
defs.h. It has one command in the recipe: ‘
cc -c -g foo.c’.
The recipe starts with a tab to identify it as a recipe.
This rule says two things:
foo.ois out of date: it is out of date if it does not exist, or if either
defs.his more recent than it.
foo.o: by running
ccas stated. The recipe does not explicitly mention
defs.h, but we presume that
foo.cincludes it, and that is why
defs.hwas added to the prerequisites.