ANDROID 编译makefile比较复杂,各种规则让人眼花缭乱,log文件只显示目标文件和输入文件,为了更好的研究具体的执行过程,在definitions.mk中的
ifeq ($(strip $(SHOW_COMMANDS)),)
define pretty
@echo $1
endef
hide := @
else
define pretty
endef
hide :=
endif
改成
ifeq ($(strip $(SHOW_COMMANDS)),aa)
define pretty
@echo $1
endef
hide := @
else
define pretty
endef
hide :=
endif
这样就把执行的命令打印出来了,如
target Prebuilt: (out/target/product/ginwave16_a10y/system/bin/bmgr)
out/host/linux-x86/bin/acp -fpt frameworks/base/cmds/am/am out/target/product/ginwave16_a10y/system/bin/am
红色就是显示出来正在执行的命令