在Makefile中,如何清理lockfile文件?

前端之家收集整理的这篇文章主要介绍了在Makefile中,如何清理lockfile文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在GNU Make 3.81中,我需要在工具链的任何部分发生错误删除文件.是否有特殊目标可以让我这样做?我需要编写包装脚本吗?

在下面的示例中,如果file.out的规则失败,我需要unlock_id.

谢谢!
-Jeff

all: lock_id file.out unlock_id

file.out: file.in
    file-maker < file.in > $@

lock_id:
    lockfile file.lock

unlock_id:
    rm -rf file.lock

解决方法

我会在与文件制作者相同的目标中进行锁定/解锁:
file.out: file.in
        lockfile $@.lock
        file-maker < $< > $@; \
        status=$$?; \
        rm -f $@.lock; \
        exit $$status

这会在同一个shell中执行文件制作者和解锁步骤,从而保存文件制作者的状态,因此如果文件制作者失败,make将失败.

原文链接:https://www.f2er.com/c/118791.html

猜你在找的C&C++相关文章