在device/vendor/rules.mk
中,我们有几个标志。例如:
INCLUDE_VENDOR_PACKAGES:=true
我正在编写一个go程序包,以根据上述标志执行一些条件操作。我尝试了几种方法来获取该标志的值,例如通过Golang的os
程序包API和通过$
运算符,就像我们在Shell脚本中所做的那样。但是这些都不起作用。
反正在构建时使用Makefile
软件包从go
中获取标志吗?
使变量在make
内部。*不(直接)暴露于规则中运行的配方(或GNU函数实现所运行的命令)。您需要做出明确规定,将这些值提供给make
运行的命令,通常是通过将所需值显式放置到各个命令的环境中,或者将它们作为命令行参数传递给这些命令来进行。
*但是,make
获取变量值的一个地方是来自同名的环境变量,在某些情况下,make
依次运行的命令也可以使用。