O programa.
O make é um programa como qualquer outro, normalmente instalado no GNU/Linux como um pacote independente. Sua função é muito simples. O make executa instruções contidas em um certo arquivo. Digitando apenas make no terminal, o comando busca pelo arquivo Makefile existente dentro do mesmo diretório onde foi executado. O arquivo com as instruções pode ser manualmente especificado com a opção -f. Nesse caso, ele pode estar em qualquer diretório e ter
qualquer nome.
O arquivo Makefile - Conceitos básicos.
Me permitam fazer o paralelo de associar a idéia de um Makefile, com um script para shell. Pois os dois possuem a mesma função prática.
O script executa instruções divididas de acordo com opções pré-estabelecidas no seu interior. O make executa instruções estabelecidas de acordo com cada uma dos blocos de instruções de um arquivo Makefile.
O Makefile, portanto, contém instruções em série de algo que deseja fazer. Exatamente da mesma forma que seria, caso estivesse escrevendo um script.
O Makefile é dividido em blocos de comandos. Cada bloco possui um nome, e esse nome tona-se um argumento para o comando make.
Veja um exemplo de bloco:
clean:O nome do bloco é "clean".
rm -vf *.backup
rm -vf *~
rm -vf *.o
As instruções são para utilizar o comando rm com as opções -vf (verbose e force).
Eles estão uma linha abaixo do nome e separado de pelo menos uma tabulação da primeira coluna da lina.
O uso do make.
Tradicionalmente, o uso básico do make consiste em algumas poucas opções:
- make
Digitando apenas make no terminal, o programa procura pelo Makefile e executa o primeiro dos blocos de comandos existentes dentro desse arquivo. - make -f ARQUIVO
Esse exemplo é igual ao anterior, mas o arquivo Makefile está em um lugar qualquer do disco, com um nome qualquer também... Não é um uso comum. - make dothat
Nesse exemplo, dothat representa o nome de uma das instâncias existentes dentro do arquivo Makefile.
No nosso simples exemplo, poderíamos escrever "make clean" e ele executaria as instruções daquele bloco naquele comando. Note que se "clean" for o primeiro bloco de comandos, digitar apenas "make" ou "make clean" produz o mesmo resutado.
Cara, fico ansiosamente no aguardo das proximas lições... eu sempre me prometo estudar a fundo o make (só uso o básico do básico do básico, as vezes sem entender o que tá ali), mas fico empurrando pra frente. Pela qualidade deste seu primeiro post, já deu pra ver que vai ser muito bom!
ReplyDeleteAbraços e obrigado!
Carlão