make file 질문입니다.
글쓴이: epilogue / 작성시간: 화, 2004/03/23 - 11:25오전
여러 하위 디렉토리에 있는 Makefile 들을 상위 디렉토리에서 한꺼번에 make 하려고 상위 디렉토리에 Makefile을 만들었습니다.
-------------------------------------
all : a b
a :
cd $(root)/a ; $(MAKE)
b :
cd $(root)/b ; $(MAKE)
.
.
.
--------------------------------------
뭐 위와같이 하면 되겠지만...
서브 디렉토리 들이 너무도 많아서...-_-;
그 서브 디렉토리를 하나의 macro로 지정하고...
하나의 관계로 정의할 수는 없나요?
가령..
TARGET = a b c d ....
all : $(TARGET)
$(TARGET) :
cd $(root)/$(TARGET) ; $(MAKE)
뭐 이건 어디까지나 이런식이라는 거지만....
이런식으로 하는 방법은 없을까요?
아시는 분...좀 알려주세요..-_-;;;;
Forums:
[code:1]TARGET = a b call: sub
잘 이해가 안가네요..-_-;;
전 a b c ... 이것을 디렉토리가 가정하고...
각 디렉토리에 각각의 Makefile 이 있는 경우거든요.
답변해주신 내용에서 D는 뭔가요...-_-;;;;
될 듯은 한데...잘 안되네요...ㅠ.ㅠ
책에도 그다지 나와있지도 않구요..
누가 좀 다시 알려주세요~
Re: 잘 이해가 안가네요..-_-;;
타겟에대한 입력변수네요..
근데 저도 Makefile 에서는 for 문을 안써봤는데...
저같은경우는 그냥 Script로 만듭니다.
님이 하신말과 위의for를 적용해보면 이렇게 하면된다는건데..
되나요?ㅎㅎ
----------------------------------------------------------------------------
아.. 위에서 오류가 발생할수도 있겠네요.. make 경우는 디폴트경로에
아.. 위에서 오류가 발생할수도 있겠네요.. make 경우는 디폴트경로에 있는파일도 찾아야하니.. 직접이동하는게 더낫겠네요..
make -f $(root)/$$D/Makefile; \ 를..
cd $(root)/$$D;make;cd ..;\
으로 바꿔보세요..
----------------------------------------------------------------------------
[code:1]MODULESDIR = test1 test2 test3
ppcboot 소스에서 사용하는 방법입니다.
MODULESDIR에서 정의된 디렉토리들로 진입해서 make를 수행합니다.
그리고 만약 make에서 에러가 발생하면 exit -1로 종료하게 됩니다.
댓글 달기