Использование команд оболочки, как упоминалось в других ответах, должно быть достаточным для большинства случаев использования:
if [ 1 -gt 0 ]; then \
#do something \
fi
Однако, если вы, как и я, хотите использовать больше чем сравнение для , тогда установите переменную make
с помощью make
'$(eval)
, то вы обнаружите, что пытаетесь сделать это, используя модель другого ответа:
if [ 1 -gt 0 ]; then \
$(eval FOO := value) \
fi
выдает ошибку:
if [ 1 -gt 0 ]; then fi;
/bin/bash: -c: line 0: syntax error near unexpected token `fi'
/bin/bash: -c: line 0: `if [ 1 -gt 0 ]; then fi;'
make: *** [clean] Error 2```
Я нашел способ, как разобраться с этой проблемой, и разместил ее в качестве решения этого другого вопроса . Я надеюсь, что кто-то найдет это полезным!