继续翻译

   In the example makefile, the targets include the executable file    
`edit', and the object files `main.o' and `kbd.o'.  The prerequisites    
are files such as `main.c' and `defs.h'.  In fact, each `.o' file is    
both a target and a prerequisite.  Recipes include `cc -c main.c' and    
`cc -c kbd.c'.    
    
   When a target is a file, it needs to be recompiled or relinked if any    
of its prerequisites change.  In addition, any prerequisites that are    
themselves automatically generated should be updated first.  In this    
example, `edit' depends on each of the eight object files; the object    
file `main.o' depends on the source file `main.c' and on the header    
file `defs.h'.    

 在此例子makefile中,目的包括 可执行文件 edit, 还有 目标文件 main.o 和 kbd.o。

前提条件指  mian.c , defs.h 之类的文件。

实际上,每一个 .o 文件都 既是一个目的,又是一个前提条件。

片段包括诸如  cc -c main.c 和 cc -c kbd.c

 

当一个目的是一个文件,如果任何它的前提条件变化了,此目标就需要被重新编译或者链接。

而且,那些自己自动生成的 前提条件需要首先被变更。

在此例子中,edit 依赖于 8个目标文件, 目标文件 main.o 依赖于 源文件 main.c 和头文件 defs.h

后文待续