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

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

我想我可以做一些像执行:

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

然后在ifeq make语句中使用输出(‘1’如果确定,’0’否则)。

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

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

但在Makefile中不起作用。

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

使用Make shell内置命令,如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)

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...