question sur l'utilisation des autotools [GNU] - Divers - Programmation
Marsh Posté le 26-11-2004 à 16:05:30
Il semblerait que les chemins en dur soient la solution, mais pas comme je le disais dans les #include direct, mais dans les flags -I; dans "Learning the GNU development tools", chapitre "Using automake ans Autoconf", un exemple de construction de tests est donné et il est précisé :
"Because the libraries have not been installed yet we specify them with their full path. This will allow Automake to track dependencies correctly; if `libblas1.a' is modified, it will cause the test suite to be rebuilt. Also the variable `INCLUDES' is globally assigned to make the header files of the other two libraries accessible to the source code in this directory. "
Ceci est peut-être apllicable à mon projet ?
Marsh Posté le 26-11-2004 à 16:20:57
ReplyMarsh Posté le 26-11-2004 à 16:40:03
j'ai une arborescence comme ça :
|
Dans les makefile.am des module1, module2, etc. il faudrait que je mette à chaque fois noinst_HEADERS= les fichiers .h de module utilitaire, c'est bien ça ? Ça me semble étrange, il me semblait que noinst_HEADER servait pour empêcher l'installation de fichiers d'en-tête "privés" ?
Marsh Posté le 26-11-2004 à 16:45:33
Taz a écrit : et c'est pas ce que tu veux ? c'est quoi ton problème ? |
Ben y a pas moyen de faire plus direct avec un flag d'include ? Parce que imaginons que j'ajoute une classe à mon module utilitaire, je vais devoir éditer tous les Makefiles des autres modules pour pouvoir l'utiliser...
Marsh Posté le 26-11-2004 à 16:50:06
J'arrive pas à être plus clair dans mon explication, donc... arrêtons pour le moment ce dialogue de sourds
Si quelqu'un d'autre arrive à me comprendre, tant mieux, sinon tant pis.
Merci tout de même d'avoir tenté de m'aider
Marsh Posté le 26-11-2004 à 15:52:30
bonjour,
je suis en train de "autoconfiscater" mon projet (i.e lui appliquer à posteriori autoconf & automake), afin d'avoir une version de distribution propre.
Je souhaiterais donc que mon projet s'installe en 3 commandes (ou pas beaucoup plus) :
./configure
make
make install
Il se trouve que j'ai un de mes modules qui est utilitaire, et les autres modules ont besoin de ses fichiers d'en-tête ".h". Le problème est que ce n'est que lors de la commande "make install" que les fichiers d'en-tête sont copiés dans le dossier "include" et les librairies dans "lib". Comment faire dans ce cas ? Je pense qu'il faut éviter les
avec des chemins en dur, nan ?