Android.mkすべてのファイルのサブディレクトリをトラバース

Android.mkすべてのファイルのサブディレクトリをトラバース

  1.  
    すべて-CPP-ファイルをアンダー定義
  2.  
    $(patsubst ./%,%、\
  3.  
    $(シェルでcd $(LOCAL_PATH); \
  4.  
    ($見つける 1)-name "* .cppファイル" - と- -nameない"*。" - と- -nameない"CCEditBoxImplWindow.cppを")\
  5.  
  6.  
    endef
  7.  
     
  8.  
    すべて-サブディレクトリ-CPP-ファイルを定義します
  9.  
    $(呼び出すすべての-CPP-ファイルアンダー,.)
  10.  
    endef
  11.  
     
  12.  
    LOCAL_SRC_FILES := $(全サブディレクトリ-CPP-ファイルを呼び出します)

このメソッドを使用すると、すべてのサブディレクトリの.cppファイルを横切ることができるパラメータやフィルタは任意のファイルを横断実現することができます交換してください。

Android.mk書き込みが非常に簡単で便利になってきている、もはやファイルのリストを維持する必要がありません。

もっと簡単なマクロは、ディレクトリ内のすべてのファイルを介して達成することができる添付(ただし、再帰呼び出し)

 

LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/../*.c)

単一のディレクトリ構造場合はファイルが同じで、この非常に単純な効果によって達成することができ、ワイルドカードが通過することができます。C ++のコードワード(* .cppファイル)の場合は、以下の方法を使用する必要がある、またはそれがファイルを見つけられないことがあります。

 

 

  1.  
    file_listの := $(ワイルドカード$(LOCAL_PATH)/../* CPP。)
  2.  
    LOCAL_SRC_FILES := $(file_listの:$(LOCAL_PATH)/%=%)

 

(すべてのファイルを介しが、ファイルのディレクトリを無視する)バージョンを強化

 

  1.  
    すべて-CPP-ファイルをアンダー定義
  2.  
    $(patsubst ./%,%、\
  3.  
    $(シェルでcd $(LOCAL_PATH); \
  4.  
    見つける$( 1)-name LogicLayer -prune -o -name "* .cppファイル" - と- -nameません)\ "*。"
  5.  
  6.  
    endef
あなたは-pruneで「LogicLayer」ディレクトリを無視する指定することができます

おすすめ

転載: www.cnblogs.com/adong7639/p/11350055.html