Android.mk中调用shell命令

来源:互联网 发布:循环冗余检查算法 编辑:程序博客网 时间:2024/04/30 18:32

  这几天,在写Android.mk时,有时总想打印一些变量什么的,echo不能用,就上网找办法。

  最后找了这么一篇文章挺好的。

  原文地址:http://blog.csdn.net/michaelpp/article/details/6249989


在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


  这样,想打印什么变量,或者调用什么别的命令应该是都可以的了。