• 规则举例

    规则举例

    1. foo.o: foo.c defs.h # foo模块
    2. cc -c -g foo.c

    看到这个例子,各位应该不是很陌生了,前面也已说过, foo.o 是我们的目标, foo.cdefs.h 是目标所依赖的源文件,而只有一个命令 cc -c -g foo.c (以Tab键开头)。这个规则告诉我们两件事:

    • 文件的依赖关系, foo.o 依赖于 foo.cdefs.h 的文件,如果 foo.cdefs.h 的文件日期要比 foo.o 文件日期要新,或是 foo.o 不存在,那么依赖关系发生。

    • 生成或更新 foo.o 文件,就是那个cc命令。它说明了如何生成 foo.o 这个文件。(当然,foo.c文件include了defs.h文件)