Linux Portugal
  Login   -   Registar!   -   Password?
    Novo Mirror Português - CeSIUM  
  Documentação Recente   Últimas Perguntas   Ultimos Posts do Forum
  Emular rato pelo teclado numérico
  Forçar o desmonstar de um dispositivo com estado ocupado (busy)
  Fedora 10 - Instalar o source do Kernel
  Linux numa Pen Drive
  Kanguru Huawei e220 - OpenSUSE 10.2
  Terminal Linux no Windows
  Instalando o Oracle Express Edition 10.2 no Ubuntu Server
  instalar o KDE 4 sob MacOS X
  Bloquear o login aos utilizadores
  slackpkg
  Acertar data e hora
  Carregar o SmartArray (HP ml50 e afins na instalação do fedora)
hardware livre
Arranque
Video
Comunidade !
Ligação de camera por firewire
Usar Xubuntu/Mint numa Pen como se fosse o SLAX
Duvidas na resolução de um trabalho
Brasileiros podem participar do fórum?
Começando no Fórum
Qual a melhor distribuição para uma loja?
Instalação Linux
Instalação de pacotes não confiáveis
ASUS ROG TOURNAMENT - LEAGUE OF LENGENDS & CS: GO
Barbini - [2014-03-03 13:57:49 ]

MEO XLPARTY FIL 2013 - INSCRIÇÕES & TORNEIOS
Barbini - [2013-11-26 11:07:34 ]

O Worten Ultimate Challenge está de volta!
Barbini - [2013-10-30 12:06:30 ]

Olé, um game de drible e gol - jogue grátis
mattpaulo - [2013-07-21 22:54:37 ]

Worten Ultimate Challenge PES 2013 - GT5
Barbini - [2013-06-17 14:11:50 ]

MEO XLPARTY - EXPOCENTRO - POMBAL 2013
Barbini - [2013-06-14 17:16:08 ]

Simplicidade a armadilha do 80/20
mattpaulo - [2013-05-04 20:29:13 ]

Ligar e desligar o PC Remotamente
soneca - [2012-11-02 18:25:02 ]

Add to Google Reader or Homepage   Add to Pageflakes      Add to netvibes   Adicione o artigo ao del.icio.us
Documentação


Usar o automake e o autoconf para produzir pacotes de software
 
Normalmente quando escrevemos o Hello World fazemos da seguinte maneira:

#include < stdio.h >
main()
{
   printf("Ola mundo!\n");
}


e compilamos da seguinte maneira:

% gcc hello.c -o hello
% ./hello

Normalmente ate corre bem.

Mas, se es programador, muitas vezes, tens dificuldade em distribuir o código fonte para várias distros e ele permanecer OK.


É para que aconteça isso que serve este doc.

De seguida vou explicar como é que costumo fazer quando tenho esse problema, usando ferramentas da GNU.

Para comecar tem de ter no minimo o seguinte software instalado na vossa distro (tarballs ou rpms):

make-*.tar.gz
m4-*.tar.gz
texinfo-3.12b.tar.gz
tar-*.shar.gz

autoconf-*.tar.gz
automake-*.tar.gz
libtool-*.tar.gz
autotools-*.tar.gz


Supondo que tens o ficheiro hello.c numa pasta vazia, vamos agora criar o ficheiro Makefile.am, com o seguinte conteúdo nessa pasta.

bin_PROGRAMS = hello
hello_SOURCES = hello.c

2º Vamos agora criar o ficheiro configure.in, com o seguinte conteúdo.

AC_INIT(hello.c)
AM_INIT_AUTOMAKE(hello,0.1)
AC_PROG_CC
AC_PROG_INSTALL
AC_OUTPUT(Makefile)

De seguida temos de usar comandos das ferramentas GNU, para que sejam gerados scripts automaticos.

Executar os seguintes comandos na shell:
aclocal
autoconf
3º Como são necessários, por regra alguns ficheiros base temos de executar a sua criação mesmo vazios. touch NEWS README AUTHORS ChangeLog
4º Por fim e só executar automake -a

Agora temos ao nosso dispor os famosos comandos ./configure que analisa as necessidades do programa e as localizações de ficheiros.

Aqui vai um exemplo de como usar, instalar o programa

% ./configure
% make
% ./hello

se pretender-mos instalar para o SO.

% make install

se pretender-mos desinstalar

% make uninstall

Por último, para criar o pacote de código pronto a ser distribuido pelos teus amigos, faz:

make distcheck
Neste caso irá ser criado o ficheiro hello-1.0.tar.gz

Espero que tenham gostado. Isto é muito simples, mas serve para vocês colocarem os profs na univ. passados com os programas que eles vos mandam fazer :)

Portem-se


Escrito por: Luis RodriguesTestado em: FEDORA CORE( 1.0 )



Voltar atrás

Endereço de email:


Linux Portugal RSS




    Revista Espirito Livre
    Fedora Release
    Ubuntu Release
Desenvolvido pela equipa GNU/Linux Portugal (2005)
Ver código da página
Usar o automake e o autoconf para produzir pacotes de software - Linux Portugal