Le Fri, 26 Sep 2008 22:20:11 +0200
Franck Joncourt <[EMAIL PROTECTED]> a écrit:

> Gaëtan PERRIER wrote:
> > Le Fri, 26 Sep 2008 21:22:55 +0200
> > Franck Joncourt <[EMAIL PROTECTED]> a écrit:
> [...]
> > 
> > Merci pour ta réponse rapide mais ensuite tu fais comment pour le link? De
> > plus il faut recréer l'arbo source dans ./obj sinon ça ne fonctionne pas,
> > non?
> > 
> > Moi j'ai un truc du genre:
> > 
> > ./inc/*.h
> > ./src/*.c
> > ./*.c
> > ./Makefile
> > 
> > Je ne veux pas polluer ./inc et ./src
> > 
> > J'ai donc commencé avec un Makefile du genre:
> > 
> > CC=gcc
> > CFLAGS=-W -Wall -ggdb3
> > LDFLAGS=
> > EXEC=mon_prog
> > SRC= $(wildcard *.c)
> > SRC+=$(wildcard src/*.c)
> > OBJ= $(SRC:.c=.o)
> > INC_PATH=./itf/:./inc/
> > 
> > all: $(EXEC)
> > 
> > $(EXEC): $(OBJ)
> >     @$(CC) -o $@ $^ $(LDFLAGS)
> > 
> > %.o: %.c
> >     @C_INCLUDE_PATH=$(INC_PATH) $(CC) -o $@ -c $< $(CFLAGS)
> 
> Quelque chose du genre:
> 
> SRCPATH = ./
> OBJPATH = ./obj/
> 
> %.o: %.c
>   $(CC) $(CFLAGS) -c $(SRCPATH)$< -o $(OBJPATH)$@
> 
> mon_prog: ma liste_de _fichier_o
>   $(CC) $(LDFLAGS) $(OBJPATH)* -o $(HEXPATH)$@

Le problème c'est qu'il ne descend pas dans ./obj/src

> 
> Je n'ai jamais utilisé les wilcards auparavant. Va falloir que je creuse.

avec les wildcards je me retrouve par ex. avec OBJ=toto.o src/titi.o
et du coup quand on rajoute $(OBJPATH) ça ne s'applique que à toto.o et donc
il ne trouve pas titi.o

> 
> > Ce qui me crée des .o dans ./src/
> > Si je rajoute ce que tu m'indiques ça me crée bien les .o dans ./obj/
> > et ./obj/src (à condition que je crée cette arbo avant). Mais ensuite pour
> > le link ça ne marche pas. J'ai essayé de modifier en 
> > $(EXEC): $(OBJ)
> >     @$(CC) -o $(OBJ_PATH)$@ $^ $(LDFLAGS)
> > 
> > mais sans succès.
> 
> 
> -- 
> Franck Joncourt
> http://debian.org - http://smhteam.info/wiki/
> Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE
> 
> 

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à