2011-07-04 25 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

関連する問題