5
Android用のハードウェアテストをいくつか構築しています。 I以下に示すように、それぞれのメイクファイルのコードのブロックを使用して、これらの実行ファイル一つ一つを構築Android.mkファイルを持っている:あなたが見ることができるように複数の実行ファイルをビルドするAndroid.mkファイルの簡略化
##### shared #####
LOCAL_PATH := $(my-dir)
##### test_number_one #####
test_name := test_number_one
include $(CLEAR_VARS)
LOCAL_CFLAGS := $(commonCflags)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../
LOCAL_MODULE_TAGS := optional eng
LOCAL_SHARED_LIBRARIES := some_library some_other_library
LOCAL_MODULE := $(test_name)
LOCAL_SRC_FILES := tests/$(test_name)/$(test_name).c
include $(BUILD_EXECUTABLE)
##### test_number_two #####
test_name := test_number_two
include $(CLEAR_VARS)
LOCAL_CFLAGS := $(commonCflags)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../
LOCAL_MODULE_TAGS := optional eng
LOCAL_SHARED_LIBRARIES := some_library some_other_library
LOCAL_MODULE := $(test_name)
LOCAL_SRC_FILES := tests/$(test_name)/$(test_name).c
include $(BUILD_EXECUTABLE)
、コードの大部分はのために繰り返されます各試験(include $(CLEAR_VARS)
とinclude $(CLEAR_VARS)
の間)。私はこれを単純化して、テスト名のリストと、それぞれに対して「呼び出される」makefileコードのセクションを持っているようにしたいと思います。そのコードを別のファイルに分割する必要があるかどうかは気にしません。ここに私が行っていることを示すためのPython風の擬似コードがあります:
##### shared #####
LOCAL_PATH := $(my-dir)
##### test_number_one #####
test_names := test_number_one test_numer_two
for each item in test_names:
include $(CLEAR_VARS)
LOCAL_CFLAGS := $(commonCflags)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../
LOCAL_MODULE_TAGS := optional eng
LOCAL_SHARED_LIBRARIES := some_library some_other_library
LOCAL_MODULE := $(item)
LOCAL_SRC_FILES := tests/$(item)/$(item).c
include $(BUILD_EXECUTABLE)
これはAndroid.mkファイルで可能ですか?どのようにそれを行うことができますか?
フラグが変更されない場合、noを再初期化する必要はありませんか? – Geoffroy