在Android.mk编译脚本中使用shell bash命令


在Android的编译脚本中有很多示例,比如在 build/core/main.mk 文件中:

ifeq ($(BUILD_OS),linux)

build_arch := $(shell uname -m)

ifneq (64,$(findstring 64,$(build_arch)))

$(warning ************************************************************)

$(warning You are attempting to build on a 32-bit system.)

$(warning Only 64-bit build environments are supported beyond froyo/2.2.)

$(warning ************************************************************)

$(error stop)

endif

endif


ifneq ($(HOST_OS),windows)

ifneq ($(HOST_OS)-$(HOST_ARCH),darwin-ppc)

# check for a case sensitive file system

ifneq (a,$(shell mkdir -p $(OUT_DIR) ; \

                echo a > $(OUT_DIR)/casecheck.txt; \

                    echo B > $(OUT_DIR)/CaseCheck.txt; \

                cat $(OUT_DIR)/casecheck.txt))

$(warning ************************************************************)

$(warning You are building on a case-insensitive filesystem.)

$(warning Please move your source tree to a case-sensitive filesystem.)

$(warning ************************************************************)

$(error Case-insensitive filesystems not supported)

endif

endif

endif

相关内容