【问题标题】:Target depends on file to be created目标取决于要创建的文件
【发布时间】:2011-09-04 18:25:08
【问题描述】:

使目标依赖于要在其配方中创建的文件的最简单方法是什么?我可以使用一些 shell 魔法:

target:
        [ -e file ] || touch file

但理想情况下,我想用 make 完成测试。可能吗?仅当文件尚不存在时,目标命令才应运行。

【问题讨论】:

    标签: makefile gnu-make


    【解决方案1】:

    如果您提供有关您想要完成的任务的更多信息,我们或许可以为您提供更好的帮助。根据您目前所说的,听起来普通的旧 make 先决条件应该可以为您解决问题:

    target: file
            touch target
    
    file:
            touch file
    

    如果file不存在,则创建;如果是这样,file 的命令将不会被执行。

    【讨论】:

    • 谢谢埃里克!很抱歉提供的信息很少,我只是尽量减少它。我正在尝试更直接的方法,例如target: file(\n)(\t)touch file,但没有成功。我认为将文件名作为先决条件就足够了——应该回到一些基础。
    猜你喜欢
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    相关资源
    最近更新 更多