[...] >>> Moi j'ai un truc du genre: >>> >>> ./inc/*.h >>> ./src/*.c >>> ./*.c >>> ./Makefile >>> >>> Je ne veux pas polluer ./inc et ./src J'ai créer des modules config, daemon, cmdline ... pour le programme principal fwknop (fwknopd). [code] $ find . . ./config ./config/config.h ./config/config.c ./daemon ./daemon/daemon.h ./daemon/daemon.c ./fwknop ./fwknop/fwknop.h ./fwknop/fwknop.c ./fwknop/stdtypes.h ./Makefile ./cmdline ./cmdline/cmdline.c ./cmdline/cmdline.h ./net ./net/net.h ./net/net.c $ make all rm -f *.o gcc -Wall -O0 -D__DEBUG -I daemon -I config -I net -I cmdline \ -I fwknop -c fwknop/fwknop.c -o fwknop.o gcc -Wall -O0 -D__DEBUG -I daemon -I config -I net -I cmdline \ -I fwknop -c config/config.c -o config.o gcc -Wall -O0 -D__DEBUG -I daemon -I config -I net -I cmdline \ -I fwknop -c daemon/daemon.c -o daemon.o gcc -Wall -O0 -D__DEBUG -I daemon -I config -I net -I cmdline \ -I fwknop -c net/net.c -o net.o gcc -Wall -O0 -D__DEBUG -I daemon -I config -I net -I cmdline \ -I fwknop -c cmdline/cmdline.c -o cmdline.o gcc fwknop.o config.o daemon.o net.o cmdline.o -o fwknopd [/code] Avec un Makefile comme ceci: Normalement je mets tous les headers dans le même répertoire mais je voulais essayer de cette façon. [quote=Makefile] CC = gcc CFLAGS = -Wall -O0 -D__DEBUG HEADERS = -I daemon -I config -I net -I cmdline -I fwknop PROGRAM = fwknopd vpath %.c cmdline:config:net:daemon:fwknop %.o: %.c $(CC) $(CFLAGS) $(HEADERS) -c $< -o $@ $(PROGRAM): fwknop.o config.o daemon.o net.o cmdline.o $(CC) $^ -o $@ clean: rm -f *.o clean_all: clean rm -f $(PROGRAM) all: clean $(PROGRAM) .PHONY: clean clean_all all [/quote] Donc à priori je dirais que la seule chose que tu as à changer ce sont les variables. J'espère que c'est le bon ce coup ci. Je n'ai pas créé de répertoire objets car je ne m'en sort avec mon Makefile autrement. Donc tous les .o arriveront à la racine où se trouve le Makefile. -- Franck Joncourt http://debian.org - http://smhteam.info/wiki/ Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE
Attachment:
signature.asc
Description: OpenPGP digital signature