Это sh
:
Строка выполнения должна затем выполняться оболочкой, как если бы она была передана в качестве аргумента в system () интерфейс
system ()
использует sh
. Вы определенно можете использовать ключевые слова POSIX Shell Command Language и любые команды без ключевых слов, которые, как вы ожидаете, будут доступны на вашей хост-платформе.
sh
в вашей системе может фактически быть другим именем для другой оболочки (например, bash
), и в этом случае у вас будет больше доступных опций. Однако такой make-файл не будет переносимым.
Когда вы спрашиваете конкретно о GNU make, я также отмечу, что он позволяет вам указать другую оболочку для использования в make-файле, но этот make-файл снова не будет переноситься на другие реализации сделать
. GNU make по умолчанию использует sh
, как указывает POSIX.