Проблема в том, что каждая строка в рецепте работает в своей собственной подоболочке, поэтому все условные выражения должны быть в одной строке, иначе они не будут работать. Я не уверен, какую оболочку вы используете, но я предполагаю, что вы проверили это условие в командной строке, и оно работает:
ifeq (0,0)
echo hello
endif
Без подходящей оболочки я не могу проверить это, но Я думаю, что вы также можете сделать что-то вроде этого:
ifeq (0,0); echo hello; endif
Если так, то это также будет работать в make-файле:
all:
ifeq (0,0); echo hello; endif
Строки могут быть перенесены с помощью обратной косой черты:
all:
ifeq (0,0);\
echo hello;\
endif
(Обратите внимание, что требуется только табуляция перед ifeq
.)