makefile 에서 xxxx(aa,aaa) 전달하기..
글쓴이: elecguy / 작성시간: 화, 2004/08/03 - 5:10오후
안녕하세요.
윈도우즈상에서 작은 임베디드(리눅스는 아님) 프로그램을 작성하고 있습니다.
컴파일러는 keil c 이고 MinGW + Msys 에 포함된 make 이용하여 makefile 을 작성하고 있는데.
다음과 같은 경우를 어떻게 처리해야될지 모르겠습니다.
..... CFLAGS = OPTIMIZE(4,SPEED) ..... cboot.obj: cboot.c $(CC) cboot.c $(CFLAGS)
위와 같은 경우 아래와 같은 에러메시지가 나옵니다.
Quote:
D:\prj\atv\boot>make -f c51mon.mak
c51 cboot.c OPTIMIZE(4,SPEED) BROWSE DEBUG OBJECTEXTEND
/bin/sh.exe: -c: line 1: syntax error near unexpected token `OPTIMIZE(4'
/bin/sh.exe: -c: line 1: `c51 cboot.c OPTIMIZE(4,SPEED)'
make: *** [cboot.obj] Error 2
아무래도 () 때문에 make 내장명령으로 인식한것 같은데 그냥 문자열인 것처럼 어떻게 인식하게 하나요?
Forums:
Re: Quote
" " 로 묶어 보세요.
PS) make 내장명령이라기 보다는
sh.exe 가 ( 때문의 자신이 처리해야 한다고 인식한거 같네요.
CC = kc라고 정의되어 있다면. (keli c 명령이 kc라고 가
CC = kc
라고 정의되어 있다면. (keli c 명령이 kc라고 가정..)
make는 위 변수 치환을 한 후에 shell에게 넘겨줍니다.
kc cbook.c OPTIMIZE(4,SPEED)
shell이 이 괄호에 반응하는거죠.
그런데
kc cbook.c "OPTIMIZE(4,SPEED)"
라고 부르면 잘 되나요? 옵션을 전달하는 방식이 특이하네요.
댓글 달기