voilà mon soucis: j'utilise makefile et gcc pour la compilation de mon projet:
voici l'arborescence du projet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
proj
 \ bin
 \ obj
 \ src
    \base
    \fem
        \base
    \math
... etc ...
tous les fichier cpp et .h son dans les répertoires src/*
je veux que tous les .o généré aillent dans le répertoire obj (sans arborescence dans ce répertoire là)
src/base/toto.cpp -> obj/toto.o
src/fem/base/titi.cpp -> obj/titi.o
j'utilise un makefile unique se trouvant dans la racine du projet...

l'idée étant de ne pas spécifier explicitement tous les finchiers donc j'ai utiliser:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SRC = $(sort $(wildcard $(SRCDIR)*.cpp $(SRCDIR)*/*.cpp $(SRCDIR)*/*/*.cpp $(SRCDIR)*/*/*/*.cpp))
pour avoir la liste des fichiers sources (c'est pas beau d'ailleur si qqun a mieux, je prends)
j'arrive à avoir la liste des .o correspondant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
OBJ = $(patsubst %.cpp,$(OBJDIR)%.o,$(notdir $(SRC)))
maintenant, problème... comment c'ezst t'y qu'on dois faire pour relier les deux tableaux
j'aurai bien fait un truc style
""" for i=1..nFichier, gcc -o $OBJ(i) $SRC(i) (si 'besoin') """
mais je sais pas comment avec makefile
avec 'besoin'= une des dépendances modifiée...

j'avais presque trouvé avec un for src in $(SRC) mais ensuite on ne peut rien faire avec $$src: pas ce modifications de chaines... c nul!!!

enfin bref, cela m'a tout de même permis d'écrasser tous les contenus de mes fichiers .cpp .... je pensais activé svn après ça, j'aurais du le faire avant!!!