Linux slogan
Visite também: BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Remote Desktop
Por Estival
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Comando MAKE
Linux user
upc0d3
08/10/2007
Andei pesquisando informações sobre o famoso comando MAKE, mas vi que aqui no VOL não tinha nenhum artigo sobre este assunto. Então pretendo com este artigo explicar algumas coisas sobre este.
[ Hits: 31555 ]
Conceito: 9.5   4 voto(s)4 voto(s)4 voto(s)4 voto(s)4 voto(s) + quero dar nota ao artigo

Introdução

Para você que é um programador novato, já deve ter se deparado com o seguinte problema, precisar compilar vários arquivos, mas é chato ter que compilar um a um né? Bom, o comando make serve para isso, você pode compilar vários arquivos somente usando uma simples chamada a este comando, exemplo:

$ make

Assim, simples. Aí surge a pergunta, mas como diabos isso funciona, eu tentei e não consegui.

Bem isto é que irei explicar neste artigo.

O arquivo Makefile

O comando make faz uma "leitura" de um arquivo chamado Makefile (do inglês, ARQUIVO MAKE). Você tem que incluir um arquivo deste tipo para poder usar o comando nos seus programas, acho que a melhor maneira de explicar é dando um exemplo não é? Então vamos ao exemplo:

<main.c>
/*irei fazer um simples programa em C para demostrar como funciona*/
#include<stdio.h>

int main(){
   int num1;
   printf("Este programa mostra a tabuada.\n");
   printf("Você quer saber a tabuada de que numero:\n");
   printf("#: ");
   scanf("%d",&num1);
   for(int i=0;i<11;i++){
      printf("RESULTADO: %d\n",i*num1);
   }//for
   getchar();
   return 0;
}//main

Beleza, um programa simples para mostrar a tabuada na tela.

Agora vamos fazer o arquivo Makefile:

#Você tem que salvar este arquivo com o nome de Makefile ou makefile
tabuada: main.o
            gcc -o tabuada main.o #aqui você é obrigado a dar um espaço de tabulação
main.o:main.c
            gcc -c main.c #irei explicar mais adiante

#agora é só salvar na mesma pasta do arquivo <main.c>

PRONTO!!! O que você precisa fazer agora é só dar o make na linha de comando.

$ make

Explicação

Ah, muito bonito, mas não entendi nada daquele Makefile! Calma, vou explicar:

tabuada: main.o

Esta linha diz que o "script" tabuada é formado a partir do main.o.

gcc -o tabuada main.o

Aqui falei que precisa dar um espaço de tabulação (um TAB), o porque disto é explicado em REGRAS DA SINTAXE, se você simplesmente der um espaço ele irá dizer que tem erro, com uma mensagem bem chatinha.

gcc -o tabuada main.o é sobre o compilador, mas quer dizer que é para "montar" o arquivo tabuada com o main.o.

main.o.main.c

Esta linha diz que é para "montar" o arquivo main.o a partir de main.c. Quando digo montar quer dizer que é uma dependência, ou seja, o arquivo main.o depende de main.c, mas acho que montar fica mais fácil o entendimento, pelo menos para mim. :)

Bom, vimos para que o comando make serve, espero que todos tenham entendido, se ficou algo meio confuso, por favor avise-me para eu melhorar no próximo artigo.

Meu e-mail é: andiroots@gmail.com

Obrigado a todos!

   




Páginas do artigo
   1. Introdução

Outros artigos deste autor

Leitura recomendada
Nenhum artigo encontrado.

Comentários
[1] Comentário enviado por kalib em 08/10/2007 - 13:30h:

Show de bola cara...
É uma informação útil para quem curte programação..e de nível essencial...
Bem explicado e comentado..
parabéns


[2] Comentário enviado por mrazec em 08/10/2007 - 13:41h:

Ótimo artigo, está ai uma coisa que facilita muito, no Slackware nós usamos muito o make.

Parabéns ai...

[]'s
Razec


[3] Comentário enviado por helvecio34 em 08/10/2007 - 16:27h:

Parabéns pelo artigo, o MAKE realmente ajuda muito na compilação.

A medida que o sistema fica mais complexo, com mais arquivos a serem compilados (e o tempo compilando aumenta), mais valioso o MAKE se tornar.

Ele trabalha analizando as datas dos arquivos com dependência. Um arquivo compilado com data mais nova do que o arquivo fonte indica que a compilação é desnecessária, economizando tempo.

Esse conceito é bastante abrangente, e tem utilidades em outras áreas além da área de desenvolvimento.

Abraços a todos.
Helvécio


[4] Comentário enviado por removido em 08/10/2007 - 21:55h:

:


[5] Comentário enviado por saymon em 08/10/2007 - 23:06h:

interessante...


[6] Comentário enviado por f_Candido em 08/10/2007 - 23:55h:

Simples. Direto. Muito Bom.
Parabéns.


[7] Comentário enviado por schjunior em 09/10/2007 - 03:54h:

Pra mim, deu erro na compilação com o 'make'.
Tem alguma dependencia para compilar programas escritos em C?


[8] Comentário enviado por roberto_espreto em 09/10/2007 - 10:51h:

Fala ae Anderson!
Como te disse pelo msn, bom artigo cara, ficou bem claro e coerente!
Abração!

®


[9] Comentário enviado por vitimnunes em 09/10/2007 - 16:18h:

pow cara...
valew msm...

uma dica facil de como usar o make pra qm tem o Qt Designer instalado...

dentro do seu diretório de fontes de o comando:

qmake -project

dae ele vai gerar um arquivo Makefile e um nomedodiretorio.pro

dae qdo vc usar $make ele vai compilar blz :p

o nome do executavel vai ser o nome do diretorio, c vc desejar mudar o nome do exe entre no arquivo nomedodiretorio.pro e na ultima linha digite
TARGET=nomedoexe

dae eh soh dar $make de novo e ele ja cria um novo exe com o nome que vc especificou =]

pra limpar os objetos gerados digite $make clean


abrass e parabéns!


[10] Comentário enviado por rodrigomflores em 09/10/2007 - 18:22h:

Realmente muito bom esse seu artigo. Acredito que vai quebrar o galho de muita gente.

Só uma coisa a acrescentar: Não precisa chamar necessariamente Makefile o arquivo do Make. Você pode dar qualquer nome. Mas se não chama-lo de Makefile e chama-lo de arquivo terá que dar o comando make -f arquivo ao invés de dar somente o comando make. Mas sinceramente, nunca vi alguém não usar o padrão :-)

Abraços



[11] Comentário enviado por f_Candido em 14/01/2008 - 23:46h:

Muito bom, agiliza bastante o trabalho.
Parabéns


[12] Comentário enviado por sambalak em 09/10/2008 - 18:31h:

Boa dica


[13] Comentário enviado por fabiano1749 em 22/09/2012 - 19:30h:

Muito útil para quem esta começando.
Obrigado.


[14] Comentário enviado por WallaceFelipe em 18/04/2014 - 12:47h:

Cara como eu faço para instalar o java utilizando o make ?



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.