'makefile'에 해당되는 글 2건

  1. 2011.12.27 makefile에서 bracket들의 차이
  2. 2008.11.03 makefile에서 cygpath 사용하기

기능상에 아무런 차이가 없을 것 같지만, 혹시나 해서 찾아보고 있는데 결과는 마찬가지다.


round bracket : 주로 archive에 포함된 object들을 대체할 때 사용된다.

curly bracket : round bracket의 용도가 주로 저쪽으로 사용되니 일반적인 macro를 사용할 때 (CC로 컴파일러를 지정한다던지) 사용된다

nothing: $@ $< 등은 사용가능하지만 어디까지나 내부변수를 사용하는데 사용되도록 적극 권장된다.


몇개 링크를 찾았는데... 링크걸긴 귀찮고.. 구글링해서 얻은 정보.. 왤케 만사가 귀찮노.. -.-;

Posted by 강군님

댓글을 달아 주세요

cygwin 환경은 가끔 곤혹스러운 경우를 만드는데, 이번건도 아마 그런 경우 중에 하나일 것이다.

armcc를 사용한 makefile을 만드는데, 일반적으로 armcc (ADS)는 C:\Program Files\ARM\ADSv1_2 뭐... 기본적으로 요렇게 깔린다.

이걸 cygwin에서 사용할라면 흔히 /cygdrive/c/Program\ Files/ARM/ADSv1_2 이렇게 표현을 하곤 한다.

다만 문제가 되는 것은, armcc 에 경로가 들어가는 인자 (include path를 지정하는 -J 옵션 같은 경우)가 들어간다면 문제가 생긴다. 예를 들어...

target:
armcc -여러가지 옵션들... -J/cygdrive/c/Program\ Files/ARM/ADSv1_2/Include


이렇게 하면 armcc는 이건 잘못된 경로라고 인식한다... (라기보다 그런 듯 하다.  그러나 armcc는 이게 잘못된 경로라는 에러를 발생시키지 않는다!!!)

이걸 해결하려면 cygwin에서 사용하는 경로를 windows나 dos style로 바꿔주는 util인 cygwin을 사용하면 해결 된다.  위와 같은 경우는

ADS_INC = "/cygdrive/c/Program\ Files/ARM\ADSv1_2/Include"
CYGWIN_ADS_INC = $(shell cygpath -d -a $(ADS_INC))

target:
armcc -여러가지 옵션들.. -J$(CYGWIN_ADS_INC)


cygpath에 사용되는 여러가지 옵션이 있는데, 이중에 -d는 dos style로.. (그러니까 8.3 규칙을 벗어나면 틸트(~)로 표시되게...) 하는것이고 -a는 절대경로로 만들라는 의미이다.  음... 오랜만의 포스팅인데 .. 의외로 간단 -.-
Posted by 강군님

댓글을 달아 주세요