Ajuda ao inserir arquivo no makefile [RESOLVIDO]

1. Ajuda ao inserir arquivo no makefile [RESOLVIDO]

joao pedro ache virgili
joaovirgili

(usa Ubuntu)

Enviado em 31/10/2016 - 12:22h

Bom dia, recebi um trabalho para ser feito que o professor mandou alguns arquivos como base e pediu o resto para ser implementado. Porém, não entendo muito bem de makefile e não sei como linkar meus arquivos juntos ao do professor. Aqui está: http://pastebin.com/a5FAS0VF
queria adicionar um .c e .h
muito obrigado


  


2. Re: Ajuda ao inserir arquivo no makefile [RESOLVIDO]

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 31/10/2016 - 12:59h

Você adicionar na linha 9

Digamos que você criou 2 arquivos chamados foo.c e foo.h, a linha 2 diz que vai gerar o objeto dele, mas só a linha 9 faz o link:

trabalho:  trabalho.o winGL.o foo.o 


Pegou a ideia?

--
Uilian Ries
Linux Counter: 521986


3. Re: Ajuda ao inserir arquivo no makefile [RESOLVIDO]

joao pedro ache virgili
joaovirgili

(usa Ubuntu)

Enviado em 31/10/2016 - 16:49h

uilianries escreveu:

Você adicionar na linha 9

Digamos que você criou 2 arquivos chamados foo.c e foo.h, a linha 2 diz que vai gerar o objeto dele, mas só a linha 9 faz o link:

trabalho:  trabalho.o winGL.o foo.o 


Pegou a ideia?

--
Uilian Ries
Linux Counter: 521986

Apenas isso??? eu colocando nessa linha o foo.o ele ja procura na pasta o arquivo foo.c e foo.h para gerar o foo.o?

muito obrigado!



4. Re: Ajuda ao inserir arquivo no makefile

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 31/10/2016 - 17:00h

Quase isso.

Vamos observar o Makefile novamente:


1 .c.o: $*.h
2 gcc -c $*.c
3
4 .cpp.o: $*.h
5 g++ -Wall -Wno-deprecated -c $*.cpp
6
7 all: trabalho
8
9 trabalho: trabalho.o winGL.o
10 gcc -o $@ $^ -lGL -lGLU -lglut
11
12 clean:
13 rm *.o *.*~ *~ trabalho


A linha 2 busca arquivos com a extensão .c e gera arquivos objeto com a extensão, mas não faz o link, porque passou -c para o GCC
Na linha 10 é foi o link dos objeto a partir da lista de arquivos da linha 9

Então basta acrescentar o nome do objeto que será gerado, na linha 9, para ele ser ligado no programa, como isto:


1 .c.o: $*.h
2 gcc -c $*.c
3
4 .cpp.o: $*.h
5 g++ -Wall -Wno-deprecated -c $*.cpp
6
7 all: trabalho
8
9 trabalho: trabalho.o winGL.o foo.o
10 gcc -o $@ $^ -lGL -lGLU -lglut
11
12 clean:
13 rm *.o *.*~ *~ trabalho


--
Uilian Ries
Linux Counter: 521986


5. Re: Ajuda ao inserir arquivo no makefile [RESOLVIDO]

joao pedro ache virgili
joaovirgili

(usa Ubuntu)

Enviado em 31/10/2016 - 17:12h

funcionou! valeu!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts