Msm 高通平台配置记录之一
device/qcom/msm8625/BoardConfig.mk
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
TARGET_ARCH_VARIANT := armv7-a-neon
TARGET_BOARD_PLATFORM := msm7627a
TARGET_BOOTLOADER_BOARD_NAME := 7x27
TARGET_CPU_SMP := true
TARGET_AVOID_DRAW_TEXTURE_EXTENSION := true
TARGET_USES_16BPPSURFACE_FOR_OPAQUE := true
Board部分配置如上:
vendor/qcom/proprietary/common/config/device-vendor.mk
include device/qcom/$(TARGET_PRODUCT)/BoardConfig.mk
ifeq ($(call is-board-platform,msm8660),true) 这里判断当前平台是否是msm8660.
PREBUILT_BOARD_PLATFORM_DIR := msm8660_surf
else ifeq ($(TARGET_PRODUCT),msm8625)
PREBUILT_BOARD_PLATFORM_DIR := msm8625
else
#PREBUILT_BOARD_PLATFORM_DIR := $(TARGET_BOARD_PLATFORM)
PREBUILT_BOARD_PLATFORM_DIR := msm8625
endif
84 # $(call is-board-platform,bp)
85 # returns true or empty
86 define is-board-platform
87 $(call match-word,$(1),$(TARGET_BOARD_PLATFORM))
88 endef
89
90 # $(call is-not-board-platform,bp)
91 # returns true or empty
92 define is-not-board-platform
93 $(if $(call match-word,$(1),$(TARGET_BOARD_PLATFORM)),,true)
94 endef
95
96 # $(call is-board-platform-in-list,bpl)
97 # returns true or empty
98 define is-board-platform-in-list
99 $(call match-word-in-list,$(TARGET_BOARD_PLATFORM),$(1))
匹配当前的TARGET_BOARD_PLATFORM ,也就是msm7627a 是否在定义的列表里面. 这个就是关键用法.
100 endef
101
102 # $(call is-vendor-board-platform,vendor)
103 # returns true or empty
104 define is-vendor-board-platform
105 $(strip \
106 $(call match-word-in-list,$(TARGET_BOARD_PLATFORM),\
107 $(call get-vendor-board-platforms,$(1)) \
108 ) \
109 )
110 endef
vim device/qcom/common/utils.mk
# vars for use by utils 2 empty := 3 space := $(empty) $(empty) 4 colon := $(empty):$(empty) 5 underscore := $(empty)_$(empty) 6 7 # $(call match-word,w1,w2) 8 # checks if w1 == w2 9 # How it works 10 # if (w1-w2 not empty or w2-w1 not empty) then not_match else match 11 # 12 # returns true or empty 13 #$(warning :$(1): :$(2): :$(subst $(1),,$(2)):) \ 14 #$(warning :$(2): :$(1): :$(subst $(2),,$(1)):) \ 15 # 16 define match-word 17 $(strip \ 18 $(if $(or $(subst $(1),$(empty),$(2)),$(subst $(2),$(empty),$(1))),,true) \ 19 ) 20 endef 1 # vars for use by utils 2 empty := 3 space := $(empty) $(empty) 4 colon := $(empty):$(empty) 5 underscore := $(empty)_$(empty) 6 7 # $(call match-word,w1,w2) 8 # checks if w1 == w2 9 # How it works 10 # if (w1-w2 not empty or w2-w1 not empty) then not_match else match 11 # 12 # returns true or empty 13 #$(warning :$(1): :$(2): :$(subst $(1),,$(2)):) \ 14 #$(warning :$(2): :$(1): :$(subst $(2),,$(1)):) \ 15 # 16 define match-word 17 $(strip \ 18 $(if $(or $(subst $(1),$(empty),$(2)),$(subst $(2),$(empty),$(1))),,true) \