Funções no Makefile

Sintaxe

  • Função sem parâmetro

    define [nome da função]
            # Código
    endef
  • Função com parâmetro

    • Para chamar um parâmetro: $([posição do parâmetro desejado])

      A contagem da posição dos parâmetros começa em 1

    define [nome da função]
            PARAMETRO1 = $(1)
            PARAMETRO2 = $(2)
            # Código
    endef
  • Chamar uma função

    $(call [nome da função], [parâmetro]...)

Exemplos

  • Função sem parâmetro

    • Arquivo Makefile

      define SAUDACAO
              @echo "Olá mundo!"
      endef
       
      all:
              $(call SAUDACAO)
  • Função com parâmetro

    • Arquivo Makefile

      define OLA
              @echo "Olá, $(1), $(2)"
      endef
       
      all:
              $(call SAUDACAO,"Gabriel",$(AMIGO)")
    • Comando: $ make AMIGO="Pedro"