makefile bash配方--如果配方时存在文件,则包含该文件

问题描述 投票:0回答:1

我有一个运行一些自定义工具的makefile,其中一个工具有时会吐出一个额外的文件。其中一个工具有时会吐出一个额外的文件。这个文件必须在后续的配方中使用(如果它存在的话)。我不能假定它存在于依赖关系中,但如果它存在的话,我必须将它添加到后续的配方命令中。这是我目前的处理方法。

final_recipe:
 [ ! -f "maybe.file" ] || tool maybe.file ...
 [ -f "maybe.file" ] || tool ...

这很难看 有什么建议可以让bash的可执行行评估文件是否存在,如果存在,就把它嵌入?比如说:

final_recipe
 tool ([ -f "maybe.file"] ? maybe.file) ...
bash makefile
1个回答
1
投票

这可能达到你想要的目的。

final_recipe:
    tool $$(test -f maybe.file && echo maybe.file) ...

根据MadScientist的评论更新

© www.soinside.com 2019 - 2024. All rights reserved.