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 foo.c
and
defs.h
. It has one command, which is cc -c -g foo.c
.
The command line starts with a tab to identify it as a command.
This rule says two things:
foo.o
is out of date: it is out of date
if it does not exist, or if either foo.c
or defs.h
is
more recent than it.
foo.o
: by running cc
as stated.
The command does not explicitly mention defs.h
, but we presume
that foo.c
includes it, and that that is why defs.h
was
added to the prerequisites.