내 규칙 패턴에 ifeq를 사용하려고하는데 문제가 있습니다. 내가 들여 쓰기를 사용하지 않는 경우, 그때 얻을Makefile ifeq 문제
"/bin/sh: -c: line 0: syntax error near unexpected token `mcc.exe,mcc.exe'
/bin/sh: -c: line 0: `ifeq(mcc.exe,mcc.exe)'"
을 :하지만 나는이 프로그램을 실행할 때
$(OBJS): $(OBJDIR)/%.o : ../%.c
@mkdir -p $(dir [email protected])
ifeq(mcc.exe,$(CC))
o_file:=$(shell echo [email protected] | sed -e 's/\/cygdrive\///' | sed -e 's/\([a-zA-Z]\)/\1:/')
$(CC) $(CFLAGS) $< -o $(o_file)
else
$(CC) $(CFLAGS) $< -o [email protected]
endif
, 내가 얻을 : 이것은 내가에 문제가하고있는 규칙이다 "메이크 : 77 : * 분리 기호가 없습니다. 중지 "
Cygwin에서 GNU make 3.81을 사용하고 있습니다. ifeq에 대한 전체적인 문제는 두 개의 툴체인에 대해 동일한 Makefile이 있고 그 중 하나 (mcc.exe)가 /cygdrive/c/.../ something paths에 대처할 수 없지만 대신 c : /.../ something path. 이 문제를 해결하기위한 다른 방법을 알고 있으면 매우 감사 할 것입니다.
미리 감사드립니다.
답변을 찾았습니다! 들여 쓰기가 없어야하지만, ifeq와 열린 대괄호 사이에 공백이 있어야합니다. '(문제가 해결되었습니다. 희망이 누군가를 도왔습니다.) ... – Nikola
이것은 나를 조금도 저주했습니다. 감사합니다. – Sam