Quando você executa make
com esse makefile, o destino padrão é out
e o primeiro pré-requisito é calc.o
, que a linha de construção para esse destino é o que está em seu erro.
O que parece estar acontecendo é que toda a linha de construção está sendo executada pelo shell como se fosse citada - o que não é, e um% normalsh
não fará isso.
Mas talvez você não esteja usando algo que se qualifique como sh
compatible:
SHELL=cpp2
Redefinir isso (já está definido no ambiente) significa que cpp2
está sendo usado e, evidentemente, não se comporta adequadamente.