对 makefile中 order-only 前提条件的理解

简介:
“order-only”依赖的使用举例:

    LIBS = libtest.a

foo : foo.c | $(LIBS)

       $(CC) $(CFLAGS) $< -o $@ $(LIBS)

make在执行这个规则时,如果目标文件“foo”已经存在。当“foo.c”被修改以后,目标“foo”将会被重建,但是当“libtest.a”被修改以后。将不执行规则的命令来重建目标“foo”。

 

还是自己做一个小例子会比较爽:

LIBS=lib.a
foo: foo.c | $(LIBS)
    touch foo
    @echo "gao"
在 foo.c 文件 和 lib.a 文件都存在的情况下。

执行 make 的结果是:

显示 

touch goo

gao

而 此时修改 lib.a 文件,再执行 make:

foo is up to date


本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/09/18/2690899.html,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
关系型数据库 MySQL 数据库
MySql GROUP_CONCAT使用说明
MySql GROUP_CONCAT使用说明
|
5月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在使用函数holiday_date遇到报错: “Perhaps you forgot to add it to using list when create funciton.,是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之出现无法在 information_schema.TASKS_HISTORY 表中查询到特定类型的 DI 上线任务记录,该怎么办
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
6月前
|
DataWorks 关系型数据库 MySQL
DataWorks操作报错合集之遇到报错:column 'street_cd' type 'void' is not allowed.,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
7月前
|
SQL 数据处理 调度
Dataphin常见问题之创建视图后查询找不到table怎么解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
关系型数据库 MySQL 测试技术
软件测试mysql面试题:如何在Employee_Details表中添加具有以下详细信息的新Employee详细信息
软件测试mysql面试题:如何在Employee_Details表中添加具有以下详细信息的新Employee详细信息
66 0

热门文章

最新文章