Из GNU Make документацию,
5.3.1 Choosing the Shell
------------------------
The program used as the shell is taken from the variable `SHELL'. If
this variable is not set in your makefile, the program `/bin/sh' is
used as the shell.
Так что поместите SHELL := /bin/bash
в начало вашего make-файла, и вам следует идти дальше.
Кстати: вы также можете сделать это для одной цели, по крайней мере, для GNU Make. Каждая цель может иметь свои собственные назначения переменных, например:
all: a b
a:
@echo "a is $$0"
b: SHELL:=/bin/bash # HERE: this is setting the shell for b only
b:
@echo "b is $$0"
Это напечатает:
a is /bin/sh
b is /bin/bash
См. «Значения переменных для конкретной цели» в документации для получения более подробной информации. Эта строка может идти в любом месте Makefile, она не должна быть непосредственно перед целью.
/bin/sh: -c: line 0: syntax error near unexpected token
('`