加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 目录作为make规则中的依赖项

发布时间:2020-12-14 01:03:03 所属栏目:Linux 来源:网络整理
导读:是否可以在Makefile规则中将目录指定为依赖项?实际上我在目录中有一个Makefile,另一个目录包含所有源文件. ..|_ Makefile|_ src |_a.c |_a.h 现在我希望每当我在src目录中进行任何更改时,即在a.c或a.h中,我的Makefile中的特定规则在发出make命令时被调用.就
是否可以在Makefile规则中将目录指定为依赖项?实际上我在目录中有一个Makefile,另一个目录包含所有源文件.

.
.
|_ Makefile
|_ src
    |_a.c
    |_a.h

现在我希望每当我在src目录中进行任何更改时,即在a.c或a.h中,我的Makefile中的特定规则在发出make命令时被调用.就像是

Makefile
.
.
.
build: src
    <commands>

clean:
    <commands>

解决方法

虽然可以将目录作为依赖项,但有一些事项需要注意.考虑一下:

directory:
        @mkdir -p directory

directory/file : directory
        commands-to-make-the-file

这会做你的想法.但是,只要文件比目录更旧,它就会执行命令生成文件,这可能不是您想要的.

您需要考虑目录时间戳更新的场景.只要将文件添加到目录中或从目录中删除文件,就会发生这种情况,但在修改现有文件时不会发生这种情况.

因此,更新目录的一些不相关的操作将导致文件变得过时,可能是不必要的,这将触发命令重新创建它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读