Проблема с ifeq в Makefile

Я пытаюсь использовать ifeq в моем шаблоне правил, и у меня с ним возникают проблемы. У меня возникают проблемы с этим правилом:

$(OBJS): $(OBJDIR)/%.o : ../%.c
    @mkdir -p $(dir $@)
    ifeq(mcc.exe,$(CC))
        o_file:=$(shell echo $@ | sed -e 's/\/cygdrive\///' | sed -e 's/\([a-zA-Z]\)/\1:/')
        $(CC) $(CFLAGS) $< -o $(o_file)
    else
        $(CC) $(CFLAGS) $< -o $@
    endif

Когда я запускаю это, я получаю:

"/bin/sh: -c: line 0: syntax error near unexpected token `mcc.exe,mcc.exe'
/bin/sh: -c: line 0: `ifeq(mcc.exe,mcc.exe)'"

Но когда я не использую отступы, я получаю: «Makefile: 77: * отсутствует разделитель. Стоп. "

Я использую GNU make 3.81 на Cygwin. Вся проблема с ifeq возникает из-за того, что у меня один и тот же Makefile для двух наборов инструментов, и один из них (mcc.exe) не может справиться с путями /cygdrive/c/.../something, но вместо этого должен быть c: /.../something path. Если вы знаете какой-либо другой способ обойти это, я был бы очень благодарен!

Заранее спасибо!

7
задан Joris Meys 19 April 2011 в 10:00
поделиться