Rule Example (GNU make)
From Get docs
Make/docs/latest/Rule-Example
Next: Rule Syntax, Previous: Rules, Up: Rules [Contents][Index]
4.1 Rule Example
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 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:
- How to decide whether
foo.o
is out of date: it is out of date if it does not exist, or if eitherfoo.c
ordefs.h
is more recent than it. - How to update the file
foo.o
: by runningcc
as stated. The recipe does not explicitly mentiondefs.h
, but we presume thatfoo.c
includes it, and that is whydefs.h
was added to the prerequisites.