Automatizando tarefas com Makefile


Proposta

Nesta abordagem do makefile, darei exemplos simples de demonstrar como podemos utilizar o Makefile em nosso dia a dia para tarefas simples, logo a baixo irei deixar links de referência para que possam seguir o aprendizado e se aprofundar no assunto.

Introdução

O Makefile é um arquivo que podemos utilizar para elaborar tarefas comuns como instalar e configurar uma lista de programas que comumente usamos em qualquer distribuição para que o ambiente esteja pronto após instalar uma nova distribuição, podemos predefinir parâmetros para compilação de programas realizadas no dia a dia sem que precisarmos memorizar e reescrever todos os parâmetros necessários ou até mesmo realizar checagem de status de programas do sistema, entre outras funcionalidades. A flexibilidade do makefile faz com que ele seja muito utilizado por desenvolvedores, profissionais e entusiastas do sistema operacional GNU Linux.

Prática

Inicialmente precisamos criar um arquivo com o nome Makefile no diretório onde você deseja utilizar, você pode utilizar o editor que desejar, nesta sessão irei utilizar o nano.

 $ cd ~/Documents && touch Makefile   

Após criar o arquivo, acesse o documento utilizando o comando $ nano Makefile e depois insira os o nome da chamada que deseja, neste caso escrevi install_snap para instalar a lista de programas que utilizo em distribuições com suporte a snap, assim como install_apt e install_dnf para outros pacotes conforme a distribuição. Escolhi os pacotes stable nos snap apenas por estar acostumado com os recursos dele, mas vocês devem montar a lista conforme a necessidade de vocês. A lista pode incluir wget para baixar um pacote como o Google Chrome e logo em seguida ter os comandos para a instalação desse pacote, pode conter os parâmetros para instalar o Spotify ou qualquer outro programa que desejar. Abaixo inseri a opção de remoção dos pacotes, utilizando o remove no snap e o puge nos pacotes instalados através do apt. Após o nome da chamada, é necessário inserir o caracter " : " e antes de cada linha é necessário utilizar o TAB para dar o espaço exato que o Makefile exige.
install_snap:
        snap install gimp --stable
        snap install node --stable
        snap install code --stable

install_apt:
        apt install nano
        apt install docker && apt install docker-compose

install_dnf:
        dnf install nano
        dnf install docker && dnf install docker_compose

Após salvar o documento, bastar acessar o diretório onde o arquivo se encontra e rodar o comando desejado, seja ele o sudo make install_snap, sudo make install_dnf ou qualquer outro que vocês tenham configurado e pront, você já tem um único arquivo para realizar o download e instalação de todos os programas que utiliza após instalar novamente ums distribuição linux, poupando todo o esforço de buscar cada um deles, seja snap, via apt ou em seus sites. É necessário executar o make como sudo para que o Makefile tenha permissão de executar as chamadas com sucesso, sem falha de permissão.

Espero ter ajudar, facilitando seu dia a dia de alguma forma. Caso tenha alguma sugestão, deixe nos comentários.

Material complementar

Comentários