Complementando a postagem entitulada "Resolvendo dependências com o auto-apt", os três passos básicos para a instalação de um programa a partir do código fonte são gerados através de ferramentas GNU, dentre as mais importantes estão autoconf, automake e libtool.
Estas ferramentas possuem arquivos próprios de entrada que muitas vezes não são distribuídos pelos pacotes de software: configure.ac e Makefile.am.
O arquivo configure.ac possui instruções de macros (M4) definidas pelo usuário, permitindo que o autoconf ao ser chamado crie um arquivo de saída, com instruções em shell script, denominado configure.
Este arquivo, por sua vez, fará verificações de bibliotecas, cabeçalhos e qualquer outra particularidade que o usuário definiu para personalizar o processo de compilação do software. A entrega (saída) do configure é gerar os arquivos necessários para compilação de acordo com os parâmetros enviados a ele, em especial, os Makefiles.
A ferramenta automake, não menos importante, é responsável por ler o Makefile.am e criar uma saída denominada Makefile.in. Esta saída, por sua vez, será utilizada pelo configure para criar os Makefiles (invocados pelo comando make e make install).
Para quem desejar aprofundar-se no assunto, exportando os códigos criados para fazer uso destas ferramentas de desenvolvimento, chamadas GNU Build System, existem ótimas referências:
[1] http://www.gnu.org/software/autoconf;
[2] http://www.gnu.org/software/automake;
[3] http://sourceware.org/autobook/;
Vale lembrar que é difícil visualizar a necessidade destas ferramentas em projetos pequenos, que possuem poucos arquivos e trabalham somente sob um único sistema operacional. Entretanto, gerenciar vários fontes, portáveis a diversos sistemas operacionais, torna-se inviável sem o suporte fornecido pelas mesmas.
Para finalizar, quem quiser pular as etapas e fazer algo mais simples, escrevendo um Makefile diretamente, eis um exemplo para o programa Hello world, mostrado na postagem "Compilando e executando programas em C no linux":
Basta salvar com o nome Makefile e digitar make que o código será compilado. Ao digitar make clean o mesmo é removido. Até!
- Cassio
Estas ferramentas possuem arquivos próprios de entrada que muitas vezes não são distribuídos pelos pacotes de software: configure.ac e Makefile.am.
O arquivo configure.ac possui instruções de macros (M4) definidas pelo usuário, permitindo que o autoconf ao ser chamado crie um arquivo de saída, com instruções em shell script, denominado configure.
Este arquivo, por sua vez, fará verificações de bibliotecas, cabeçalhos e qualquer outra particularidade que o usuário definiu para personalizar o processo de compilação do software. A entrega (saída) do configure é gerar os arquivos necessários para compilação de acordo com os parâmetros enviados a ele, em especial, os Makefiles.
A ferramenta automake, não menos importante, é responsável por ler o Makefile.am e criar uma saída denominada Makefile.in. Esta saída, por sua vez, será utilizada pelo configure para criar os Makefiles (invocados pelo comando make e make install).
Para quem desejar aprofundar-se no assunto, exportando os códigos criados para fazer uso destas ferramentas de desenvolvimento, chamadas GNU Build System, existem ótimas referências:
[1] http://www.gnu.org/software/autoconf;
[2] http://www.gnu.org/software/automake;
[3] http://sourceware.org/autobook/;
Vale lembrar que é difícil visualizar a necessidade destas ferramentas em projetos pequenos, que possuem poucos arquivos e trabalham somente sob um único sistema operacional. Entretanto, gerenciar vários fontes, portáveis a diversos sistemas operacionais, torna-se inviável sem o suporte fornecido pelas mesmas.
Para finalizar, quem quiser pular as etapas e fazer algo mais simples, escrevendo um Makefile diretamente, eis um exemplo para o programa Hello world, mostrado na postagem "Compilando e executando programas em C no linux":
CFLAGS = -Wall -O3
LDFLAGS =
install: hello
hello: hello.c
clean:
rm -f *.o
rm -f hello
Basta salvar com o nome Makefile e digitar make que o código será compilado. Ao digitar make clean o mesmo é removido. Até!
- Cassio
0 comentários:
Postar um comentário