No último artigo aprendemos como configurar Geany para compilar as nossas aplicações Vala. Agora vamos ver como podemos criar um makefile para a construção de todo o projeto.
O comando [Valac "% f"] que nós atribuímos ao botão "Gerar" no artigo anterior só funciona no arquivo atual que está aberto no editor. Isso é suficiente se o projeto tiver um único arquivo fonte ".vala". No entanto, a maioria dos projetos geralmente consistem de vários arquivos de origem e precisamos de uma forma de compilar e vincular todos os arquivos para gerar o executável final.
Este é o lugar onde o "makefiles" entra em cena. "Make" é um utilitário Unix clássico que é usado para a construção de arquivos executáveis a partir do código fonte. Ele lê instruções de um makefile que contém comandos para a construção e instalação do projeto.
A execução do comando "make" do diretório do projeto irá construir o projeto usando os comandos no "makefile". Ele também pode ser usado para instalar e desinstalar o arquivo executável (e arquivos relacionados).
Criando um makefile;
Vamos criar um makefile para o nosso projeto. Vamos usar o mesmo exemplo que usamos no artigo anterior.
Adicione um novo arquivo de texto para o projeto e cole o seguinte texto:
all:
valac --pkg gtk+-3.0 *.vala -o app1
clean:
rm -rf *.o app1
install:
cp -f app1 /usr/bin
uninstall:
rm -f /usr/bin/app1
Guarde-o com o nome do arquivo "makefile" na pasta do projeto.
A seção "all" contém os comandos para a construção do projeto. Nós simplesmente vamos executar o compilador Valac para elaboração do arquivo .vala
A seção "install" contém comandos para instalar o aplicativo. Vamos usar o comando "cp" para instalar o arquivo executável para o sistema pasta "/usr/bin". Arquivos colocados nessa pasta estão disponíveis para todos os usuários e podem ser executados a partir de qualquer diretório, digitando o nome do executável em uma janela de terminal.
A seção "uninstall" contém comandos para desinstalar o aplicativo. Vamos usar o comando "rm" para remover o arquivo executável no diretório "/usr/bin".
Teste o makefile no Terminal;
Abra uma janela de terminal (CTRL + ALT + T) e "cd" para a pasta do projeto.
Execute "makefile" do diretório do projeto para a construção do projeto.
Isto irá compilar os arquivos de ".Vala" Para criar o arquivo executável "app1" no diretório do projeto.
Execute o comando "sudo make install" para instalar o aplicativo
Isto irá instalar o "app1" executável em seu sistema. Qualquer usuário em seu sistema pode agora executar o "app1" aplicativo digitando "app1" em uma janela de terminal.
Execute o comando "sudo make uninstall" para desinstalar o aplicativo
Isto irá remover o "app1" executável do seu sistema.
Nota: Para a instalação e desinstalação, copiar ou remover arquivos do sistema de diretório "/usr/bin", precisamos executar "make install" e "make uninstall" usando "sudo"
Usando makefile com Geany;
Altere o comando de compilação:
valac --pkg gtk+-3.0 "%f"
Para;
make all
Clique no botão "Gerar" na barra de ferramentas do "IDE" agora vai construir todo o seu projeto.