É sh
:
The execution line shall then be executed by a shell as if it were passed as the argument to the system() interface
system()
usa sh
. Você pode definitivamente usar as palavras-chave da Linguagem de Comando do POSIX Shell e quaisquer comandos que não sejam de palavras-chave que você espera estar disponível em sua plataforma host.
sh
no seu sistema pode, na verdade, ser outro nome para um shell diferente (como bash
). Nesse caso, você teria mais opções disponíveis. Esse tipo de makefile não será portátil, no entanto.
Como você pergunta sobre o GNU make especificamente, eu também notarei que ele permite que você especifica um shell diferente para usar no makefile, mas esse makefile novamente não será portável para outras implementações de make
. O GNU make usa sh
por padrão, conforme POSIX especifica.