有一天我突发奇想,也是实在没办法,不知道人家编译的时候干了什么。就像把人家用的某个变量打出来,而且我又不知道人家变量叫啥。悲剧!
我就干脆在网上找,有没有办法。 果然被我找到一个。下面这两个
第一个打印出用户定义的变量。第二个是什么都打出来。
其实主要是用了 .VARIABLES 变量 和 origin 函数。
.PHONY: printvars
printvars:
@$(foreach V,/
$(sort $(.VARIABLES)), /
$(if $(filter-out environment% default automatic, $(origin $V)),/
$(warning $V=$($V) ($(value $V)))/
) /
)/
$(if "", echo ddd)
printvars1:
# echo $(.VARIABLES)
@$(foreach V,/
$(sort $(.VARIABLES)), $(warning $V=$($V) ($(value $V)) $(origin $V)) /
)