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