Journal automake et multi-répertoires

Posté par  (site web personnel) .
Étiquettes : aucune
0
16
nov.
2003
Cher journal,

Il ne m'étonnerait pas que parmi tes fidèles lecteurs (et lectrices) tu comptes quelques experts d'autoconf/automake. C'est pourquoi je t'écris.

Voici mon problème :

Je cherche à utiliser autoconf/automake pour construire un projet dont les fichiers sources sont répartis dans plusieurs répertoires (un par module).

Il y a bien sûr la solution de créer des bibliothèques .a intermédiaires, mais cette solution ne me convient pas car elle produit des erreurs à la liaison (le lieur a "du mal" à se rendre compte quels sont les symboles utilisés, etc... bref, ça ne fonctionne pas).

J'utilise alors cette solution :

bin_PROGRAMS=mon_prog
mon_prog_SOURCES= \
module1/fich1.cpp \
module1/fich2.cpp \
\
module2/fich1.cpp \
module2/fich2.cpp \
module2/fich3.cpp \

Manque de bol, deux modules différents peuvent avoir des fichiers de même nom dans leur répertoire respectif et lors du passage d'automake, j'obtiens l'erreur suivante (évidemment) :

src/Makefile.am: object `fich1.$(OBJEXT)' created by `module1/fich1.cpp' and `module2/fich1.cpp'
src/Makefile.am: object `fich2.$(OBJEXT)' created by `module1/fich2.cpp' and `module2/fich2.cpp'
...

Quelqu'un aurait-il une solution pour résoudre mon problème, sachant que je ne souhaite pas renommer mes fichiers ?

Comment se fait-il qu'automake crée les .o dans un même répertoire alors que les fichiers sources sont dans des répertoires différents ? Y'a-t-il moyen de spécifier le répertoire des fichiers .o ?

J'ai pourtant lu et relu la doc mais je ne parviens pas à trouver de solution.

Merci d'avance.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.