Gnu обусловливает переменную среды

#makefile #gnu-make

#makefile #gnu-make

Вопрос:

У меня есть следующее в Makefile:

 ifndef MYVAR
$(error "MYVAR is not set")
else
$(warning "MYVAR is set to [$(MYVAR)]")
ifeq ($(MYVAR),"abc")
$(error "Value is known.")
else
$(error "Not known.")
endif
endif
  

Я устанавливаю MYVAR при вызове make:

 MYVAR=abc make
  

Я бы ожидал увидеть «Значение известно». но я получаю следующее:

 Makefile:4: "MYVAR is set to [abc]"
Makefile:8: *** "Not known.".  Stop.
  

Не мог бы кто-нибудь, пожалуйста, просветить меня о том, что не так с моим заявлением ifeq?

Комментарии:

1. ifeq ($(MYVAR),abc) или MYVAR='"abc"' make .

2. Дох! Спасибо, @melpomene

Ответ №1:

На вопрос ответил @melpomene в комментариях. Как и часто раньше, ошибка цитаты.

 ifeq ($(MYVAR),abc) or MYVAR='"abc"' make