Как присвоить вывод команды к переменной Make-файла

Я должен выполниться, некоторые делают правила условно, только если установленный Python больше, чем определенная версия (скажите 2.5).

Я думал, что мог сделать что-то как выполнение:

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

и затем с помощью вывода ('1', если хорошо, '0' иначе) в a ifeq сделайте оператор.

В простом сценарии оболочки удара это справедливо:

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

но это не работает в Make-файле.

Какие-либо предложения? Я мог использовать любое другое разумное обходное решение для достижения этого.

194
задан tshepang 27 February 2014 в 22:07
поделиться

1 ответ

Используйте оболочку 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)
306
ответ дан 23 November 2019 в 05:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: