initファイルへのproperty関連ファイルの関連付をソースを追って調べてみた。
cm-12.1の場合
1. "system/core/init"を指定しているMakeファイルの探索
下記のコマンドで探索する
$ find ./ -name '*.mk' | xargs grep 'LOCAL_C_INCLUDES := system/core/init' -lrns
./device/qcom/common/init/Android.mk
2. 見つかったAndroid.mkの中身の確認。
下記はLineageOSのandroid_device_qcom_commonリポジトリ中のものから一部抜粋すると,
ifeq ($(LIBINIT_USE_MSM_DEFAULT),true)
LOCAL_SRC_FILES += init_msmdefault.c
else
ifneq ($(TARGET_LIBINIT_DEFINES_FILE),)
LOCAL_SRC_FILES += ../../../../$(TARGET_LIBINIT_DEFINES_FILE)
else
LOCAL_SRC_FILES += init_$(TARGET_BOARD_PLATFORM).c
endif
endif
LOCAL_MODULE := libinit_msm
TARGET_LIBINIT_DEFINES_FILEが何だかそれっぽいので。。。。
3. TARGET_LIBINIT_DEFINES_FILEの定義を探索
$ find ./ -name '*.mk' | xargs grep 'TARGET_LIBINIT_DEFINES_FILE' -lrns
./device/qcom/common/init/Android.mk
./device/samsung/hlte/BoardConfig.mk
ま、一つ目は先程出てきたものなので、ここでは無視して2つ目は
下記はLineageOSのandroid_device_samsung_hlteリポジトリ中のものから一部抜粋すると,
TARGET_INIT_VENDOR_LIB := libinit_msm
TARGET_LIBINIT_DEFINES_FILE := device/samsung/hlte/init/init_hlte.c
cm-14.1の場合
1. "system/core/init"を指定しているMakeファイルの探索
下記のコマンドで探索する
$ find ./ -name '*.mk' | xargs grep 'LOCAL_C_INCLUDES := system/core/init' -lrns
./device/samsung/msm8974-common/init/Android.mk
2. 見つかったAndroid.mkの中身の確認。
下記はLineageOSのandroid_device_samsung_msm8974-commonリポジトリ中のものから一部抜粋すると,
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := system/core/init
LOCAL_CFLAGS := -Wall -DANDROID_TARGET=\"$(TARGET_BOARD_PLATFORM)\"
LOCAL_SRC_FILES := init_msm8974.cpp
ifneq ($(TARGET_LIBINIT_MSM8974_DEFINES_FILE),)
LOCAL_SRC_FILES += ../../../../$(TARGET_LIBINIT_MSM8974_DEFINES_FILE)
endif
LOCAL_MODULE := libinit_msm8974
差分は簡単なので以下説明を省略。