如何从命令行检查 是否已在Guile支持下构建了GNU Make?
在Makefile内部,可以通过分析.FEATURES
变量(请参见documentation)来确定。
答案 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”或不显示任何内容。