Cocos2d-xで新しく作ったクラスを毎回Android.mkに追加せずに済ます

Cocos2d-x

「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 で抽出してます。正規の方法がわからないので、とりあえずこれで。

プロフィール
Daisuke Suzuki
ウェブサイトの制作から運営管理、アプリ開発など、様々な挑戦をして試行錯誤の日々を送っているフリーランスです。対外業務をするお仕事生活から抜け、現在は個人制作でご飯を食べています。 最近はアプリ攻略サイト AppGames を制作・公開し、そちらも手がけています。詳しいプロフィール
サイト内検索
facebook
このブログについて1
一から制作したお手製ブログ ver1.23
2012年9月11日に開始。自分で見て触って動かして、日々コツコツと調整しています。