Funções do Make

Não defina novas funções do Make na configuração do produto/placa por dois motivos:

  1. Se a função for usada posteriormente em um arquivo Android.mk, ela não vai mais ser definida quando a configuração do produto for convertida em Starlark. Talvez o arquivo Android.mk não funcione como esperado.
  2. O conversor do Makefile para Starlark analisa apenas um arquivo por vez e as definições de função geralmente ficam em arquivos diferentes do local em que são invocadas.

Embora uma função do Make seja uma variável que é avaliada usando a função $(call) integrada, o conversor do Make para Starlark vai presumir que qualquer variável definida com a palavra-chave define é uma definição de função e a rejeitar. Dessa forma, uma função seria semelhante a esta:

define my-func
  Some text, arg1: $(1)
enddef
$(call my-func,foo)

Fornecemos scripts para substituir automaticamente algumas funções comuns por aquelas definidas nos Makefiles do sistema de compilação principal. Eles podem ser encontrados em build/bazel/mk2rbc.