在Android的makefile中有许多双竖线的用法,比如如下:
_vendor_path_placeholder := ||VENDOR-PATH-PH||
TARGET_COPY_OUT_VENDOR := $(_vendor_path_placeholder)
在shell中我们知道||表示或的关系,那么两边||双竖线是表示什么意思呢? 自己写了个例子
~/test/makefile$ cat Makefile
_vendor := ||VENDOR||
_ph := ||VENDOR-PATH||
_vendor_path_placeholder := ||VENDOR-PATH-PH||
all:
@echo $_vendor
@echo $_ph
@echo $_vendor_path_placeholder
~/test/makefile$ make
/usr/bin/makevendor
/usr/bin/makeph
/usr/bin/makevendor_path_placeholder
原来就是连接变量和/usr/bin/make的字符串,这样可以在定义变量时定义成一个没有实际意义的字符串,避免空定义,同时也可以进行判断,为后面的赋值准备。
网友评论