저도 Makefile 질문입니다. 도와주세요
글쓴이: jykimi / 작성시간: 목, 2004/10/14 - 4:55오후
안녕하세요 Make 를 실행하는 데 아래와 에러가 발생합니다.
======================================
에러내용
/bin/sh: cd: RSLM: 그런 파일이나 디렉토리가 없음
======================================
Makefile은
SUBDIRS = \
HAL \
NDM \
NRM \
RSBM \
RSGM \
RSLM
prog :
@for DIR in $(SUBDIRS); do\
cd $$DIR; $(MAKE) $(MKFLAGS); \
done
======================================
이와 같이 있을 때 subdir위의 디렉토리에서 위의 make 파일을 돌리면,
즉 하위디렉토리를 재귀적으로 컴파일하려 하는데..
처음 HAL이란 하위 디렉토리에 들어가서 컴파일은 되는데..
그다음 디렉토리부터는 디렉토리를 찾을 수 없다는 에러가 뜨면서
다른 디렉토리로 들어가지 못합니다.
무엇인 문제인가요? 모든 하위 디렉토리를 절대경로로 지정을 해야하는 건가요?
경로상의 문제인 거 같은데 정확한 이유를 모르겠습니다.
Forums:
cd로 sub directory로 들어간 다음, 다시 나오지를 않아서 그
cd로 sub directory로 들어간 다음, 다시 나오지를 않아서 그런 것 같습니다. 또한 cd의 성공 여부와 상관없이 다시 make를 수행하므로 잘못하면 재귀적으로 호출되는 버그가 발생할 수 있습니다. (힌트. 하위 디렉토리가 하나도 없는 빈 디렉토리에 위 Makefile를 만들어서 make를 실행해보세요.) 해결책은... for .. done의 사이에 다음과 같이 하면 일단은 됩니다.
위와 같은 방식보다는 $(MAKE) -C 방식을 쓰는 것이 더 깔끔할 것 같습니다.
자세한 것은 다음 명령을 수행하면 자세히? 나옵니다.
$ info make recurs
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
감사합니다...이젠 되네요..알켜주신 쪽으로 좀 더 봐야겠습니다..
감사합니다...이젠 되네요..알켜주신 쪽으로 좀 더 봐야겠습니다..
지키미
댓글 달기