Если вы хотите получить значение в переменной Make , вы можете сделать это:
output := $(shell python process.py)
(обратите внимание на использование :=
вместо =
, потому что если вы используйте =
, Make будет запускать скрипт каждый раз, когда он оценивает переменную.)
Если вы хотите, чтобы значение в переменной shell в рецепте, посмотрел на синтаксис, который вы бы использовали в командной строке в вашей оболочке, что, вероятно, выглядит примерно так:
output=$(python process.py); echo $output
, но в правиле make-файла вы должны экранировать знаки доллара с большим количеством знаков доллара:
some_target:
output=$$(python process.py); echo $$output
Обратите внимание, что поскольку каждая строка рецепта выполняется в своей собственной под-оболочке, назначение и использование переменной должно быть в одной строке; он не доживет до следующей строки.