P S*_*ved 109
正如Makefile所理解的那样,构建包含许多目标.例如,构建您可能需要的项目
如果使用makefile实现此工作流,则可以单独创建每个目标.例如,如果你写了
make file1.o
Run Code Online (Sandbox Code Playgroud)
如果有必要,它只会构建该文件.
名称all
不固定.这只是一个传统的名字; all
target表示如果你调用它,make将构建完成构建所需的所有内容.这通常是一个虚拟目标,它不会创建任何文件,而只取决于其他文件.对于上面的示例,构建所有必需的是构建可执行文件,其他文件作为依赖项被拉入.所以在makefile中它看起来像这样:
all: executable1 executable2
Run Code Online (Sandbox Code Playgroud)
all
target通常是makefile中的第一个,因为如果你只是make
在命令行中编写,而不指定目标,它将构建第一个目标.你希望它是all
.
all
通常也是一个.PHONY
目标.在这里了解更多.
Pet*_*rSW 28
GNU Make手册all
在其标准目标列表中给出了明确的定义.
如果Makefile的作者遵循该约定,则目标all
应该:
make
应该做同样的事情make all
.实现1 all
通常被定义为.PHONY
依赖于构成整个程序的可执行文件的目标:
.PHONY : all
all : executable
Run Code Online (Sandbox Code Playgroud)
要实现2 all
应该是make文件中定义的第一个目标,或者被指定为默认目标:
.DEFAULT_GOAL := all
Run Code Online (Sandbox Code Playgroud)
不确定它代表什么特别的东西。这只是您提供“all”规则的约定,通常它用于列出构建整个项目所需的所有子目标,因此名称为“all”。它唯一的特别之处在于,人们常常将其作为 makefile 中的第一个目标,这意味着仅输入“make”将执行与“make all”相同的操作。
归档时间: |
|
查看次数: |
98933 次 |
最近记录: |