2013年5月5日 日曜日 HOME > Cocos2d-x
Cocos2d-xで新しく作ったクラスを毎回Android.mkに追加せずに済ます
「iOSとAndroidで同じファイルを参照させてるけど、新しいクラス作ったら毎回 Android.mk へパスを記述する手間は地味に面倒!」ということで、自動で全てを取得させる方法です。
Android.mkを編集してクラスファイル一覧を自動で取得させる
shellコマンドを使うとファイル一覧を取得出来るようなので、クラスファイルがまとめてあるフォルダから必要ファイル名を全て取得し、今まで一つずつ追加していた LOCAL_SRC_FILES にまとめて追加するという形で実装。
# ディレクトリ構成 # ├myProject.xcodeproj # ├[myProject] # :├[Classes] # │ └ (Class Files) ←ここのcppファイルを全て取得 # ├[proj.android] # : ├[jni] # :├Android.mk # ├[hellocpp] # : └ main.cpp # 変更前 # LOCAL_SRC_FILES := hellocpp/main.cpp # ../../Classes/AppDelegate.cpp # ../../Classes/HelloWorld.cpp 以下略 # 変更後 CPP_FILES := $(shell find $(LOCAL_PATH)/../../Classes -name *.cpp) LOCAL_SRC_FILES := hellocpp/main.cpp LOCAL_SRC_FILES += $(CPP_FILES:$(LOCAL_PATH)/%=%)
自分の場合、必要なファイルがcppファイルのみなので、*.cpp で抽出してます。正規の方法がわからないので、とりあえずこれで。