BUILD_SYSTEM=$(TOPDIR)build/core 定义构建目录
.PHONY:droid
DEFAULT_GOAL:=droid
$(DEFAULT_GOAL): 将droid定义为总目标
include $(BUILD_SYSTEM)/config.mk 包含配置文件目录
-include $(OUT_DIR)/versions_checked.mk 包含版本检查文件,忽略此操作的错误
ifneq($(HOST_OS),windos) HOST_OS和HOST_ARCH已经在envsetup.sh&lunch命令中定义)
ifneq($(HOST_OS)-$(HOST_ARCH),darwin-ppc) OUT_DIR已经在envsetup.mk中定义,config.mk包含envsetup.mk
ifneq(a,$(shell mkdir -p $(OUT_DIR) ;/ 创建编译安装目录
echo a > $(OUT_DIR)/casecheck.txt;/
echo B > $(OUT_DIR)/CaseCheck.txt;/
cat $(OUT_DIR)/casecheck.txt)) 检查文件系统稳定性
......
endif
endif
endif
ifneq($(words $(shell pwd) , 1) 检查当前路径中是否含有空格,不允许有空格
....
endif
ifneq($(HOST_OS), windows)
java_version := $(shell java -version 2>&1 | head -n 1 grep '["]1/.5[/."$$]') 获得java版本号
ifeq($(strip $(java_version)),)
.....
endif
javac_version := $(shell javac -version 2>&1 | head -n 1 grep '["]1/.5[/."$$]') 获得javac版本号
ifeq($(strip $(javac_version)),)
.....
endif
endif #windows
$(shell echo 'VERSIONS_CHECKED := $(VERSION_CHECK_SEQUENCE_NUMBER)' /
>$(OUT_DIR)/versions_checked.mk)
endif
include $(BUILD_SYSTEM)/definitions.mk 包含definitions.mk文件
ifneq($(filter eng user userdebug tests, $(MAKECMDGOALS)),) build-local.mk中定义了MAKECMDGOALS
.....
endif
ifneq($(filter-out $(INTERNAL_VALID_VARIANTS), $(TARGET_BUILD_VARIANT)))
....
endif