小编典典

如何将命令的输出分配给 Makefile 变量

all

我需要有条件地执行一些 make 规则,只有当安装的 Python 大于某个版本(比如 2.5)。

我以为我可以执行以下操作:

python -c 'import sys; print int(sys.version_info >= (2,5))'

然后在ifeqmake语句中使用输出(如果ok,则为‘1’,否则为‘0’)。

在一个简单的 bash shell 脚本中,它只是:

MY_VAR=`python -c 'import sys; print int(sys.version_info >= (2,5))'`

但这在 Makefile 中不起作用。

有什么建议么?我可以使用任何其他合理的解决方法来实现这一点。


阅读 55

收藏
2022-04-13

共1个答案

小编典典

像 in 一样使用 Makeshell内置MY_VAR=$(shell echo whatever)

me@Zack:~$make
MY_VAR IS whatever



me@Zack:~$ cat Makefile 
MY_VAR := $(shell echo whatever)

all:
    @echo MY_VAR IS $(MY_VAR)
2022-04-13