将python脚本中的值返回到makefile变量中

问题描述 投票:0回答:1

我有一个要求,我必须通过makefile运行python脚本。 Python脚本执行一些计算并返回一个值。我想在那个makefile变量中获取该值。我该怎么做?

我想要这样的东西:

mymakefile.mke

$output = python process.py

process.py

import os

def main():
    value = "01.00.00"
    return value
if __name__ == "__main__":
    main()
python python-3.x python-2.7 makefile
1个回答
0
投票

如果要使用Make变量中的值,则可以执行以下操作:

output := $(shell python process.py)

((请注意使用:=而不是=,因为如果使用=,则Make将在每次评估变量时运行脚本。)

如果要在配方中的shell变量中使用值,请查看将在Shell的命令行中使用的语法,可能类似于:

output=$(python process.py); echo $output

但是在makefile规则中,您必须使用更多美元符号来使美元符号转义:

some_target:
    output=$$(python process.py); echo $$output

注意,由于配方的每一行都在其自己的子外壳中执行,因此变量的赋值和使用必须在同一行上;它将无法生存到下一行。

© www.soinside.com 2019 - 2024. All rights reserved.