Automake - Automake
Desenvolvedor (s) | Projeto GNU |
---|---|
lançamento inicial | 28 de maio de 1996 |
Versão estável | 1.16.4 / 26 de julho de 2021
|
Repositório | |
Sistema operacional | Plataforma cruzada |
Modelo | Ferramenta de programação |
Licença | GNU General Public License |
Local na rede Internet |
www |
No desenvolvimento de software , GNU Automake é uma ferramenta de programação para automatizar partes do processo de compilação. Facilita os problemas usuais de compilação. Por exemplo, ele aponta para as dependências necessárias.
Ele gera automaticamente um ou mais Makefile.in a partir de arquivos chamados Makefile.am . Cada Makefile.am contém, entre outras coisas, definições de variáveis úteis para o software compilado, como sinalizadores de compilador e vinculador , dependências e suas versões, etc. Os " Makefile.in " s gerados são portáteis e compatíveis com as convenções Makefile no GNU Coding Standards , e podem ser usados por scripts de configuração para gerar um Makefile funcional .
A Free Software Foundation mantémautomakecomo um dos programas GNU e como parte do sistema de construção GNU . É usado para construir vários aplicativos e bibliotecas GNU, como GTK , bem como software não GNU, como XCircuit .
Processo
O Automake visa permitir que o programador escreva um makefile em uma linguagem de nível superior, ao invés de ter que escrever o makefile inteiro manualmente. Em casos simples, basta dar:
- Uma linha que declara o nome do programa a ser construído
- Uma lista de arquivos de origem
- Uma lista de opções de linha de comando a serem passadas para o compilador (por exemplo, em que arquivos de cabeçalho de diretórios serão encontrados)
- Uma lista de opções de linha de comando a serem passadas ao vinculador (de quais bibliotecas o programa precisa e em quais diretórios elas podem ser encontradas)
O Automake também se encarrega de gerar automaticamente as informações de dependência , de forma que quando um arquivo de origem for modificado, a próxima chamada do comando make saberá quais arquivos de origem precisam ser recompilados. Se o compilador permitir, o Automake tenta tornar o sistema de dependências dinâmico: sempre que um arquivo fonte é compilado, as dependências desse arquivo são atualizadas pedindo ao compilador para gerar novamente a lista de dependências do arquivo. Em outras palavras, o rastreamento de dependência é um efeito colateral do processo de compilação.
Isso tenta evitar o problema com alguns sistemas de dependência estática, onde as dependências são detectadas apenas uma vez quando o programador começa a trabalhar no projeto.
Projeto
Automake é escrito em Perl e deve ser usado com GNU Autoconf . O Automake contém os seguintes comandos:
- local
- automake
aclocal , entretanto, é um programa de propósito geral que pode ser útil para usuários do autoconf. O GNU Compiler Collection (GCC), por exemplo, usa aclocal embora seu makefile está escrito mão.
Como o Autoconf, o Automake não é totalmente compatível com versões anteriores . Por exemplo, um projeto criado com o automake 1.13 não funcionará necessariamente com o automake 1.14.
Veja também
Referências
Fontes
- Vaughan, Gary V .; Elliston, Ben; Tromey, Tom (2000). GNU Autoconf, Automake e Libtool . Sams. ISBN 1-57870-190-2.