2
Согласно this link, кажется, что оба эти условия будут оцениваться с одинаковыми результатами, так в чем же разница между ними?
ifeq ($(foo),)
execute somethings
endif
и
ifndef foo
execute somethings
endif
Цитата из руководства: «Обратите внимание, что ifdef проверяет, имеет ли переменная значение. Оно не расширяет переменную, чтобы увидеть, не является ли это значение непустым». –
Обратите внимание, что 'ifndef foo ...' очень похож на 'ifeq (, $ (value foo)) ...'. Также не будет жаловаться, когда действует '--warn-undefined-variables'. – bobbogo