This commit is contained in:
2022-05-17 22:38:01 +08:00
parent c9a8c22e42
commit f8bf6ecd52
14 changed files with 1352 additions and 1350 deletions

View File

@@ -232,21 +232,22 @@ categories: ["dev/ops"]
- 好了,还是让我们来看一看如何书写规则。
### 规则举例
```makefile
foo.o: foo.c defs.h # foo模块
cc -c -g foo.c
```
```makefile
foo.o: foo.c defs.h # foo模块
cc -c -g foo.c
```
- 看到这个例子各位应该不是很陌生了前面也已说过foo.o是我们的目标foo.c和defs.h是目标所依赖的源文件而只有一个命令"cc -c -g foo.c"以Tab键开头。这个规则告诉我们两件事
- 文件的依赖关系foo.o依赖于foo.c和defs.h的文件如果foo.c和defs.h的文件日期要比foo.o文件日期要新或是foo.o不存在那么依赖关系发生。
- 如果生成或更新foo.o文件。也就是那个cc命令其说明了如何生成foo.o这个文件。当然foo.c文件include了defs.h文件
### 规则的语法
- 常规
```makefile
targets : prerequisites
command
...
```
- 或是这样:
- 或是这样:
```makefile
targets : prerequisites ; command
command