Чтение переменных Makefile в golang при сборке Android - PullRequest
1 голос
/ 02 марта 2020

В device/vendor/rules.mk у нас есть пары флагов. Например:

INCLUDE_VENDOR_PACKAGES:=true

Я пишу пакет go, чтобы выполнить некоторую условную операцию на основе указанного выше флага. Я пробовал несколько способов получить значение этого флага, например, через

API пакета *1003* и через оператор $, как мы это делаем в сценарии оболочки. Но ничего из этого не сработало.

В любом случае можно ли извлечь флаг из Makefile во время сборки в go пакетах? *1011*

1 Ответ

0 голосов
/ 02 марта 2020

Сделать переменные внутренними по отношению к make. * Они не (напрямую) подвержены рецептам, работающим в правилах (или командам, запускаемым реализациями функций GNU). Необходимо явно указать передачу этих значений командам, которые запускаются make, обычно либо путем явного помещения требуемых значений в среды отдельных команд, либо путем передачи их в качестве аргументов командной строки этим командам.


* Однако одно место, где make получает значения переменных, это переменные среды с одноименными именами, которые также будут доступны при некоторых обстоятельствах командам, которые make выполняется по очереди.

...