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)$@ Je n'ai jamais utilisé les wilcards auparavant. Va falloir que je creuse. > 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
signature.asc
Description: OpenPGP digital signature