2011-07-04 5 views
7

현재 디렉토리의 하위 디렉토리에서 mk 파일을 호출하려면 Android.mk 파일에 무엇을 써야하는지 묻고 싶습니다.

예 :
/packages/Android.mk
/package/groupA/Android.mk
/packages/groupA/AppA/Android.mk
/packages/groupA/AppB/Android.mk
하위 디렉토리에서 Android.mk 파일 읽기 재귀 적으로

include $(call all-subdir-makefiles)을 사용하면 즉각적인 하위 디렉토리에있는 Android.mk 파일을 읽을 수 있습니다 (예 : /package/groupA/Android.mk). 그러나 /packages/groupA/AppA/Android.mk 및 /packages/groupA/AppB/Android.mk는 읽을 수 없습니다.

모든 하위 디렉토리에 Android.mk를 반복적으로 읽는 다른 매크로가 있는지 궁금합니다.

감사합니다, 가장 편리한 솔루션은 /package/groupA/Android.mk 파일 내부도 include $(call all-subdir-makefiles) 명령을두고있다

답변

9


artsylar. 당신이 만 세 번째 수준의 MK 파일을 원하는 경우

그러나 다음과 같은 명령을 사용할 수 있습니다 : 여기

include $(wildcard $(call my-dir)/*/*/Android.mk) 

그리고 완전히 재귀 솔루션입니다,하지만 쉘에서 find 명령에 의존 :

include $(filter-out $(call my-dir)/Android.mk,$(shell find $(call my-dir)/ -type f -name Android.mk)) 
+0

답장을 보내 주셔서 감사합니다. 사실, 나는'include $ (call all-subdir-makefiles)'를 mk 파일에 쓰지 않고도 작업을했다. 모든 mk 파일을 읽는 스크립트에 문제가있는 것 같습니다. 나는 언젠가 당신의 대답을 시도 할 것입니다. 나는 그것이 다른 사람들에게 도움이된다는 것을 안다. – artsylar

관련 문제