作者:手机用户2502938137 | 来源:互联网 | 2023-05-24 19:32
make规则行上冒号后面的名称是依赖项.如果最近修改了任何依赖项而不是规则目标,则执行该规则.(目标通常是一个文件,其名称与规则名称相同,认为有例外.)
如果您取出任何依赖项,那么您的目标仍然可以构建,但即使您更改它依赖的文件也不会重建它(长期可能导致更大规模的构建中断,例如当您尝试时将从头文件的不同版本构建的两个对象链接在一起).
查找给定源文件所依赖的所有头文件通常不是人类可能的,因此通常使用各种辅助工具来自动生成依赖项.请注意,您可以稍后添加依赖项:
foo.o: foo.c ## Manually written rule
$(CC) -c -o $@ $^
## added later, e.g. by a tool
foo.o: foo.h
foo.o: bar.h
但总而言之,它make
是一个非常低级的构建工具,它通常只用于非常小的项目或作为其他构建系统的后端(例如autotools或cmake).
1> Kerrek SB..:
make规则行上冒号后面的名称是依赖项.如果最近修改了任何依赖项而不是规则目标,则执行该规则.(目标通常是一个文件,其名称与规则名称相同,认为有例外.)
如果您取出任何依赖项,那么您的目标仍然可以构建,但即使您更改它依赖的文件也不会重建它(长期可能导致更大规模的构建中断,例如当您尝试时将从头文件的不同版本构建的两个对象链接在一起).
查找给定源文件所依赖的所有头文件通常不是人类可能的,因此通常使用各种辅助工具来自动生成依赖项.请注意,您可以稍后添加依赖项:
foo.o: foo.c ## Manually written rule
$(CC) -c -o $@ $^
## added later, e.g. by a tool
foo.o: foo.h
foo.o: bar.h
但总而言之,它make
是一个非常低级的构建工具,它通常只用于非常小的项目或作为其他构建系统的后端(例如autotools或cmake).