从Jamfile调用Python脚本

3
我希望能从Jamfile调用一个Python脚本来生成必要的源文件。
在Makefile中,它看起来会像这样:
sourcefile.c:
    python script.py

如何在Jamfile中以最优雅的方式存档类似这样的内容?

1个回答

1

这个的IT行业术语是:

actions CallScript
{
    python script.py
}

CallScript sourcefile.c ;

根据您的应用程序上下文,您可能需要做更多的工作。例如,如果脚本生成源文件并且您想编译该生成的源文件,则解决方案可能如下:
rule GenerateSource
{
    local source = [ FGristFiles $(1) ] ;
    MakeLocate $(source) : $(LOCATE_SOURCE) ;
    Clean clean : $(source) ;
    GenerateSource1 $(source) ;
}

actions GenerateSource1
{
    python script.py $(1)
}

GenerateSource sourcefile.c ;

Main foo : sourcefile.c ;

1
说起来,当脚本发生更改时,您可能希望更新源文件。因此,在规则中应添加Depends $(source) : script.py;。然后,您还可以将脚本作为第二个参数传递给操作(GenerateSource1 $(source) : script.py;),并在操作中使用该参数而不是在那里硬编码名称(python $(2) $(1))。哦,我一直假设脚本以您的源文件名作为参数。如果不是这种情况,请省略$(1) - user686249

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接