公司编译项目的命令为:
make -j8 PROJECT_NAME=*** SUB_PROJECT_NAME=**** BUILD_MYOS=yes
比原始的编译方法多了几个后面的参数,那我们就分析一下这几个参数是怎么来的吧。
#BUILD_MYOS
./build/core/main.mk
#如果BUILD_MYOS为yes,我们执行****
ifeq ($(strip $(BUILD_MYOS)),yes)
****
endif
#如果BUILD_MYOS为no,我们执行****
ifeq ($(strip $(BUILD_MYOS)),no)
*****
endif
#SUB_PROJECT_NAME
Android.mk文件
#如果SUB_PROJECT_NAME不为空,则包含此路径的Android.mk
ifneq ($(strip $(SUB_PROJECT_NAME)),)
include $(LOCAL_PATH)/$(SUB_PROJECT_NAME)/Android.mk
endif
*.mk文件
#取SUB_PROJECT_NAME的值
LOCAL_PATH := vendor/$(TARGET_PRODUCT)/$(PROJECT_NAME)/SUB_PROJECTS/$(SUB_PROJECT_NAME)
#取SUB_PROJECT_NAME的值
PRODUCT_PROPERTY_OVERRIDES += ro.tinno.operator=$(SUB_PROJECT_NAME)
#如果SUB_PROJECT_NAME为空,则**,如果SUB_PROJECT_NAME不为空,则**
ifeq ($(strip $(SUB_PROJEC