go - 构建Android时在golang中读取Makefile变量

标签 go makefile android-source

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/

相关文章:

go - 不内联简单函数

sqlite - 嵌入式键值数据库与每个键只存储一个文件?

android - 从 HAL 到应用框架层的 AOSP NFC 设备调用流程

用于使用 UpdateEngine (SystemApi) 的 Android.mk 文件

android - 使用 Android Studio 3.1 开发 AOSP 无法为插桩测试构建测试 apk

linux - 执行并发 os/exec.Command.Wait() 时发生内存泄漏

go - 迭代golang无缓冲 channel 时输出困惑

c++ - 将外部文件添加到 makefile

makefile - 从makefile中获取makefile的名称

makefile - GNU 制作 : Ensure existence of prerequisite and disable implicit rule search