如果一个文件比另一个文件更新,如何在Makefile中运行命令?

时间:2017-05-20 16:57:05

标签: makefile

如果一个文件('glide.lock')比目录('vendor')更新,我正在尝试运行一些命令(在下面的例子中,echo)。

在一个操作系统上,这有效:

deps:
    @test glide.lock -nt vendor; \
    RETVAL=$$?; \
    if [ $$RETVAL -eq 0 ]; then \
        echo dependencies out of date; \
    fi

但是在另一个(Ubuntu)上,它没有。在两个系统上,手动运行test glide.lock -nt vendor并检查$?会给出正确的答案。

我怎样才能以最兼容的方式做到这一点?

1 个答案:

答案 0 :(得分:2)

这有点像黑客,但是怎么样:

vendor: glide.lock
    echo dependencies out of date