Как проверить, поддерживает ли GNU Make Guile - PullRequest
0 голосов
/ 13 февраля 2019

Как проверить из командной строки , построен ли GNU Make с поддержкой Guile?

Внутри Makefile это можно определить с помощью анализа переменной .FEATURES (см. Документацию ).).

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Как указывает @ruvim, в руководстве написано

Чтобы определить, доступна ли поддержка GNU Guile, проверьте переменную .FEATURES для слова guile .

$(if $(filter guile,${.FEATURES}) \
  ,$(info Guile suppoerted, yay!) \
  ,$(error Guile not supported - update your make))
0 голосов
/ 13 февраля 2019

Один из возможных способов - это квази-make-файл в stdin.

Итак, переменная .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' или ничего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...