如何检查GNU Make是否支持Guile

时间:2019-02-13 12:58:01

标签: command-line-arguments gnu-make guile

如何从命令行检查 是否已在Guile支持下构建了GNU Make?

在Makefile内部,可以通过分析.FEATURES变量(请参见documentation)来确定。

2 个答案:

答案 0 :(得分:2)

该手册说,@ ruvim指出

  

您可以通过检查.FEATURES变量 guile 来确定GNU Guile支持是否可用。

$(if $(filter guile,${.FEATURES}) \
  ,$(info Guile suppoerted, yay!) \
  ,$(error Guile not supported - update your make))

答案 1 :(得分:0)

一种可能的方法是在stdin中创建一个准makefile。

因此,可以通过以下方式打印.FEATURES变量:

echo '$(info $(.FEATURES))' | make -f -

以下命令输出 guile 字符串(如果受支持,否则不输出):

echo '$(info $(filter guile,$(.FEATURES)))' | make -f -  2>/dev/null

使用grep的变体形式:

echo '$(info $(.FEATURES))' | make -f - 2>/dev/null | grep -wo guile

解决方案

如@bobbogo所述,我们可以使用--eval选项完全避免使用管道:

make --eval '$(info $(filter guile,$(.FEATURES)))' 2>/dev/null

此命令将打印“ guile”或不显示任何内容。