Makefile是否可以依赖shell脚本的结果?

时间:2014-11-24 03:23:28

标签: shell makefile

有没有办法将shell脚本的返回值用作Makefile中的依赖项?

例如:

生成文件:

proj: getsource.sh
    cc src1.c src2.c ...
getsource.sh: checksource.sh
    wget http://www.something.com/src1.c

checksource.sh:

#!/bin/sh
# bash pseudo code because I can never remember bash's syntax
if [[ -not -exists src1.c ]]
    exit 1
else
    exit 0
...

在没有源存在的情况下执行时,Makefile将运行getsource.sh目标,然后运行proj目标。如果源存在,它只会运行proj目标。

1 个答案:

答案 0 :(得分:0)

如何做到这一点:

proj: src1.c src2.c  # ...
    cc src1.c src2.c  # ...

src1.c:
    @echo "retrieving src1.c ..."
    @wget http://www.something.com/src1.c