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]

