Android.mk中調用shell命令

  這幾天,在寫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


  這樣,想打印什麼變量,或者調用什麼別的命令應該是都可以的了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章