使用Makefile执行的Python脚本

时间:2009-06-30 08:28:39

标签: python makefile

我正在编写python脚本并在Makefile中执行它们。 python脚本用于处理管道中的数据。我希望Makefile在每次更改我的python脚本时执行脚本。

有没有人知道如何做到这一点?

3 个答案:

答案 0 :(得分:17)

这不是很多信息,所以这个答案有点模糊。 Makefile的基本原则是列出每个目标的依赖关系;在这种情况下,你的目标(让我们称之为foo)取决于你的python脚本(让我们称之为do-foo.py):

foo: do-foo.py
    python do-foo.py > foo

现在foo将在do-foo.py更改时重新运行(当然,前提是你调用make)。

答案 1 :(得分:3)

如果需要运行的脚本没有生成任何可用作目标的有用输出文件,您可以使用虚拟目标:

scripts=a.py b.py c.py
checkfile=.pipeline_up_to_date

$(checkfile): $(scripts)
    touch $(checkfile)
    echo "Launching some commands now."

default: $(checkfile)

答案 2 :(得分:0)

如果您希望在保存后立即自动“生成”Makefile,pyinotifyinotify的包装器)可能是Linux下唯一的可能性。它在内核处注册以检测FS更改并回调您的函数。

请参阅我关于该主题的previous post